.offers-calculator [hidden] { display: none !important; }
.offers-calculator button, .offers-calculator select { cursor: pointer; }
.offers-calculator button:focus-visible, .offers-calculator select:focus-visible, .offers-calculator input:focus-visible, .offers-table-wrap:focus-visible { outline: 3px solid #879aef; outline-offset: 3px; }
.offers-tabs-row { display: flex; align-items: stretch; gap: .65rem; margin-bottom: 1rem; min-width: 0; }
.offers-tabs { display: flex; gap: .55rem; overflow-x: auto; min-width: 0; padding: .25rem .1rem .4rem; scrollbar-width: thin; }
.offers-tab { display: flex; align-items: center; gap: .65rem; flex: 0 0 auto; max-width: 260px; padding: .8rem 1rem; border: 1px solid var(--line, #ddd); border-radius: .7rem; background: #fff; color: #616775; text-align: left; font-weight: 750; }
.offers-tab[aria-selected="true"] { border-color: #111; background: #111; color: #fff; }
.offers-tab__number { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; flex-shrink: 0; border: 1px solid currentColor; border-radius: 50%; font-size: .7rem; }
.offers-tab__name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: .85rem; }
.offers-add { display: flex; justify-content: center; align-items: center; gap: .5rem; flex-shrink: 0; padding: .8rem 1rem; margin: .25rem 0 .4rem; border: 1px dashed #9098a4; border-radius: .7rem; background: transparent; color: #353d4c; font-size: .78rem; font-weight: 750; }
.offers-add > span:first-child { font-size: 1.4rem; font-weight: 400; line-height: 1; }
.offers-add:hover { border-color: #111; background: #fff; }
.offers-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 1.2rem; }
.offers-editor { min-width: 0; padding: clamp(1.1rem, 2.8vw, 2rem); background: #fff; border: 1px solid var(--line, #ddd); border-radius: .85rem; }
.offers-editor__heading { display: flex; gap: 1rem; justify-content: space-between; align-items: center; color: #727984; font-size: .75rem; font-weight: 700; margin-bottom: 1.15rem; }
.offers-editor__heading > span { overflow-wrap: anywhere; }
.offers-remove { border: 0; padding: .3rem 0; background: transparent; color: #6b6f78; font-size: .72rem; text-decoration: underline; white-space: nowrap; }
.offers-remove:disabled { opacity: .35; cursor: default; text-decoration: none; }
.offers-steps { display: flex; align-items: stretch; gap: .5rem; margin-bottom: 1.8rem; }
.offers-steps button { display: flex; align-items: center; gap: .45rem; flex: 1; padding: .65rem .5rem; border: 0; border-bottom: 2px solid #e5e7eb; background: transparent; color: #737b87; font-size: .76rem; font-weight: 750; text-align: left; }
.offers-steps button[aria-current="step"] { border-bottom-color: #111; color: #111; }
.offers-steps button > span { display: grid; place-items: center; flex-shrink: 0; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: #f0f1f3; font-size: .7rem; }
.offers-steps button[aria-current="step"] > span { background: #111; color: #fff; }
.offers-step { min-width: 0; padding: 0; margin: 0; border: 0; }
.offers-step legend { padding: 0; color: #111; font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.15; }
.offers-hint { margin: .8rem 0 1rem; color: #727984; font-size: .78rem; line-height: 1.65; }
.offers-hint a { font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.offers-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: .7rem; }
.offers-fields--full { grid-column: 1 / -1; margin-top: 0; }
.offers-fields > div > .calculator-field { height: 100%; }
.offers-calculator .calculator-field { gap: .55rem; margin: 0; align-content: start; }
.offers-calculator .calculator-field select { width: 100%; min-width: 0; padding: .55rem .45rem; border: 1px solid #afb5be; border-radius: .3rem; background: #fff; color: #111; font-size: .78rem; font-weight: 650; }
.offers-calculator .calculator-field__control input { font-size: 1rem; }
.offers-calculator .calculator-field__control:has(input[type="text"]) { grid-template-columns: 1fr; }
.offers-calculator .calculator-field small { font-size: .66rem; line-height: 1.5; font-weight: 500; letter-spacing: 0; }
.offers-step-actions { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #eceef1; }
.offers-step-actions > span { color: #7a818b; font-size: .7rem; }
.offers-button { padding: .75rem 1rem; border: 1px solid #111; border-radius: .45rem; background: #111; color: #fff; font-size: .78rem; font-weight: 750; }
.offers-button--quiet { border-color: #dadde2; background: #fff; color: #333; }
.offers-button:disabled { opacity: .35; cursor: default; }
.offers-validation { color: #a13420; font-size: .78rem; padding: .7rem .8rem; border: 1px solid #f0ccba; border-radius: .4rem; background: #fff8f3; }
.offers-preview { position: sticky; top: 6rem; padding: 1.55rem; border-radius: .85rem; background: #eeefed; color: #111; }
.offers-overline { margin: 0 0 .6rem; color: #777d78; font-size: .65rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 750; }
.offers-preview h2 { margin: 0 0 2rem; font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; font-size: 1.4rem; letter-spacing: -.05em; overflow-wrap: anywhere; }
.offers-preview__label { margin: 0 0 .35rem; color: #5c635d; font-size: .8rem; }
.offers-preview__amount { display: block; font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.8rem, 2.8vw, 2.65rem); font-weight: 700; line-height: 1.2; letter-spacing: -.07em; overflow-wrap: anywhere; }
.offers-preview__explain { margin: .6rem 0 1.6rem; color: #777e77; font-size: .7rem; line-height: 1.55; }
.offers-preview__stats { margin: 0; }
.offers-preview__stats > div { display: grid; gap: .4rem; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; padding: .75rem 0; border-top: 1px solid #d7dbd6; }
.offers-preview__stats dt { color: #626961; font-size: .69rem; }
.offers-preview__stats dd { margin: 0; font-size: .82rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.offers-homeoffice { display: grid; gap: .65rem; margin-top: 1.5rem; padding: 1rem; border-radius: .6rem; background: #fff; }
.offers-homeoffice > span { font-size: .74rem; font-weight: 650; line-height: 1.45; }
.offers-homeoffice > strong { font-size: .9rem; }
.offers-homeoffice > small { color: #82877f; font-size: .65rem; line-height: 1.55; }
.offers-results { margin-top: clamp(2.5rem, 5vw, 4rem); scroll-margin-top: 7rem; }
.offers-results__heading { display: flex; gap: 1.5rem; align-items: end; justify-content: space-between; margin-bottom: 1.25rem; }
.offers-results__heading h2 { margin: .5rem 0 0; color: #111; font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.7rem, 3vw, 2.45rem); letter-spacing: -.065em; line-height: 1.08; }
.offers-results__heading label { display: grid; gap: .4rem; flex-shrink: 0; font-size: .7rem; color: #6d7684; font-weight: 750; }
.offers-results__heading select { padding: .7rem .8rem; max-width: 100%; border: 1px solid #c7cbd1; border-radius: .4rem; background: #fff; color: #111; font-size: .8rem; }
.offers-recommendation { padding: 1.5rem 1.7rem; border-radius: .8rem; background: #111; color: #fff; }
.offers-recommendation > span { display: block; margin-bottom: .6rem; color: #bdc0c7; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.offers-recommendation h3 { margin: 0; color: #fff; font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif; font-size: 1.5rem; line-height: 1.2; letter-spacing: -.04em; overflow-wrap: anywhere; }
.offers-recommendation p { margin: .8rem 0 0; color: #c7cbd1; font-size: .82rem; line-height: 1.65; }
.offers-winners { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: 1rem 0 1.7rem; }
.offers-winner { padding: 1.05rem; border: 1px solid var(--line, #ddd); border-radius: .65rem; background: #fff; min-width: 0; }
.offers-winner > span { display: block; color: #79818d; font-size: .68rem; }
.offers-winner strong { display: block; margin-top: .6rem; color: #111; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; }
.offers-winner p { margin: .45rem 0 0; color: #747c88; font-size: .7rem; line-height: 1.5; }
.offers-table-hint { color: #77808d; font-size: .74rem; line-height: 1.5; }
.offers-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line, #ddd); border-radius: .65rem; background: #fff; }
.offers-table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 580px; color: #222; font-size: .77rem; }
.offers-table th, .offers-table td { padding: .85rem 1rem; border-bottom: 1px solid #eceef1; text-align: right; min-width: 180px; font-variant-numeric: tabular-nums; }
.offers-table thead th { padding-top: 1.2rem; padding-bottom: 1.2rem; vertical-align: top; background: #f7f8f9; text-align: left; font-size: .84rem; }
.offers-table thead small { display: block; margin-top: .45rem; color: #7a828f; font-size: .67rem; font-weight: 500; }
.offers-table th:first-child { position: sticky; left: 0; z-index: 1; width: 240px; min-width: 180px; background: #fff; text-align: left; font-weight: 650; box-shadow: 1px 0 #eceef1; }
.offers-table thead th:first-child { background: #f7f8f9; }
.offers-table th > span { overflow-wrap: anywhere; }
.offers-table tr.offers-table__highlight th, .offers-table tr.offers-table__highlight td { background: #eef1eb; font-weight: 800; }
.offers-table td.offers-table__best { color: #235d35; font-weight: 800; }
.offers-table tbody tr:last-child > * { border-bottom: 0; }
.offers-method { margin-top: 1.5rem; padding: 1rem 0; border-top: 1px solid var(--line, #ddd); font-size: .8rem; }
.offers-method summary { cursor: pointer; color: #343c49; font-weight: 750; }
.offers-method p { color: #747e8b; line-height: 1.8; }
html.dark-mode .offers-editor, html.dark-mode .offers-winner, html.dark-mode .offers-tab { background: #1c1c1c; color: #ddd; border-color: #454545; }
html.dark-mode .offers-tab[aria-selected="true"] { background: #f3f3f3; color: #111; border-color: #f3f3f3; }
html.dark-mode .offers-add { color: #ddd; border-color: #666; }
html.dark-mode .offers-add:hover { background: #272727; }
html.dark-mode .offers-step legend, html.dark-mode .offers-results__heading h2, html.dark-mode .offers-winner strong, html.dark-mode .offers-method summary { color: #f5f5f5; }
html.dark-mode .offers-editor__heading, html.dark-mode .offers-remove, html.dark-mode .offers-hint, html.dark-mode .offers-table-hint, html.dark-mode .offers-winner > span, html.dark-mode .offers-winner p, html.dark-mode .offers-method p, html.dark-mode .offers-results__heading label { color: #b6b9bf; }
html.dark-mode .offers-steps button { color: #b6b9bf; border-color: #444; }
html.dark-mode .offers-steps button[aria-current="step"] { color: #fff; border-color: #fff; }
html.dark-mode .offers-steps button > span { background: #363636; color: #ddd; }
html.dark-mode .offers-steps button[aria-current="step"] > span { background: #eee; color: #111; }
html.dark-mode .offers-calculator .calculator-field select, html.dark-mode .offers-results__heading select { background: #111; color: #f5f5f5; border-color: #666; }
html.dark-mode .offers-step-actions { border-color: #444; }
html.dark-mode .offers-button { background: #eee; color: #111; border-color: #eee; }
html.dark-mode .offers-button--quiet { background: #1c1c1c; color: #eee; border-color: #666; }
html.dark-mode .offers-preview { background: #272b26; color: #f3f5f0; }
html.dark-mode .offers-preview h2 { color: #f3f5f0; }
html.dark-mode .offers-overline, html.dark-mode .offers-preview__label, html.dark-mode .offers-preview__explain, html.dark-mode .offers-preview__stats dt { color: #bec6ba; }
html.dark-mode .offers-preview__stats > div { border-color: #4a5246; }
html.dark-mode .offers-homeoffice { background: #1c201a; }
html.dark-mode .offers-homeoffice > small { color: #bac2b4; }
html.dark-mode .offers-recommendation { border: 1px solid #555; }
html.dark-mode .offers-table-wrap { background: #1c1c1c; }
html.dark-mode .offers-table { color: #eee; }
html.dark-mode .offers-table th, html.dark-mode .offers-table td { border-color: #393939; }
html.dark-mode .offers-table th:first-child { background: #1c1c1c; box-shadow: 1px 0 #393939; }
html.dark-mode .offers-table thead th, html.dark-mode .offers-table thead th:first-child { background: #292929; }
html.dark-mode .offers-table thead small { color: #bec1c7; }
html.dark-mode .offers-table tr.offers-table__highlight th, html.dark-mode .offers-table tr.offers-table__highlight td { background: #293326; }
html.dark-mode .offers-table td.offers-table__best { color: #b6e1a7; }
html.dark-mode .offers-validation { background: #36231c; color: #ffd4bd; border-color: #805d47; }
@media (max-width: 1050px) {
  .offers-workspace { grid-template-columns: minmax(0, 1fr) 275px; }
  .offers-preview { padding: 1.15rem; }
  .offers-preview__stats > div { grid-template-columns: 1fr; }
  .offers-steps button { flex-direction: column; align-items: start; }
}
@media (max-width: 800px) {
  .offers-workspace { grid-template-columns: 1fr; }
  .offers-preview { position: static; }
  .offers-preview h2 { margin-bottom: 1.2rem; }
  .offers-preview__stats { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; }
  .offers-preview__stats > div { grid-template-columns: minmax(0, 1fr) auto; }
  .offers-homeoffice { margin-top: 1rem; }
  .offers-winners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offers-results__heading { align-items: start; flex-direction: column; }
  .offers-results__heading label { width: 100%; }
}
@media (max-width: 540px) {
  .offers-tabs-row { flex-wrap: wrap; }
  .offers-tabs { flex-basis: 100%; }
  .offers-add { width: 100%; margin: 0; }
  .offers-tab { max-width: 220px; padding: .7rem .85rem; }
  .offers-editor { padding: 1rem; }
  .offers-editor__heading { gap: .5rem; }
  .offers-fields { grid-template-columns: 1fr; }
  .offers-steps { gap: .3rem; }
  .offers-steps button { font-size: .68rem; }
  .offers-step-actions > span { display: none; }
  .offers-preview__stats > div { grid-template-columns: 1fr; }
  .offers-recommendation { padding: 1.2rem; }
  .offers-winner { padding: .85rem; }
  .offers-table { font-size: .72rem; }
  .offers-table th, .offers-table td { padding: .75rem; min-width: 160px; }
  .offers-table th:first-child { min-width: 145px; max-width: 145px; width: 145px; }
}
