/* Presentation foundation and cascade overrides. */
@layer foundation {
  .plan-view {
    margin-bottom: 14px;
    padding: 0 6px 8px;
    background: transparent;
    --plan-line: color-mix(in srgb,var(--border) 82%,transparent);
  }
  .plan-title-block {
    flex-direction: column;
    gap: 2px;
  }
  .plan-title-block>span {
    color: var(--muted);
    font: 700 7px var(--font-label);
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .plan-head-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
  }
  .plan-scenario-status,.plan-head-export {
    height: 36px;
    box-sizing: border-box;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
  }
  .plan-head-export {
    width: 48px;
    font: 800 8px var(--font-label);
    color: var(--muted);
  }
  .plan-data-notice {
    margin: 0 0 7px;
    padding: 7px 9px;
    border-left: 2px solid var(--warning);
    background: color-mix(in srgb,var(--warning) 5%,transparent);
    font: 8px/1.4 var(--font-num);
    color: var(--muted);
  }
  .plan-simulation-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    padding: 7px 2px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    font: 8px/1.35 var(--font-num);
  }
  .plan-simulation-notice strong {
    font: 800 7px var(--font-label);
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .plan-simulation-notice span {
    color: var(--muted);
  }
  .plan-ledger-block {
    min-width: 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }
  .plan-ledger-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-height: 34px;
    padding: 8px 2px 7px;
    border-bottom: 1px solid var(--plan-line);
  }
  .plan-ledger-section-head h3 {
    margin: 0;
    font: 800 8px var(--font-label);
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .plan-ledger-section-head small {
    color: var(--muted);
    font: 7px var(--font-num);
    text-align: right;
  }
  .plan-metrics,.plan-target-cards {
    display: block;
    margin: 0;
  }
  .plan-metric {
    display: grid;
    grid-template-columns: minmax(105px,.75fr) minmax(110px,.8fr) minmax(0,1.35fr);
    gap: 10px;
    align-items: center;
    min-height: 38px;
    padding: 6px 2px;
    border-bottom: 1px solid var(--plan-line);
  }
  .plan-metric:last-child {
    border-bottom: 0;
  }
  .plan-metric>span {
    color: var(--muted);
    font: 700 7px var(--font-label);
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .plan-metric>strong {
    font: 800 11px var(--font-num);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .plan-metric>small {
    color: var(--muted);
    font: 7px/1.3 var(--font-num);
    text-align: right;
  }
  .plan-tools-ledger {
    margin: 0 0 14px;
    border-top: 1px solid var(--border);
  }
  .plan-tools-title {
    border-bottom: 1px solid var(--border);
  }
  .plan-tool-title,.plan-tool-title b,.plan-tool-title small {
    display: block;
  }
  .plan-tool-title b {
    font: 800 9px var(--font-label);
    letter-spacing: .045em;
    text-transform: uppercase;
  }
  .plan-tool-title small {
    margin-top: 3px;
    color: var(--muted);
    font: 7px/1.3 var(--font-num);
  }
  .plan-tool-status {
    color: var(--muted);
    font: 8px/1.3 var(--font-num);
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .plan-tool-body {
    padding: 10px 2px 12px;
  }
  .plan-tool-actions {
    display: flex;
    justify-content: flex-end;
    margin: -2px 0 8px;
  }
  .plan-secondary-btn {
    height: 28px;
    padding: 0 9px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
    font: 800 8px var(--font-label);
    white-space: nowrap;
  }
  .plan-form-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 7px;
    margin-bottom: 8px;
  }
  .plan-form-grid label,.plan-ratio-groups label,.plan-cash-item-row label {
    display: block;
    min-width: 0;
  }
  .plan-form-grid label>span,.plan-ratio-groups label>span,.plan-cash-item-row label>span,.plan-cash-item-currency span {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font: 700 7px var(--font-label);
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .plan-form-grid input,.plan-form-grid select,.plan-ratio-groups input,.plan-cash-item-row input,.plan-cash-item-row select {
    width: 100%;
    height: 29px;
    box-sizing: border-box;
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
    padding: 0 7px;
    font: 9px var(--font-num);
  }
  .plan-form-wide {
    grid-column: span 2;
  }
  .plan-tool-result {
    min-height: 34px;
  }
  .plan-inline-hint {
    margin: -2px 0 7px;
    color: var(--muted);
    font: 8px/1.35 var(--font-num);
  }
  .plan-advanced-fields {
    margin-top: 9px;
    border: 0;
    border-top: 1px solid var(--plan-line);
    border-bottom: 1px solid var(--plan-line);
    background: transparent;
  }
  .plan-advanced-fields>summary {
    padding: 8px 2px;
    cursor: pointer;
    list-style: none;
    font: 800 8px var(--font-label);
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .plan-advanced-fields[open]>summary {
    border-bottom: 1px solid var(--plan-line);
  }
  .plan-advanced-fields .plan-form-grid {
    padding: 9px 2px;
    margin: 0;
  }
  .plan-option-row {
    display: grid;
    grid-template-columns: 16px minmax(0,1fr);
    gap: 8px;
    align-items: start;
    padding: 9px 2px;
    border-bottom: 1px solid var(--plan-line);
    cursor: pointer;
  }
  .plan-option-row input {
    width: 14px;
    height: 14px;
    margin: 1px 0 0;
    accent-color: var(--text);
  }
  .plan-option-row span,.plan-option-row b,.plan-option-row small {
    display: block;
  }
  .plan-option-row b {
    font: 800 8px/1.25 var(--font-label);
    letter-spacing: .03em;
  }
  .plan-option-row small {
    margin-top: 3px;
    color: var(--muted);
    font: 7px/1.35 var(--font-num);
  }
  .plan-empty {
    margin: 0;
    padding: 8px 0;
    color: var(--muted);
    font: 8px/1.4 var(--font-num);
  }
  .plan-disclosure {
    border-bottom: 1px solid var(--border);
  }
  .plan-disclosure summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 22px;
    gap: 8px;
    align-items: center;
    padding: 9px 2px;
    cursor: pointer;
  }
  .plan-disclosure summary span {
    font: 800 8px var(--font-label);
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .plan-disclosure summary small {
    font: 7px var(--font-num);
    color: var(--muted);
  }
  .plan-disclosure summary b {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font: 700 12px var(--font-num);
  }
  .plan-disclosure[open] summary b {
    font-size: 0;
  }
  .plan-disclosure[open] summary b:after {
    content: "−";
    font-size: 12px;
  }
  .plan-disclosure-body {
    padding: 0 2px 10px;
    border-top: 1px solid var(--plan-line);
  }
  @media (max-width:1100px) {
    .plan-form-grid,.plan-form-grid-purchase {
      grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .plan-form-wide {
      grid-column: span 2;
    }
  }
  @media (max-width:760px) {
    .plan-view {
      padding: 0 5px 7px;
    }
    .plan-head-actions {
      margin-top: 8px;
      justify-content: flex-start;
    }
    .plan-head-export {
      margin-left: auto;
    }
    .plan-simulation-notice {
      align-items: flex-start;
    }
    .plan-ledger-section-head {
      display: block;
    }
    .plan-ledger-section-head small {
      display: block;
      margin-top: 3px;
      text-align: left;
    }
    .plan-metric {
      grid-template-columns: 92px minmax(90px,.8fr) minmax(0,1fr);
      gap: 7px;
    }
    .plan-tool-status {
      grid-column: 1;
      grid-row: 2;
      text-align: left;
    }
    .plan-tool-body {
      padding-top: 8px;
    }
    .plan-tool-actions {
      justify-content: flex-start;
    }
    .plan-form-grid,.plan-form-grid-purchase {
      grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .plan-form-wide {
      grid-column: 1/-1;
    }
    .plan-disclosure summary {
      grid-template-columns: minmax(0,1fr) 22px;
    }
    .plan-disclosure summary small {
      display: none;
    }
  }
  @media (max-width:600px) {
    .plan-metric {
      grid-template-columns: minmax(82px,.7fr) minmax(0,1fr);
    }
    .plan-metric>small {
      grid-column: 1/-1;
      text-align: left;
    }
  }
  .plan-view {
    margin-bottom: 14px;
    padding: 8px;
    border: 1px solid color-mix(in srgb,var(--border) 76%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 68%,var(--bg));
  }
  .plan-head-export,.plan-secondary-btn {
    min-height: 30px;
    border-radius: var(--radius-md);
  }
  .plan-head-export {
    min-width: 46px;
    padding: 0 10px;
  }
  .plan-data-notice,.plan-simulation-notice {
    margin: 0 0 7px;
    padding: 7px 9px;
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
  }
  .plan-data-notice {
    border-left: 2px solid var(--warning);
  }
  .plan-summary-block,.plan-tool-disclosure,.plan-flexibility-disclosure {
    overflow: hidden;
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
    box-shadow: none;
  }
  .plan-summary-block {
    margin: 0 0 7px;
  }
  .plan-tools-ledger {
    display: grid;
    gap: 7px;
    margin: 0 0 7px;
  }
  .plan-tools-title {
    min-height: 34px;
    padding: 6px 2px 4px;
    border: 0;
    background: transparent;
  }
  .plan-tools-title h3,.plan-summary-title b {
    margin: 0;
    font: 800 9px/1.2 var(--font-label);
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .plan-tools-title small,.plan-summary-title small {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font: 7px/1.3 var(--font-num);
  }
  .plan-summary-block>summary,.plan-tool-disclosure>summary,.plan-flexibility-disclosure>summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 28px;
    gap: 8px;
    align-items: center;
    min-height: 42px;
    padding: 6px 9px;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .plan-summary-block[open]>summary,.plan-tool-disclosure[open]>summary,.plan-flexibility-disclosure[open]>summary {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 68%,transparent);
  }
  .plan-summary-block>summary {
    grid-template-columns: minmax(0,1fr) 28px;
  }
  .plan-summary-title {
    min-width: 0;
  }
  .plan-tool-title {
    min-width: 0;
  }
  .plan-tool-title b,.plan-tool-title small {
    display: block;
  }
  .plan-tool-title b {
    font: 800 9px/1.25 var(--font-label);
  }
  .plan-tool-title small {
    margin-top: 2px;
    color: var(--muted);
    font: 7px/1.35 var(--font-num);
  }
  .plan-tool-status {
    min-width: 0;
    color: var(--muted);
    font: 7px/1.2 var(--font-num);
    text-align: right;
  }
  .plan-tool-collapse {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    padding: 4px;
    border: 0;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--muted);
    justify-self: end;
    box-sizing: border-box;
  }
  .plan-tool-body {
    padding: 8px 9px 9px;
    background: transparent;
  }
  .plan-tools-ledger {
    --plan-control-height: 30px;
    --plan-reset-width: 64px;
  }
  .plan-tool-actions {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    align-self: end;
    justify-self: end;
    width: var(--plan-reset-width);
    min-width: var(--plan-reset-width);
    height: var(--plan-control-height);
    min-height: var(--plan-control-height);
    margin: 0;
  }
  .plan-tool-reset-btn {
    width: 100%;
    min-width: 0;
    height: var(--plan-control-height);
    min-height: var(--plan-control-height);
    padding: 0 7px;
    border-radius: var(--radius-md);
    color: var(--muted);
    font: 800 7px/1 var(--font-label);
    letter-spacing: .035em;
  }
  .plan-metrics {
    display: block;
    margin: 0;
  }
  .plan-metric {
    padding-left: 9px;
    padding-right: 9px;
  }
  .plan-result-note,.plan-recommendation,.plan-inline-hint,.plan-option-row {
    padding: 7px 2px;
  }
  .plan-inline-hint {
    margin: 0 0 7px;
  }
  .plan-allocation-secondary,.plan-advanced-fields {
    margin: 7px 0 8px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 88%,var(--bg));
  }
  .plan-allocation-secondary>summary,.plan-advanced-fields>summary {
    min-height: 34px;
    padding: 6px 8px;
    border: 0;
  }
  .plan-allocation-secondary[open]>summary,.plan-advanced-fields[open]>summary {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 68%,transparent);
  }
  .plan-advanced-fields .plan-form-grid {
    margin: 0;
    padding: 8px;
  }
  .plan-form-grid {
    display: grid;
    gap: 7px;
    min-width: 0;
    margin: 0 0 8px;
  }
  .plan-form-grid>label,.plan-ratio-groups label {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .plan-form-grid input,.plan-form-grid select,.plan-ratio-groups input {
    display: block;
    height: var(--plan-control-height,30px);
    border-radius: var(--radius-md);
  }
  .plan-form-grid input[type="date"] {
    -webkit-appearance: none;
    appearance: none;
  }
  .plan-primary-form {
    width: 100%;
    grid-template-columns: minmax(0,1.7fr) 88px minmax(150px,1fr) var(--plan-reset-width);
    align-items: end;
  }
  .plan-purchase-primary-form {
    width: 100%;
    grid-template-columns: minmax(0,1.45fr) 88px minmax(160px,1fr) 84px var(--plan-reset-width);
    grid-template-areas: "monthly currency start months action";
    align-items: end;
  }
  .plan-purchase-monthly {
    grid-area: monthly;
  }
  .plan-purchase-primary-form>.plan-currency-field {
    grid-area: currency;
  }
  .plan-purchase-start {
    grid-area: start;
  }
  .plan-purchase-months {
    grid-area: months;
  }
  .plan-purchase-primary-form>.plan-tool-actions {
    grid-area: action;
  }
  .plan-purchase-advanced-form {
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: end;
  }
  .plan-purchase-advanced-form .plan-form-wide {
    grid-column: 1/-1;
  }
  .plan-currency-field select {
    text-align: center;
    text-align-last: center;
  }
  .plan-flexibility-disclosure {
    margin-top: 7px;
  }
  .plan-flexibility-disclosure .plan-disclosure-body {
    padding: 0 9px 8px;
  }
  @media (max-width:760px) {
    .plan-view {
      margin-bottom: 11px;
      padding: 6px;
      border-radius: var(--radius-md);
    }
    .plan-head-actions {
      flex-wrap: nowrap;
    }
    .plan-summary-block,.plan-tools-ledger,.plan-flexibility-disclosure {
      margin-bottom: 6px;
    }
    .plan-summary-block>summary,.plan-tool-disclosure>summary,.plan-flexibility-disclosure>summary {
      grid-template-columns: minmax(0,1fr) 28px;
      gap: 7px;
      padding: 6px 7px;
    }
    .plan-tool-status {
      grid-column: 1;
      grid-row: 2;
      text-align: left;
    }
    .plan-tool-collapse {
      grid-column: 2;
      grid-row: 1/3;
    }
    .plan-tool-body {
      padding: 7px;
    }
    .plan-metric {
      padding-left: 7px;
      padding-right: 7px;
    }
    .plan-primary-form,.plan-primary-form-single {
      grid-template-columns: minmax(0,1fr) 82px var(--plan-reset-width);
      max-width: none;
    }
    .plan-primary-control {
      grid-column: 1/-1;
      grid-row: 2;
    }
    .plan-purchase-primary-form {
      grid-template-columns: minmax(0,1fr) 76px var(--plan-reset-width);
      grid-template-areas: "monthly currency action" "start start months";
      width: 100%;
      max-width: 100%;
    }
    .plan-purchase-primary-form>* {
      min-width: 0;
      max-width: 100%;
    }
    .plan-purchase-advanced-form {
      grid-template-columns: minmax(0,1fr);
    }
    .plan-purchase-advanced-form .plan-form-wide {
      grid-column: auto;
    }
    .plan-flexibility-disclosure .plan-disclosure-body {
      padding: 0 7px 8px;
    }
  }
  @media (max-width:390px) {
    .plan-primary-form,.plan-primary-form-single {
      grid-template-columns: minmax(0,1fr) 74px var(--plan-reset-width);
    }
    .plan-purchase-primary-form {
      grid-template-columns: minmax(0,1fr) 70px var(--plan-reset-width);
    }
  }
  .plan-view {
    font-family: var(--font-num);
  }
  .plan-title-block>span {
    color: var(--dim);
    font-family: var(--font-num);
    font-size: 9px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  .plan-ledger-section-head h3,.plan-tools-title h3,.plan-summary-title b,.plan-tool-title b,.plan-disclosure summary>span:first-child,.plan-result-details summary,.plan-advanced-fields>summary,.plan-allocation-secondary>summary b,.plan-allocation-model-choice b {
    font-family: var(--font-label);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .plan-ledger-section-head small,.plan-tools-title small,.plan-summary-title small,.plan-tool-title small,.plan-tool-status,.plan-disclosure summary small,.plan-allocation-secondary>summary small,.plan-allocation-model-choice small {
    color: var(--dim);
    font-family: var(--font-num);
    font-size: 9px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
  }
  .plan-form-grid label>span,.plan-ratio-groups label>span,.plan-cash-item-row label>span,.plan-cash-item-currency span,.plan-ratio-groups legend,.plan-result-metric span,.plan-metric>span,.plan-target-card>span b,.plan-compare-table th,.plan-recommendation>span {
    color: var(--muted);
    font-family: var(--font-label);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: .055em;
    text-transform: uppercase;
  }
  .plan-form-grid input,.plan-form-grid select,.plan-ratio-groups input,.plan-cash-item-row input,.plan-cash-item-row select {
    font-family: var(--font-num);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
  }
  .plan-metric>strong,.plan-metric-comparison strong,.plan-target-card>strong {
    font-family: var(--font-num);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
  }
  .plan-metric>small,.plan-target-card>span small,.plan-result-metric small,.plan-result-list small,.plan-flex-row small,.plan-inline-hint,.plan-result-note,.plan-recommendation p,.plan-option-row small,.plan-ratio-groups fieldset>small {
    color: var(--dim);
    font-family: var(--font-num);
    font-size: 9px;
    font-weight: 400;
    line-height: 1.35;
  }
  .plan-secondary-btn,.plan-tool-reset-btn {
    font-family: var(--font-label);
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .plan-option-row b {
    font-family: var(--font-label);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .03em;
  }
  @media (max-width:760px) {
    .plan-form-grid input:not([type="date"]),.plan-form-grid select,.plan-ratio-groups input {
      font-size: 12px;
    }
  }
  .plan-payment-tools-group {
    min-width: 0;
  }
  .plan-tool-selector {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
    margin: 0 0 7px;
  }
  .plan-tool-card,.plan-purchase-tool-card {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 72%,var(--bg));
    color: var(--text);
    box-shadow: none;
    cursor: pointer;
    text-align: left;
    transition: opacity .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
  }
  .plan-tool-card {
    display: block;
    min-height: 58px;
    padding: 8px 9px;
    opacity: .58;
  }
  .plan-tool-card.is-active {
    opacity: 1;
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
    border-color: color-mix(in srgb,var(--text) 17%,var(--border));
    box-shadow: inset 0 2px 0 color-mix(in srgb,var(--text) 34%,transparent);
  }
  .plan-tool-card-copy,.plan-tool-card-copy b,.plan-tool-card-copy small {
    display: block;
    min-width: 0;
  }
  .plan-tool-card-copy b {
    font: 800 9px/1.2 var(--font-label);
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .plan-tool-card .plan-tool-status {
    margin-top: 5px;
    color: var(--dim);
    font: 400 9px/1.25 var(--font-num);
    text-align: left;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .plan-tool-card.is-active .plan-tool-status {
    color: var(--muted);
  }
  .plan-tool-workspace,.plan-purchase-panel {
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 72%,var(--bg));
  }
  .plan-tool-panel .plan-tool-body {
    padding: 9px;
  }
  .plan-tool-panel .plan-tool-result:not(:empty) {
    margin-top: 7px;
    padding: 0 7px;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb,var(--bg) 46%,transparent);
  }
  .plan-purchase-tool-wrap {
    margin-top: 7px;
  }
  .plan-purchase-tool-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(130px,auto) 28px;
    gap: 8px;
    align-items: center;
    min-height: 46px;
    padding: 7px 9px;
    opacity: .58;
  }
  .plan-purchase-tool-card.is-active {
    opacity: 1;
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
    border-color: color-mix(in srgb,var(--text) 17%,var(--border));
  }
  .plan-purchase-tool-card .plan-tool-title b,.plan-purchase-tool-card .plan-tool-title small {
    display: block;
  }
  .plan-purchase-tool-card .plan-tool-status {
    font-size: 9px;
  }
  .plan-purchase-tool-card.is-active+.plan-purchase-panel {
    margin-top: 7px;
  }
  .plan-tool-panel .plan-advanced-fields {
    margin: 6px 0 7px;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb,var(--bg) 42%,transparent);
  }
  .plan-tool-panel .plan-advanced-fields>summary {
    min-height: 30px;
    box-sizing: border-box;
    padding: 6px 7px;
    background: transparent;
  }
  .plan-tool-panel .plan-advanced-fields .plan-form-grid {
    padding: 6px 7px;
    margin: 0;
  }
  .plan-tool-panel .plan-advanced-fields .plan-form-grid input,.plan-tool-panel .plan-advanced-fields .plan-form-grid select,.plan-tool-panel .plan-advanced-fields .plan-ratio-groups input {
    height: 28px;
  }
  .plan-tool-panel .plan-option-row {
    margin: 0 7px;
    padding: 6px 0;
  }
  @media (max-width:760px) {
    .plan-tool-selector {
      gap: 5px;
    }
    .plan-tool-card {
      min-height: 62px;
      padding: 7px 6px;
    }
    .plan-tool-card-copy b {
      font-size: 8px;
      letter-spacing: .045em;
    }
    .plan-tool-card .plan-tool-status {
      margin-top: 4px;
      font-size: 8px;
      line-height: 1.2;
    }
    .plan-tool-panel .plan-tool-body {
      padding: 7px;
    }
    .plan-purchase-tool-card {
      grid-template-columns: minmax(0,1fr) 28px;
      gap: 7px;
      padding: 6px 7px;
    }
    .plan-purchase-tool-card .plan-tool-status {
      grid-column: 1;
      grid-row: 2;
      text-align: left;
    }
    .plan-purchase-tool-card .plan-tool-collapse {
      grid-column: 2;
      grid-row: 1/3;
    }
  }
  .plan-view {
    --plan-gutter: 9px;
    --plan-row-gap: 7px;
    --plan-ledger-line: color-mix(in srgb,var(--border) 70%,transparent);
  }
  .plan-tool-selector {
    overflow: hidden;
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 88%,var(--bg));
  }
  .plan-tool-card {
    min-height: 58px;
  }
  .plan-tool-card:not(.is-active),.plan-purchase-tool-card:not(.is-active) {
    opacity: .46;
    filter: saturate(.22);
    color: color-mix(in srgb,var(--muted) 86%,var(--text));
  }
  .plan-tool-card.is-active,.plan-purchase-tool-card.is-active {
    opacity: 1;
    filter: none;
    color: var(--text);
  }
  .plan-tool-panel .plan-primary-form,.plan-tool-panel .plan-primary-form-single,.plan-purchase-panel .plan-purchase-primary-form {
    border-bottom: 1px solid var(--plan-ledger-line);
  }
  .plan-purchase-tool-wrap {
    overflow: hidden;
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
  }
  @media (max-width:760px) {
    .plan-view {
      --plan-gutter: 7px;
      --plan-row-gap: 6px;
    }
  }
  .plan-shared-cash {
    margin-bottom: var(--plan-row-gap);
    padding: var(--plan-gutter);
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
  }
  .plan-shared-cash-title,.plan-tool-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }
  .plan-shared-cash-title {
    margin-bottom: 8px;
  }
  .plan-shared-cash-title b,.plan-tool-panel-head b {
    display: block;
    font: 800 9px var(--font-label);
    letter-spacing: .045em;
    text-transform: uppercase;
  }
  .plan-shared-cash-title small,.plan-tool-panel-head small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font: 7px/1.35 var(--font-num);
  }
  .plan-shared-cash-title>small {
    margin: 0;
    text-align: right;
    white-space: nowrap;
  }
  .plan-shared-cash-form {
    grid-template-columns: minmax(170px,1fr) 78px minmax(135px,.65fr) var(--plan-reset-width);
    align-items: end;
  }
  .plan-shared-cash-form>.plan-tool-actions {
    grid-column: 4;
    grid-row: 1;
  }
  .plan-tool-card:not(.is-active) {
    opacity: .7;
    filter: saturate(.55);
  }
  .plan-tool-panel-head {
    min-height: 42px;
    padding: var(--plan-gutter) 0;
    border-bottom: 1px solid var(--plan-ledger-line);
  }
  .plan-tool-panel-head>span {
    min-width: 0;
  }
  .plan-tool-panel-head>.plan-tool-reset-btn {
    flex: 0 0 auto;
    align-self: center;
  }
  .plan-allocation-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .plan-allocation-option {
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--plan-ledger-line);
    background: transparent;
  }
  .plan-allocation-option:last-child {
    border-bottom: 0;
  }
  .plan-allocation-option>summary {
    display: grid;
    grid-template-columns: 16px minmax(0,1fr);
    gap: 8px;
    align-items: start;
    padding: 9px 0;
    list-style: none;
    cursor: pointer;
  }
  .plan-allocation-option>summary span,.plan-allocation-option>summary b,.plan-allocation-option>summary small {
    display: block;
  }
  .plan-allocation-option>summary b {
    font: 800 9px var(--font-label);
    letter-spacing: .035em;
    text-transform: uppercase;
  }
  .plan-allocation-option>summary small {
    margin-top: 3px;
    color: var(--muted);
    font: 7px/1.35 var(--font-num);
  }
  .plan-allocation-option.is-selected>summary {
    box-shadow: inset 2px 0 0 color-mix(in srgb,var(--text) 50%,transparent);
    padding-left: 7px;
  }
  .plan-allocation-option-body {
    padding: 0 0 9px 23px;
  }
  .plan-ratio-fieldset {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
    margin: 0 0 8px;
    padding: 8px;
    border: 0;
    border-radius: var(--radius-sm);
    background: color-mix(in srgb,var(--bg) 42%,transparent);
  }
  #planAllocationWaterfallOption .plan-ratio-fieldset {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .plan-ratio-fieldset legend {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 0 0 6px;
    color: var(--muted);
    font: 700 7px var(--font-label);
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .plan-ratio-fieldset legend button {
    border: 0;
    background: transparent;
    color: var(--muted);
    padding: 0;
    font: 700 7px var(--font-label);
    letter-spacing: .03em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .plan-ratio-fieldset label {
    position: relative;
    display: block;
    min-width: 0;
  }
  .plan-ratio-fieldset label>span {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font: 700 7px var(--font-label);
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .plan-ratio-fieldset input {
    width: 100%;
    height: 29px;
    box-sizing: border-box;
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--text);
    padding: 0 20px 0 7px;
    font: 9px var(--font-num);
  }
  .plan-ratio-fieldset label>b {
    position: absolute;
    right: 7px;
    bottom: 8px;
    color: var(--muted);
    font: 700 8px var(--font-num);
  }
  .plan-ratio-fieldset>small {
    grid-column: 1/-1;
    color: var(--muted);
    font: 7px var(--font-num);
  }
  .plan-linked-tool-form {
    align-items: stretch;
  }
  .plan-linked-option {
    align-self: end;
  }
  .plan-inline-budget {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    min-height: 29px;
    padding: 0 0 2px;
  }
  .plan-inline-budget strong,.plan-inline-budget small {
    display: block;
  }
  .plan-inline-budget strong {
    font: 700 10px var(--font-num);
  }
  .plan-inline-budget small {
    color: var(--muted);
    font: 7px/1.35 var(--font-num);
    text-align: right;
  }
  @media (max-width:760px) {
    .plan-shared-cash-title {
      display: block;
    }
    .plan-shared-cash-title>small {
      margin-top: 3px;
      text-align: left;
      white-space: normal;
    }
    .plan-shared-cash-form {
      grid-template-columns: minmax(0,1fr) 74px;
    }
    .plan-shared-cash-form>.plan-primary-control {
      grid-column: 1/-1;
    }
    .plan-shared-cash-form>.plan-tool-actions {
      grid-column: 2;
      grid-row: 2;
      align-self: end;
    }
    .plan-tool-panel-head {
      gap: 8px;
    }
    .plan-tool-panel-head small {
      max-width: 230px;
    }
    .plan-allocation-option-body {
      padding-left: 0;
    }
    .plan-ratio-fieldset,#planAllocationWaterfallOption .plan-ratio-fieldset {
      grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .plan-inline-budget {
      align-items: flex-start;
      padding-top: 4px;
    }
  }
  .plan-tool-panel-head>span {
    flex: 1 1 auto;
    min-width: 0;
  }
  .plan-tool-panel-head>.plan-tool-reset-btn {
    flex: 0 0 var(--plan-reset-width);
    width: var(--plan-reset-width);
    min-width: var(--plan-reset-width);
  }
  @media (max-width:760px) {
    .plan-shared-cash-form>.plan-primary-control {
      grid-column: 1;
      grid-row: 2;
    }
    .plan-shared-cash-form>.plan-tool-actions {
      grid-column: 2;
      grid-row: 2;
    }
  }
  .plan-tool-workspace>.plan-tool-panel {
    grid-area: 1/1;
    min-width: 0;
  }
  .plan-linked-option {
    min-width: 0;
    align-self: end;
    cursor: pointer;
  }
  .plan-linked-option-label,.plan-inline-budget>span {
    display: block;
    color: var(--muted);
    font: 700 7px/1.2 var(--font-label);
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .plan-linked-option-control {
    min-height: 29px;
    box-sizing: border-box;
    padding: 4px 7px;
    border: 1px solid var(--border);
    background: var(--bg);
  }
  .plan-linked-option-control>input {
    min-width: 12px;
    accent-color: var(--text);
  }
  .plan-linked-option-control>span,.plan-linked-option-control b,.plan-linked-option-control small {
    display: block;
  }
  .plan-inline-budget {
    min-width: 0;
    align-self: end;
  }
  .plan-inline-budget>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 29px;
    box-sizing: border-box;
    padding: 4px 7px;
    border: 1px solid var(--border);
    background: var(--bg);
  }
  .plan-inline-budget strong {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .plan-inline-budget small {
    min-width: 0;
  }
  @media (max-width:760px) {
    .plan-linked-option-control,.plan-inline-budget>div {
      min-height: 29px;
    }
  }
  .plan-view {
    --plan-shell-radius: 14px;
    --plan-card-radius: 11px;
    --plan-soft: color-mix(in srgb,var(--muted-bg) 72%,var(--bg));
    --plan-paper: color-mix(in srgb,var(--surface) 96%,var(--bg));
    overflow: hidden;
    border-radius: var(--plan-shell-radius);
  }
  .plan-view .plan-head.page-ledger-head {
    min-height: 74px;
  }
  .plan-view .plan-data-notice {
    border-radius: 7px;
  }
  .plan-view .plan-summary-block {
    overflow: hidden;
    box-shadow: 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent);
  }
  .plan-view .plan-summary-title {
    min-width: 0;
  }
  .plan-view .plan-summary-title>b {
    flex: 0 0 auto;
  }
  .plan-view .plan-summary-title>small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .plan-view .plan-shared-cash-title {
    padding-bottom: 9px;
    border-bottom: 1px solid color-mix(in srgb,var(--border) 55%,transparent);
  }
  .plan-view .plan-tool-selector {
    overflow: hidden;
  }
  .plan-view .plan-tool-workspace {
    overflow: hidden;
  }
  .plan-view .plan-purchase-tool-wrap {
    overflow: hidden;
  }
  .plan-view .plan-flexibility-disclosure {
    overflow: hidden;
  }
  @media (max-width:760px) {
    .plan-view {
      border-radius: 11px;
    }
  }
  .plan-view .plan-summary-block {
    overflow: hidden;
  }
  .plan-view .plan-summary-block .plan-summary-title>b {
    white-space: nowrap;
  }
  .plan-view .plan-summary-block .plan-summary-title>small {
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .plan-view .plan-summary-block .plan-metric {
    min-width: 0;
  }
  .plan-view .plan-summary-block .plan-metric>strong,.plan-view .plan-summary-block .plan-metric-comparison strong {
    max-width: 100%;
    color: var(--text);
    white-space: nowrap;
  }
  .plan-view .plan-summary-block .plan-metric>small {
    min-height: 14px;
  }
  @media (max-width:680px) {
    .plan-view .plan-summary-block .plan-summary-title>small {
      margin-top: 3px;
      white-space: normal;
    }
    .plan-view .plan-summary-block .plan-metric:nth-child(-n/**/+2) {
      grid-column: span 3;
    }
    .plan-view .plan-summary-block .plan-metric:nth-child(n/**/+3) {
      grid-column: span 2;
    }
  }
}
@layer overrides {
  .plan-view[hidden] {
    display: none;
  }
  .plan-head {
    border: 0;
  }
  .plan-title-block {
    display: flex;
    align-items: flex-start;
  }
  .plan-data-notice[hidden] {
    display: none;
  }
  @media (max-width:760px) {
    .plan-head {
      display: block;
    }
  }
  .plan-view[hidden] {
    display: none;
  }
  .plan-head.page-ledger-head {
    margin: 0;
  }
  .app .plan-tool-collapse .summary-collapse-mark {
    border-color: color-mix(in srgb,var(--text) 17%,var(--border));
    border-radius: var(--radius-sm);
    background: color-mix(in srgb,var(--muted) 8%,transparent);
    color: color-mix(in srgb,var(--text) 70%,var(--muted));
  }
  .plan-metric,.plan-result-metric,.plan-payment-row,.plan-result-list>div,.plan-flex-row {
    border: 0;
    border-bottom: 1px solid color-mix(in srgb,var(--border) 68%,transparent);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .plan-metric:last-child,.plan-result-metric:last-child,.plan-payment-row:last-child,.plan-result-list>div:last-child,.plan-flex-row:last-child {
    border-bottom: 0;
  }
  .plan-result-note,.plan-recommendation,.plan-inline-hint,.plan-option-row,.plan-allocation-model {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .plan-inline-hint {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 68%,transparent);
  }
  .plan-form-grid input,.plan-form-grid select,.plan-ratio-groups input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .plan-form-grid input[type="date"] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-left: 5px;
    padding-right: 3px;
    font-size: 9px;
  }
  @media (max-width:760px) {
    .plan-head.page-ledger-head {
      padding: 5px 0 7px;
    }
    .plan-purchase-start input[type="date"] {
      font-size: 8px;
    }
  }
  @media (max-width:390px) {
    .plan-purchase-primary-form input,.plan-purchase-primary-form select {
      font-size: 8px;
    }
    .plan-purchase-start input[type="date"] {
      font-size: 7.5px;
    }
  }
  .plan-summary-block .plan-summary-title {
    display: block;
    min-width: 0;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-transform: none;
  }
  .plan-summary-block .plan-summary-title b {
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--text);
    font: 800 9px/1.2 var(--font-label);
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .plan-summary-block .plan-summary-title small {
    display: block;
  }
  .plan-reset-simulation[hidden] {
    display: none;
  }
  .plan-tool-panel[hidden] {
    display: none;
  }
  .plan-tool-panel .plan-advanced-fields>summary {
    border: 0;
  }
  .plan-tool-panel .plan-advanced-fields[open]>summary {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 58%,transparent);
  }
  .plan-summary-block>summary {
    grid-template-columns: minmax(0,1fr) 28px;
    padding-left: var(--plan-gutter);
    padding-right: var(--plan-gutter);
  }
  .plan-summary-block>summary .plan-tool-collapse {
    display: inline-flex;
  }
  .plan-tool-selector {
    gap: 0;
    margin-bottom: var(--plan-row-gap);
  }
  .plan-tool-card {
    padding: 8px var(--plan-gutter);
    border: 0;
    border-right: 1px solid var(--plan-ledger-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .plan-tool-card:last-child {
    border-right: 0;
  }
  .plan-tool-card.is-active {
    background: color-mix(in srgb,var(--text) 3.5%,transparent);
    box-shadow: inset 0 2px 0 color-mix(in srgb,var(--text) 34%,transparent);
  }
  .plan-tool-card:not(.is-active),.plan-purchase-tool-card:not(.is-active) {
    background: color-mix(in srgb,var(--surface) 74%,var(--bg));
  }
  .plan-tool-workspace {
    border: 1px solid color-mix(in srgb,var(--border) 78%,transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 92%,var(--bg));
  }
  .plan-tool-panel .plan-tool-body,.plan-purchase-panel .plan-tool-body {
    padding: 0 var(--plan-gutter) var(--plan-gutter);
  }
  .plan-tool-panel .plan-primary-form,.plan-tool-panel .plan-primary-form-single,.plan-purchase-panel .plan-purchase-primary-form {
    margin: 0;
    padding: var(--plan-gutter) 0;
  }
  .plan-tool-panel .plan-advanced-fields,.plan-purchase-panel .plan-advanced-fields {
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--plan-ledger-line);
    border-radius: 0;
    background: transparent;
  }
  .plan-tool-panel .plan-advanced-fields>summary,.plan-purchase-panel .plan-advanced-fields>summary {
    min-height: 34px;
    padding: 8px 0;
    border: 0;
    background: transparent;
  }
  .plan-tool-panel .plan-advanced-fields[open]>summary,.plan-purchase-panel .plan-advanced-fields[open]>summary {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 52%,transparent);
  }
  .plan-tool-panel .plan-advanced-fields .plan-form-grid,.plan-purchase-panel .plan-advanced-fields .plan-form-grid {
    padding: 8px 0;
  }
  .plan-tool-panel .plan-option-row,.plan-purchase-panel .plan-option-row {
    margin: 0;
    padding: 8px 0;
  }
  .plan-tool-panel .plan-tool-result,.plan-purchase-panel .plan-tool-result {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .plan-tool-panel .plan-tool-result:not(:empty),.plan-purchase-panel .plan-tool-result:not(:empty) {
    padding-top: 1px;
  }
  .plan-result-metric,.plan-payment-row,.plan-result-list>div,.plan-inline-hint,.plan-recommendation,.plan-result-note {
    padding-left: 0;
    padding-right: 0;
  }
  .plan-purchase-tool-wrap {
    margin-top: var(--plan-row-gap);
  }
  .plan-purchase-tool-card {
    padding-left: var(--plan-gutter);
    padding-right: var(--plan-gutter);
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .plan-purchase-tool-card.is-active {
    border-bottom: 1px solid var(--plan-ledger-line);
    background: color-mix(in srgb,var(--text) 2.5%,transparent);
  }
  .plan-purchase-tool-card.is-active+.plan-purchase-panel {
    margin-top: 0;
  }
  .plan-purchase-panel {
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .plan-tools-title {
    padding-left: 0;
    padding-right: 0;
  }
  .plan-flexibility-disclosure>summary,.plan-flexibility-disclosure .plan-disclosure-body {
    padding-left: var(--plan-gutter);
    padding-right: var(--plan-gutter);
  }
  @media (max-width:760px) {
    .plan-tool-card {
      padding: 7px var(--plan-gutter);
    }
    .plan-tool-panel .plan-tool-body,.plan-purchase-panel .plan-tool-body {
      padding-bottom: var(--plan-gutter);
    }
    .plan-tool-panel .plan-primary-form,.plan-tool-panel .plan-primary-form-single,.plan-purchase-panel .plan-purchase-primary-form {
      padding: var(--plan-gutter) 0;
    }
  }
  .plan-shared-cash-form {
    margin: 0;
  }
  .plan-linked-tool-form {
    grid-template-columns: minmax(180px,.7fr) minmax(260px,1.3fr);
  }
  .plan-linked-option {
    margin: 0;
    padding: 0;
    border: 0;
  }
  @media (max-width:760px) {
    .plan-linked-tool-form {
      grid-template-columns: 1fr;
    }
  }
  .plan-title-block>span {
    font-size: 7px;
    line-height: 1.25;
    letter-spacing: .12em;
  }
  .plan-tool-workspace {
    display: grid;
  }
  .plan-tool-workspace>.plan-tool-panel[hidden] {
    display: block;
    visibility: hidden;
    pointer-events: none;
  }
  .plan-allocation-option>summary {
    grid-template-columns: minmax(0,1fr);
  }
  .plan-allocation-option.is-selected>summary {
    padding-left: 0;
    box-shadow: none;
  }
  .plan-allocation-option-body {
    padding-left: 0;
  }
  .plan-linked-option {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .plan-linked-option-control {
    display: grid;
    grid-template-columns: 12px minmax(0,1fr);
    gap: 6px;
    align-items: center;
  }
  .plan-linked-option-control>input {
    width: 12px;
    height: 12px;
    margin: 0;
  }
  .plan-linked-option-control b {
    font: 700 7px/1.2 var(--font-label);
    letter-spacing: .02em;
  }
  .plan-linked-option-control small {
    margin-top: 1px;
    color: var(--muted);
    font: 6.5px/1.25 var(--font-num);
  }
  .plan-inline-budget {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    min-height: 0;
    padding: 0;
  }
  .plan-inline-budget strong {
    font: 700 9px/1.2 var(--font-num);
  }
  .plan-inline-budget small {
    color: var(--muted);
    font: 6.5px/1.25 var(--font-num);
    text-align: right;
  }
  .plan-summary-block.plan-disclosure[open]>summary .plan-summary-title b::after {
    content: none;
  }
  .plan-tool-selector {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .plan-tool-card:nth-child(3) {
    border-right: 0;
  }
  .plan-purchase-tool-wrap {
    display: block;
    margin-top: var(--plan-row-gap);
  }
  .plan-purchase-tool-card {
    display: grid;
  }
  .plan-purchase-panel:not([hidden]) {
    display: block;
  }
  .plan-purchase-primary-form {
    grid-template-columns: minmax(0,1.45fr) 88px minmax(160px,1fr) 84px var(--plan-reset-width);
    grid-template-areas: "monthly currency start months action";
  }
  .plan-purchase-primary-form>.plan-tool-actions {
    grid-area: action;
    align-self: end;
  }
  .plan-view .plan-form-grid input:not([type="checkbox"]),.plan-view .plan-form-grid select,.plan-view .plan-ratio-fieldset input:not([type="checkbox"]) {
    width: 100%;
    min-width: 0;
    height: var(--plan-control-height,30px);
    min-height: var(--plan-control-height,30px);
    box-sizing: border-box;
    margin: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background-color: var(--bg);
    color: var(--text);
    box-shadow: none;
    font-family: var(--font-num);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
  }
  .plan-view .plan-form-grid input:not([type="checkbox"]),.plan-view .plan-ratio-fieldset input:not([type="checkbox"]) {
    padding: 0 8px;
  }
  .plan-view .plan-form-grid select {
    -webkit-appearance: none;
    appearance: none;
    padding: 0 26px 0 8px;
    background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
    background-position: calc(100% - 13px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px);
    background-size: 4px 4px,4px 4px;
    background-repeat: no-repeat;
  }
  .plan-view .plan-currency-field select {
    text-align: center;
    text-align-last: center;
    padding-left: 6px;
    padding-right: 22px;
  }
  .plan-view .plan-form-grid input[type="date"] {
    padding-left: 8px;
    padding-right: 6px;
  }
  @media (max-width:760px) {
    .plan-tool-selector {
      grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .plan-tool-card {
      border-right: 1px solid var(--plan-ledger-line);
      border-bottom: 0;
    }
    .plan-tool-card:nth-child(3) {
      border-right: 0;
    }
    .plan-purchase-primary-form {
      grid-template-columns: minmax(0,1fr) 76px var(--plan-reset-width);
      grid-template-areas: "monthly currency action" "start start months";
    }
  }
  @media (max-width:390px) {
    .plan-purchase-primary-form {
      grid-template-columns: minmax(0,1fr) 70px var(--plan-reset-width);
    }
  }
  .plan-view {
    margin-top: 10px;
    padding: 10px;
    border: 0;
    background: var(--plan-soft);
  }
  .plan-view .plan-head.page-ledger-head {
    padding: 8px 8px 12px;
    border: 0;
    background: transparent;
  }
  .plan-view .page-ledger-title {
    color: var(--text);
    font-family: var(--font-title);
    font-size: clamp(34px,4vw,52px);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.055em;
    text-transform: none;
  }
  .plan-view .plan-title-block>span {
    margin-top: 7px;
    color: var(--muted);
    font: 700 7px/1.2 var(--font-num);
    letter-spacing: .12em;
  }
  .plan-view .plan-head-export,.plan-view .plan-secondary-btn {
    border: 0;
    border-radius: 8px;
    background: var(--plan-paper);
    box-shadow: 0 1px 0 color-mix(in srgb,var(--text) 7%,transparent);
  }
  .plan-view .plan-data-notice {
    margin: 0 8px 7px;
    border: 0;
    background: color-mix(in srgb,var(--warning) 8%,var(--plan-paper));
  }
  .plan-view .plan-simulation-notice {
    margin: 0 -10px 8px;
    padding: 7px 18px;
    border: 0;
    border-top: 1px solid color-mix(in srgb,var(--border) 58%,transparent);
    border-bottom: 1px solid color-mix(in srgb,var(--border) 58%,transparent);
    background: transparent;
  }
  .plan-view .plan-summary-block {
    margin: 0 0 10px;
    border: 0;
    border-radius: var(--plan-card-radius);
    background: var(--plan-paper);
  }
  .plan-view .plan-summary-block>summary {
    min-height: 46px;
    padding: 11px 13px;
    border-bottom: 1px solid color-mix(in srgb,var(--border) 60%,transparent);
  }
  .plan-view .plan-summary-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
  }
  .plan-view .plan-summary-title>b {
    font: 800 8px/1.2 var(--font-label);
    letter-spacing: .07em;
    text-transform: uppercase;
  }
  .plan-view .plan-summary-title>small {
    text-align: right;
  }
  .plan-view .plan-metric {
    min-height: 46px;
    padding: 8px 13px;
    border-bottom: 1px solid color-mix(in srgb,var(--border) 55%,transparent);
  }
  .plan-view .plan-metric:last-child {
    border-bottom: 0;
  }
  .plan-view .plan-metric>strong,.plan-view .plan-metric-comparison strong {
    font-size: 12px;
  }
  .plan-view .plan-tools-ledger {
    margin: 0;
    border: 0;
  }
  .plan-view .plan-tools-title {
    min-height: 42px;
    margin: 0 -10px 8px;
    padding: 10px 18px;
    border: 0;
    border-top: 1px solid color-mix(in srgb,var(--border) 58%,transparent);
    border-bottom: 1px solid color-mix(in srgb,var(--border) 58%,transparent);
    background: transparent;
  }
  .plan-view .plan-tools-title h3 {
    color: var(--muted);
    font-size: 9px;
    letter-spacing: .1em;
  }
  .plan-view .plan-shared-cash {
    margin: 0 0 8px;
    padding: 13px;
    border: 0;
    border-radius: var(--plan-card-radius);
    background: var(--plan-paper);
    box-shadow: 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent);
  }
  .plan-view .plan-shared-cash-title {
    margin-bottom: 10px;
  }
  .plan-view .plan-shared-cash-title b {
    font-size: 9px;
    letter-spacing: .07em;
  }
  .plan-view .plan-shared-cash-title>small {
    font-size: 8px;
  }
  .plan-view .plan-form-grid input:not([type="checkbox"]),.plan-view .plan-form-grid select,.plan-view .plan-ratio-fieldset input:not([type="checkbox"]),.plan-view .plan-linked-option-control,.plan-view .plan-inline-budget>div {
    border: 0;
    border-radius: 6px;
    background: color-mix(in srgb,var(--bg) 80%,var(--surface));
    box-shadow: inset 0 -1px 0 color-mix(in srgb,var(--text) 9%,transparent);
  }
  .plan-view .plan-tool-selector {
    margin: 0 0 8px;
    border: 0;
    border-radius: 10px;
    background: color-mix(in srgb,var(--bg) 60%,var(--muted-bg));
    box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--border) 35%,transparent);
  }
  .plan-view .plan-tool-card {
    min-height: 61px;
    padding: 10px 13px;
    border: 0;
    border-right: 1px solid color-mix(in srgb,var(--border) 48%,transparent);
    background: transparent;
    box-shadow: none;
  }
  .plan-view .plan-tool-card:last-child {
    border-right: 0;
  }
  .plan-view .plan-tool-card.is-active {
    opacity: 1;
    background: var(--plan-paper);
    box-shadow: inset 0 -2px 0 var(--text);
  }
  .plan-view .plan-tool-card:not(.is-active) {
    opacity: .62;
    filter: none;
    background: transparent;
  }
  .plan-view .plan-tool-card-copy b {
    font-size: 9px;
  }
  .plan-view .plan-tool-card .plan-tool-status {
    margin-top: 5px;
    font-size: 8px;
  }
  .plan-view .plan-tool-workspace {
    border: 0;
    border-radius: var(--plan-card-radius);
    background: var(--plan-paper);
    box-shadow: 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent);
  }
  .plan-view .plan-tool-panel .plan-tool-body,.plan-view .plan-purchase-panel .plan-tool-body {
    padding: 0 14px 14px;
  }
  .plan-view .plan-tool-panel-head {
    min-height: 56px;
    padding: 13px 0 11px;
    border-bottom: 1px solid color-mix(in srgb,var(--border) 55%,transparent);
  }
  .plan-view .plan-tool-panel-head b {
    font-size: 9px;
    letter-spacing: .065em;
  }
  .plan-view .plan-tool-panel-head small {
    font-size: 8px;
  }
  .plan-view .plan-allocation-option {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 55%,transparent);
  }
  .plan-view .plan-allocation-option>summary {
    padding: 10px 0;
  }
  .plan-view .plan-allocation-option>summary b {
    font-size: 8px;
  }
  .plan-view .plan-allocation-option>summary small {
    font-size: 7px;
  }
  .plan-view .plan-allocation-option[open]>summary {
    padding-bottom: 8px;
  }
  .plan-view .plan-ratio-fieldset {
    gap: 8px;
    margin: 0 0 10px;
    padding: 10px;
    border: 0;
    border-radius: 8px;
    background: color-mix(in srgb,var(--muted-bg) 58%,var(--plan-paper));
  }
  .plan-view .plan-purchase-tool-wrap {
    margin-top: 8px;
    border: 0;
    border-radius: var(--plan-card-radius);
    background: var(--plan-paper);
    box-shadow: 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent);
  }
  .plan-view .plan-purchase-tool-card {
    min-height: 54px;
    padding: 10px 13px;
    background: transparent;
  }
  .plan-view .plan-purchase-tool-card.is-active {
    border-bottom: 1px solid color-mix(in srgb,var(--border) 55%,transparent);
  }
  .plan-view .plan-flexibility-disclosure {
    margin-top: 8px;
    border: 0;
    border-radius: var(--plan-card-radius);
    background: var(--plan-paper);
    box-shadow: 0 1px 0 color-mix(in srgb,var(--text) 6%,transparent);
  }
  @media (max-width:760px) {
    .plan-view {
      margin-top: 7px;
      padding: 7px;
    }
    .plan-view .plan-head.page-ledger-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      min-height: 65px;
      padding: 7px 5px 10px;
    }
    .plan-view .page-ledger-title {
      font-size: 38px;
    }
    .plan-view .plan-head-actions {
      margin-top: 0;
      justify-content: flex-end;
    }
    .plan-view .plan-simulation-notice {
      margin-left: -7px;
      margin-right: -7px;
      padding-left: 12px;
      padding-right: 12px;
    }
    .plan-view .plan-summary-title {
      display: block;
    }
    .plan-view .plan-summary-title>small {
      display: block;
      margin-top: 3px;
      white-space: normal;
      text-align: left;
    }
    .plan-view .plan-metric {
      grid-template-columns: 86px minmax(88px,.8fr) minmax(0,1fr);
      padding: 8px 10px;
    }
    .plan-view .plan-tools-title {
      margin-left: -7px;
      margin-right: -7px;
      padding-left: 12px;
      padding-right: 12px;
    }
    .plan-view .plan-shared-cash,.plan-view .plan-tool-panel .plan-tool-body,.plan-view .plan-purchase-panel .plan-tool-body {
      padding-left: 10px;
      padding-right: 10px;
    }
    .plan-view .plan-tool-card {
      padding: 9px 8px;
    }
  }
  .plan-view .plan-summary-block {
    margin: 0 0 10px;
    border: 0;
    border-radius: var(--radius-md);
    background: color-mix(in srgb,var(--surface) 78%,var(--bg));
    box-shadow: none;
  }
  .plan-view .plan-summary-block>summary {
    min-height: 42px;
    padding: 8px 12px;
    border-bottom: 1px solid color-mix(in srgb,var(--border) 76%,transparent);
  }
  .plan-view .plan-summary-block .plan-summary-title {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: baseline;
    justify-content: stretch;
    gap: 12px;
    width: 100%;
  }
  .plan-view .plan-summary-block .plan-summary-title>b {
    font: 700 10px/1.2 var(--font-ui);
    letter-spacing: .065em;
  }
  .plan-view .plan-summary-block .plan-summary-title>small {
    font: 400 10px/1.3 var(--font-ui);
    text-align: right;
  }
  .plan-view .plan-summary-block .plan-tool-collapse {
    width: 22px;
    height: 22px;
  }
  .plan-view .plan-metrics {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    margin: 0;
  }
  .plan-view .plan-summary-block .plan-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 116px;
    padding: 14px 10px 13px;
    border: 0;
    border-right: 1px solid color-mix(in srgb,var(--border) 76%,transparent);
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
  }
  .plan-view .plan-summary-block .plan-metric:last-child {
    border-right: 0;
  }
  .plan-view .plan-summary-block .plan-metric>span {
    color: var(--muted);
    font: 600 11px/1.2 var(--font-ui);
    letter-spacing: 0;
    text-transform: none;
  }
  .plan-view .plan-summary-block .plan-metric>strong,.plan-view .plan-summary-block .plan-metric-comparison strong {
    overflow: visible;
    font: 700 clamp(22px,2.05vw,29px)/1 var(--font-num);
    letter-spacing: -.045em;
    text-overflow: clip;
  }
  .plan-view .plan-summary-block .plan-metric>small {
    color: var(--muted);
    font: 400 9px/1.35 var(--font-ui);
    text-align: center;
  }
  @media (max-width:900px) {
    .plan-view .plan-summary-block .plan-metric {
      min-height: 104px;
      padding: 12px 7px;
    }
    .plan-view .plan-summary-block .plan-metric>strong,.plan-view .plan-summary-block .plan-metric-comparison strong {
      font-size: clamp(19px,2.5vw,25px);
    }
  }
  @media (max-width:680px) {
    .plan-view .plan-summary-block .plan-summary-title {
      display: block;
    }
    .plan-view .plan-summary-block .plan-summary-title>small {
      text-align: left;
    }
    .plan-view .plan-metrics {
      display: grid;
      grid-template-columns: repeat(6,minmax(0,1fr));
      grid-auto-flow: row;
    }
    .plan-view .plan-summary-block .plan-metric {
      grid-column: span 2;
      min-width: 0;
      min-height: 94px;
      border-right: 1px solid color-mix(in srgb,var(--border) 76%,transparent);
      border-bottom: 0;
    }
    .plan-view .plan-summary-block .plan-metric:nth-child(-n + 2) {
      grid-column: span 3;
    }
    .plan-view .plan-metrics:has(.plan-metric:nth-child(3)) .plan-metric:nth-child(-n + 2) {
      border-bottom: 1px solid color-mix(in srgb,var(--border) 76%,transparent);
    }
    .plan-view .plan-summary-block .plan-metric:nth-child(n + 6) {
      border-top: 1px solid color-mix(in srgb,var(--border) 76%,transparent);
    }
    .plan-view .plan-summary-block .plan-metric:nth-child(2),.plan-view .plan-summary-block .plan-metric:nth-child(3n + 2),.plan-view .plan-summary-block .plan-metric:last-child {
      border-right: 0;
    }
  }
}

/* ==========================================================================
   Secili kalem kismi odenmez
   Nakit tamamina yetmiyorsa satir listede kalir, tutar 0 gorunur ve
   eksik tutar altta yazar. Boylece secimi Dashboard'dan geri alabilirsin.
   ========================================================================== */
.plan-payment-row.is-held strong {
  color: var(--muted);
}

.plan-payment-row.is-held > time,
.plan-payment-row.is-held > span > b {
  opacity: .75;
}

/* ==========================================================================
   Nakit kullanim modelinde cift ayirici
   Panel basliginin alt cizgisi ile secenek listesinin ust cizgisi bitisik
   iki komsu olarak ust uste biniyordu. Listenin ust cizgisi kaldirildi,
   basliginki yeterli.
   ========================================================================== */
.plan-tool-panel-head + .plan-allocation-options,
.plan-allocation-options {
  border-top: 0;
}

.plan-allocation-options::before {
  padding-top: 8px;
}

/* Beklenen Tahsilat karti ile Plan akisi basligi arasindaki bosluk
   kartin alt cizgisi kaldirildiktan sonra tek kaynaktan geliyor. */
.plan-view .plan-tools-title {
  margin-top: 0;
  padding-top: 8px;
  padding-bottom: 8px;
}


/* v17.12.8 linked ratio slider presentation */
#planView .plan-ratio-fieldset.plan-ratio-slider-set {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

#planView .plan-ratio-slider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 20px;
  gap: 4px 10px;
  align-items: center;
  min-width: 0;
}

#planView .plan-ratio-slider > span {
  margin: 0;
}

#planView .plan-ratio-slider > output {
  justify-self: end;
  color: var(--text);
  font: 700 9px/1 var(--font-num);
  font-variant-numeric: tabular-nums;
}

#planView .plan-ratio-slider > input[type="range"] {
  grid-column: 1 / -1;
  width: 100%;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

#planView .plan-ratio-slider > input[type="range"]::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(to right, color-mix(in srgb, var(--text) 58%, transparent) 0 var(--ratio-fill, 0%), color-mix(in srgb, var(--muted) 17%, transparent) var(--ratio-fill, 0%) 100%);
}

#planView .plan-ratio-slider > input[type="range"]::-webkit-slider-thumb {
  width: 16px;
  height: 16px;
  margin-top: -6px;
  border: 2px solid var(--plan-paper, var(--surface));
  border-radius: 50%;
  background: var(--text);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--text) 14%, transparent);
  -webkit-appearance: none;
  appearance: none;
}

#planView .plan-ratio-slider > input[type="range"]::-moz-range-track {
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 17%, transparent);
}

#planView .plan-ratio-slider > input[type="range"]::-moz-range-progress {
  height: 4px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text) 58%, transparent);
}

#planView .plan-ratio-slider > input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border: 2px solid var(--plan-paper, var(--surface));
  border-radius: 50%;
  background: var(--text);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--text) 14%, transparent);
}

#planView .plan-ratio-slider-set .plan-ratio-status {
  grid-column: 1;
  margin-top: 0;
}


/* v17.12.9 editable half-step ratio values */
#planView .plan-ratio-slider > output[data-plan-ratio-output] {
  min-width: 42px;
  padding: 3px 5px;
  border: 1px solid transparent;
  border-radius: var(--ui-radius-control, 6px);
  background: transparent;
  cursor: text;
  outline: none;
  text-align: right;
  white-space: nowrap;
}

#planView .plan-ratio-slider > output[data-plan-ratio-output]:hover {
  background: color-mix(in srgb, var(--muted) 6%, transparent);
}

#planView .plan-ratio-slider > output[data-plan-ratio-output]:focus {
  border-color: color-mix(in srgb, var(--text) 24%, transparent);
  background: color-mix(in srgb, var(--muted) 8%, transparent);
}
