.rfoc{--rfoc-ink:#10231a;--rfoc-green:#20543d;--rfoc-line:#cad8ce;color:var(--rfoc-ink);font:inherit;max-width:1160px;margin:0 auto}.rfoc *{box-sizing:border-box}.rfoc [hidden]{display:none!important}.rfoc h2{font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.2;color:var(--rfoc-ink);margin:0 0 16px}.rfoc h3{font-size:1.2rem;color:var(--rfoc-ink);margin:20px 0 12px}.rfoc p{line-height:1.6}.rfoc-kicker{font-size:.9rem;font-weight:700;letter-spacing:.035em;color:var(--rfoc-green);margin:0 0 12px}.rfoc-choice{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;margin-bottom:28px}.rfoc-short{padding:22px;background:#eaf2eb;border-radius:12px}.rfoc a{color:#18462e;text-decoration:underline;text-underline-offset:3px}.rfoc-presets{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 28px}.rfoc-presets span{font-weight:700}.rfoc button{font:inherit;min-height:46px;border-radius:7px;cursor:pointer;line-height:1.4;padding:12px 18px;border:1px solid var(--rfoc-green);white-space:normal}.rfoc-presets button,.rfoc-secondary{background:#fff;color:#18462e}.rfoc .rfoc-presets button[aria-pressed=true]{background:var(--rfoc-green);color:#fff}.rfoc .rfoc-presets button .rfoc-preset-check{display:inline-block;width:1em;margin-inline-start:.4em;visibility:hidden}.rfoc .rfoc-presets button[aria-pressed=true] .rfoc-preset-check{visibility:visible}.rfoc button.rfoc-primary{background:#20543d;color:#fff}.rfoc button:disabled{cursor:default;opacity:.65}.rfoc button:hover{filter:brightness(.96)}.rfoc :is(button,a,input,select,summary):focus-visible,.rfoc-handoff :is(button,summary):focus-visible{outline:3px solid #c06316;outline-offset:3px}.rfoc-progress{display:flex;list-style:none;margin:0 0 28px;padding:0;border-bottom:1px solid var(--rfoc-line);gap:8px}.rfoc-progress li{flex:1;font-size:.9rem;padding:12px 4px;color:#47594c}.rfoc-progress li[aria-current]{border-bottom:3px solid var(--rfoc-green);font-weight:700;color:#10231a}.rfoc-progress span{display:inline-flex;width:24px;height:24px;border-radius:50%;justify-content:center;align-items:center;border:1px solid #a4b6aa;margin-right:3px}.rfoc-progress li[aria-current] span{background:#20543d;color:white}.rfoc fieldset{border:0;padding:0;margin:0;min-width:0}.rfoc legend{font-weight:700;font-size:1.5rem;line-height:1.3;margin-bottom:12px;padding:0;color:#10231a}.rfoc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rfoc-field label{display:block;font-weight:700;margin-bottom:8px}.rfoc input[type=number],.rfoc select,.rfoc textarea{font:inherit!important;width:100%;min-height:48px;padding:10px 12px;color:#10231a!important;background:#fff;border:1px solid #708775;border-radius:6px;box-shadow:none}.rfoc .nice-select{display:none!important}.rfoc select{display:block!important;opacity:1!important}.rfoc small{display:block;line-height:1.5;margin-top:7px;color:#485a4e}.rfoc-check{display:flex;align-items:flex-start;gap:12px;line-height:1.55;cursor:pointer;margin:16px 0}.rfoc-check input{flex:0 0 22px;min-width:22px;height:22px;margin:2px 0 0;accent-color:#20543d}.rfoc-check-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.rfoc-confirm{padding:18px;background:#eaf2eb;border-radius:8px;margin-top:24px}.rfoc-note{font-size:.92rem;color:#485a4e}.rfoc-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 16px}.rfoc-error-summary{border:2px solid #9a2c24;background:#fff5f2;padding:16px;margin-bottom:24px}.rfoc [aria-invalid=true]{border:2px solid #9a2c24}.rfoc .rfoc-field-error{color:#9a2c24;font-weight:700}.rfoc-result{padding:28px;background:#f4f7f3;border:1px solid var(--rfoc-line);border-radius:12px}.rfoc-result h2{font-size:clamp(1.8rem,4vw,2.8rem);overflow-wrap:anywhere}.rfoc summary{cursor:pointer;font-weight:700;padding:14px 0}.rfoc table,.rfoc-public-table{width:100%;border-collapse:collapse;color:#10231a;font:inherit}.rfoc caption,.rfoc-public-table caption{text-align:left;padding:10px 0;font-size:.95rem;color:#485a4e}.rfoc th,.rfoc td,.rfoc-public-table th,.rfoc-public-table td{padding:11px 10px;border-bottom:1px solid #cad8ce;vertical-align:top;line-height:1.5}.rfoc th,.rfoc-public-table th{text-align:left;font-weight:600}.rfoc td{text-align:right;white-space:nowrap}.rfoc table{margin-bottom:18px}.rfoc-table-wrap{overflow-x:auto}.rfoc-public-table{min-width:560px}.rfoc-copy textarea{min-height:280px}.rfoc-handoff{background:#eaf2eb;padding:20px;margin:20px 0;border:1px solid #cad8ce;border-radius:8px;color:#10231a}.rfoc-handoff button{font:inherit;padding:12px;min-height:44px;background:white;border:1px solid #20543d;color:#18462e;margin:8px 10px 8px 0;border-radius:6px;cursor:pointer}.rfoc-handoff pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.5}.rfoc-handoff summary{cursor:pointer;padding:10px 0;font-weight:700}@media(max-width:650px){.rfoc-choice,.rfoc-grid,.rfoc-check-list{grid-template-columns:1fr}.rfoc-choice{gap:14px}.rfoc-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}.rfoc-progress li{font-size:.8rem}.rfoc-progress span{width:20px;height:20px}.rfoc-grid{gap:20px}.rfoc-presets{gap:8px}.rfoc-presets span{width:100%}.rfoc-result{padding:18px 12px}.rfoc-actions{flex-direction:column}.rfoc-actions button{width:100%}.rfoc th,.rfoc td{padding:10px 4px}.rfoc th{max-width:220px;overflow-wrap:anywhere}.rfoc td{white-space:normal;min-width:90px}.rfoc-short{padding:18px}}@media print{.rfoc-choice,.rfoc-presets,.rfoc-form,.rfoc-actions{display:none!important}.rfoc-result{border:0;padding:0;background:white}.rfoc-result[hidden]{display:none!important}.rfoc details>*{display:block!important}.rfoc{font-size:11pt}.rfoc table{break-inside:avoid}}

.rfoc-result,.rfoc legend{scroll-margin-top:120px}
.rfoc{scroll-margin-top:128px}


.rfoc-trap{display:none!important}.rfoc-progress{flex-wrap:wrap}.rfoc .rfoc-actions button:disabled{opacity:.65;cursor:wait}.rfoc [data-save-status]:empty{display:none}.rfoc [data-contact-step] .rfoc-check{margin-bottom:0}
.rfoc [data-contact-step] input:not([type=checkbox]){box-sizing:border-box;font:inherit!important;width:100%;min-height:48px;padding:10px 12px;color:#10231a!important;background:#fff;border:1px solid #708775;border-radius:6px;box-shadow:none}.rfoc [data-contact-step] input:disabled{background:#eef1ee;color:#59665d!important}.rfoc [data-contact-step] input[aria-invalid=true]{border:2px solid #9a2c24}
.rfoc .rfoc-grid,.rfoc .rfoc-check-list{grid-template-columns:minmax(0,1fr)}.rfoc .rfoc-grid{max-width:720px;gap:22px}.rfoc [data-group]{min-width:0}.rfoc [data-group]>.rfoc-field+.rfoc-field{margin-top:22px}.rfoc .rfoc-context,.rfoc .rfoc-options{border-top:1px solid #cad8ce;margin-top:28px;padding-top:12px}.rfoc .rfoc-options .rfoc-grid{padding-top:14px}.rfoc [data-contact-step] p.rfoc-note{max-width:68ch;font-size:16px;line-height:1.6;margin-top:16px}.rfoc .rfoc-field>small{margin:0 0 8px}.rfoc .rfoc-progress{gap:4px}.rfoc [data-group] .rfoc-field{margin-bottom:16px}.rfoc [data-sales-unknown]{padding:12px;background:#fff5e8;color:#5d3d17}@media(max-width:650px){.rfoc .rfoc-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}

.rfoc .rfoc-field > select ~ small:not(.rfoc-field-error) {
  margin: 8px 0 0;
}

.rfoc .rfoc-progress li {
  padding: 0;
}
.rfoc .rfoc-progress button {
  width: 100%;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  color: inherit;
  font-weight: inherit;
  text-align: left;
}
.rfoc .rfoc-progress button:hover {
  background: #eaf2eb;
}

.rfoc :is([data-step="1"],[data-step="2"]) .rfoc-grid [data-group]:not([hidden]) {
  display: contents;
}
.rfoc :is([data-step="1"],[data-step="2"]) .rfoc-grid [data-group] > .rfoc-field {
  margin-block: 0;
}
.rfoc [data-step="3"] .rfoc-expense-grid {
  margin-block-start: 22px;
}
.rfoc [data-step="3"] .rfoc-options h3 {
  margin: 8px 0 4px;
}
.rfoc [data-step="3"] [data-group="expense"]:not([hidden]),
.rfoc [data-step="3"] :is([data-group="expenseReports"],[data-group="travel"],[data-group="travelDigital"],[data-group="travelManual"]):not([hidden]) {
  display: contents;
}
.rfoc [data-step="3"] [data-group="expense"] > .rfoc-note {
  grid-column: 1 / -1;
  margin: 0;
}
.rfoc [data-step="3"] [data-group="expense"] .rfoc-field,
.rfoc [data-step="3"] .rfoc-option-pair .rfoc-field {
  margin-block: 0;
}
.rfoc [data-step="3"] .rfoc-field > input ~ small:not(.rfoc-field-error) {
  margin: 8px 0 0;
}

/* Keep related fields side by side where the calculator has enough room. */
@media (min-width: 800px) {
  .rfoc .rfoc-grid,
  .rfoc .rfoc-check-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rfoc .rfoc-grid {
    max-width: none;
    align-items: start;
  }
  .rfoc [data-step="3"] .rfoc-option-pair {
    row-gap: 0;
  }
  .rfoc [data-step="3"] .rfoc-option-pair > [data-group]:not([hidden]) {
    display: contents;
  }
  .rfoc [data-step="3"] .rfoc-option-pair .rfoc-field {
    display: grid;
    grid-row: span 4;
    grid-template-rows: subgrid;
    align-self: stretch;
  }
  .rfoc [data-step="3"] .rfoc-option-pair .rfoc-field > label {
    margin: 0 0 8px;
  }
  .rfoc [data-step="3"] .rfoc-option-pair :is(select,input) {
    height: 60px;
  }
}
