/* Final responsive and touch behavior layer for GenFIRE. */
body {
  -webkit-user-select: none;
  user-select: none;
}

@media (max-width: 720px) {
  body[data-app-view="plans"] .manual-fire-target {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body[data-app-view="plans"] .manual-fire-target > label {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: end !important;
  }

  body[data-app-view="plans"] .asset-entry > .entry-title,
  body[data-app-view="plans"] .asset-entry > .field-help,
  body[data-app-view="plans"] .asset-entry > .balance-share,
  body[data-app-view="plans"] .asset-entry > .risk-level-field,
  body[data-app-view="plans"] .asset-entry > .inline-check,
  body[data-app-view="plans"] .asset-entry > .real-property-sale-fields,
  body[data-app-view="plans"] .liability-entry > .entry-title,
  body[data-app-view="plans"] .liability-entry > .balance-share,
  body[data-app-view="plans"] .liability-entry > .inline-check {
    grid-column: 1 / -1 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return > input[type="number"],
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > input[type="number"] {
    grid-column: 1 !important;
    margin-top: 0 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .compact-suffix,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .compact-suffix {
    grid-column: 2 !important;
    align-self: end !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .liability-entry > .interest-label {
    display: none !important;
  }

  body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label {
    padding-top: 18px !important;
  }

  body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label::before {
    content: attr(data-inline-label) !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:first-child,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .risk-level-field,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .custom-row-check,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .remove-item,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:first-child,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .custom-row-check,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .remove-item {
    grid-column: 1 / -1 !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(2),
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(3),
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(2),
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(3) {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-computed-saving {
    grid-column: 1 !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-savings-rate {
    grid-column: 2 !important;
  }
}
*** End of File

/* Last-word amount/share/return pairing: amount + percentage bar on the left, return/interest on the right. */
body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.72fr) !important;
  gap: 10px 14px !important;
  align-items: start !important;
}

body[data-app-view="plans"] .asset-entry > .entry-title,
body[data-app-view="plans"] .asset-entry > .field-help,
body[data-app-view="plans"] .asset-entry > .risk-level-field,
body[data-app-view="plans"] .asset-entry > .inline-check,
body[data-app-view="plans"] .asset-entry > .real-property-sale-fields,
body[data-app-view="plans"] .liability-entry > .entry-title,
body[data-app-view="plans"] .liability-entry > .inline-check {
  grid-column: 1 / -1 !important;
}

body[data-app-view="plans"] .asset-entry.asset-entry-has-return > input[type="number"],
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > input[type="number"] {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  margin: 0 !important;
}

body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .balance-share,
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .balance-share {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .compact-suffix,
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .compact-suffix {
  grid-column: 2 !important;
  grid-row: 2 / 4 !important;
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body[data-app-view="plans"] .liability-entry > .interest-label {
  display: none !important;
}

body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label {
  padding-top: 18px !important;
}

body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label::before {
  content: attr(data-inline-label) !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.72fr) !important;
  gap: 12px 14px !important;
  align-items: start !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:first-child,
body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .risk-level-field,
body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .custom-row-check,
body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .remove-item,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:first-child,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .custom-row-check,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .remove-item {
  grid-column: 1 / -1 !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(2),
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(2) {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(3),
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(3) {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 420px) {
  body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
    grid-template-columns: minmax(0, 1fr) minmax(108px, 0.82fr) !important;
    gap: 10px !important;
  }
}

/* Final amount/share/return pairing: amount + percentage bar on the left, return/interest on the right. */
body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.72fr) !important;
  gap: 10px 14px !important;
  align-items: start !important;
}

body[data-app-view="plans"] .asset-entry > .entry-title,
body[data-app-view="plans"] .asset-entry > .field-help,
body[data-app-view="plans"] .asset-entry > .risk-level-field,
body[data-app-view="plans"] .asset-entry > .inline-check,
body[data-app-view="plans"] .asset-entry > .real-property-sale-fields,
body[data-app-view="plans"] .liability-entry > .entry-title,
body[data-app-view="plans"] .liability-entry > .inline-check {
  grid-column: 1 / -1 !important;
}

body[data-app-view="plans"] .asset-entry.asset-entry-has-return > input[type="number"],
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > input[type="number"] {
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  margin: 0 !important;
}

body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .balance-share,
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .balance-share {
  grid-column: 1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .compact-suffix,
body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .compact-suffix {
  grid-column: 2 !important;
  grid-row: 2 / 4 !important;
  align-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body[data-app-view="plans"] .liability-entry > .interest-label {
  display: none !important;
}

body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label {
  padding-top: 18px !important;
}

body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label::before {
  content: attr(data-inline-label) !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.72fr) !important;
  gap: 12px 14px !important;
  align-items: start !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:first-child,
body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .risk-level-field,
body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .custom-row-check,
body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .remove-item,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:first-child,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .custom-row-check,
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .remove-item {
  grid-column: 1 / -1 !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(2),
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(2) {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(3),
body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(3) {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 420px) {
  body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
    grid-template-columns: minmax(0, 1fr) minmax(108px, 0.82fr) !important;
    gap: 10px !important;
  }
}

body :where(input, textarea) {
  -webkit-user-select: text;
  user-select: text;
}

body :where(button, a, select, input, textarea, .inline-check, [role="button"], [role="checkbox"], .note-trigger) {
  pointer-events: auto;
}

body :where(.product-header, .app-shell, .workspace, .planner-form, .panel, .dialog-card, .session-management, .dashboard-share-panel) {
  min-width: 0;
  max-width: 100%;
}

body :where(.chart-tooltip, .chart-quick-tooltip, .note-trigger::after) {
  max-width: min(380px, calc(100vw - 28px));
  overflow-wrap: anywhere;
  white-space: normal;
}

body :where(.site-footer, .site-footer *, .app-shell, .workspace, .planner-form, .panel, .section-head, .field-help, .example-note, .summary-panel, .session-panel, .dashboard-share-panel) {
  cursor: url("assets/no-entry-cursor.svg") 10 10, not-allowed;
}

body :where(button, a, select, input, textarea, .inline-check, .inline-check *, [role="button"], [role="checkbox"], .note-trigger, .chart-wrap, .chart-wrap canvas, .chart-tooltip, .chart-tooltip *) {
  cursor: pointer;
}

body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea) {
  cursor: text;
}

body :where(.chart-wrap, .chart-wrap canvas) {
  cursor: crosshair;
}

.language-mobile-buttons {
  display: none;
}

@media (min-width: 901px) {
  body .product-header {
    grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr) !important;
    gap: clamp(10px, 1.4vw, 24px);
  }

  body .account-actions,
  body .menu-button {
    display: none !important;
  }

  body .product-menu,
  body .product-menu[aria-hidden="true"] {
    position: static !important;
    display: contents !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body .product-menu .product-nav {
    grid-column: 2;
    position: static;
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    gap: clamp(4px, 0.8vw, 16px);
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body .product-menu .menu-actions {
    grid-column: 3;
    position: static;
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body .product-menu .product-nav a,
  body .product-menu .product-nav .nav-link {
    position: relative;
    justify-content: center;
    min-height: 76px;
    padding: 0 clamp(7px, 0.8vw, 16px);
    border-radius: 0;
    text-align: center;
    white-space: nowrap;
  }

  body .product-menu .product-nav .is-active::after {
    display: block;
  }

  body .product-menu .language-picker {
    display: block;
    min-width: 0;
  }

  body .product-menu .language-picker span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  body .product-menu .language-picker select {
    width: clamp(118px, 9.5vw, 150px);
    min-height: 44px;
    padding: 0 12px;
    white-space: nowrap;
  }

  body .product-menu .outline-action,
  body .product-menu .app-primary-action {
    width: auto;
    min-height: 44px;
    padding: 0 16px;
    white-space: nowrap;
  }

  body[data-app-view="plans"] .side-nav {
    position: sticky !important;
    top: 96px !important;
    display: grid !important;
    align-self: start;
    grid-column: 1;
    grid-row: 1 / span 4;
    width: auto !important;
    max-height: calc(100vh - 112px);
    overflow: auto;
  }

  body[data-app-view="plans"] .app-shell.is-side-nav-collapsed {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 0 18px !important;
  }

  body[data-app-view="plans"] .side-nav.is-collapsed {
    width: 58px !important;
    overflow: visible;
  }

  body[data-app-view="plans"] .side-nav.is-collapsed .side-nav-toggle {
    justify-content: center;
    padding: 0;
  }

  body[data-app-view="plans"] .side-nav.is-collapsed .side-nav-toggle strong,
  body[data-app-view="plans"] .side-nav.is-collapsed .side-nav-group {
    display: none !important;
  }

  body[data-app-view="plans"] .side-nav-group:not([hidden]) {
    display: grid;
    grid-template-columns: 1fr;
  }

  body[data-app-view="plans"] .custom-item-row {
    grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.45fr);
  }

  body[data-app-view="plans"] .custom-item-row.has-include {
    grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.45fr) minmax(160px, auto);
  }

  body[data-app-view="plans"] .custom-item-row.has-return {
    grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.45fr) minmax(130px, 0.45fr);
  }

  body[data-app-view="plans"] .custom-item-row.has-risk {
    grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.45fr) minmax(190px, 0.65fr);
  }

  body[data-app-view="plans"] .custom-item-row.has-liability-interest {
    grid-template-columns: minmax(210px, 1fr) minmax(130px, 0.45fr) minmax(120px, 0.4fr) minmax(170px, 0.55fr) minmax(160px, auto);
  }

  body[data-app-view="plans"] .cash-flow-row,
  body[data-app-view="plans"] .allocation-range-row {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-app-view="plans"] .allocation-row {
    grid-template-columns: minmax(160px, 0.8fr) minmax(120px, 0.45fr) minmax(120px, 0.45fr) minmax(260px, 1.6fr) auto;
  }

  body[data-app-view="plans"] .allocation-row.has-schedule {
    grid-template-columns: minmax(160px, 0.8fr) minmax(120px, 0.45fr) minmax(120px, 0.45fr) minmax(190px, 0.9fr) minmax(260px, 1.35fr) auto;
  }

  body[data-app-view="dashboard"] .chart-panel canvas {
    aspect-ratio: 760 / 360;
    max-height: 420px;
  }
}

@media (max-width: 900px) {
  body .product-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 64px;
    padding: 0 12px;
  }

  body .account-actions {
    display: flex;
    justify-content: flex-end;
  }

  body .menu-button {
    display: inline-flex !important;
  }

  body .product-brand small {
    display: none;
  }

  body .product-menu,
  body .product-menu[aria-hidden="true"] {
    position: absolute;
    z-index: 80;
    top: calc(100% + 8px);
    right: 12px;
    display: none;
    width: min(360px, calc(100vw - 24px));
    padding: 14px;
    border: 1px solid var(--dashboard-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 20px 48px rgba(16, 33, 63, 0.16);
    overflow: visible;
  }

  body .product-menu.is-open {
    display: grid !important;
    gap: 12px;
  }

  body .product-menu .product-nav,
  body .product-menu .menu-actions {
    display: grid;
    width: 100%;
    gap: 8px;
  }

  body .product-menu .product-nav a,
  body .product-menu .product-nav .nav-link,
  body .product-menu .outline-action,
  body .product-menu .app-primary-action,
  body .product-menu .language-picker select {
    width: 100%;
    max-width: none;
    min-height: 44px;
    justify-content: center;
  }

  body .product-menu .language-picker span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  body .product-menu .language-picker,
  body .product-menu .language-picker select {
    touch-action: manipulation;
  }

  body .product-menu .language-picker select {
    appearance: auto;
    -webkit-appearance: menulist;
  }

  body .language-mobile-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  body .language-mobile-buttons button {
    min-height: 38px;
    border: 1px solid var(--dashboard-line);
    border-radius: 10px;
    background: #fff;
    color: var(--dashboard-navy);
    font-weight: 900;
  }

  body .language-mobile-buttons button.is-active {
    border-color: rgba(0, 98, 81, 0.28);
    background: #e8f6f0;
    color: var(--dashboard-green-dark);
  }

  body .app-shell,
  body[data-app-view="plans"] .app-shell {
    grid-template-columns: minmax(0, 1fr);
    overflow-x: hidden;
  }

  body[data-app-view="resources"] .app-shell,
  body[data-app-view="about"] .app-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 16px 12px 112px !important;
    overflow-x: hidden !important;
  }

  body[data-app-view="resources"] .product-extras,
  body .about-view {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-column: 1 !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .product-extras {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .product-extras > *,
  body .about-view > *,
  body .about-hero,
  body .about-purpose,
  body .about-card,
  body .about-card-grid,
  body .about-section,
  body .resource-card,
  body .resources-card,
  body .learn-card,
  body .support-card,
  body .logo-story,
  body .logo-story-copy,
  body .logo-story-copy dl,
  body .logo-meaning-grid {
    grid-column: 1 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    word-break: normal;
    overflow-wrap: break-word;
  }

  body[data-app-view="plans"] .side-nav {
    display: none !important;
  }

  body[data-app-view="dashboard"] .planner-form,
  body[data-app-view="plans"] .planner-form {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-app-view="plans"] :where(.assumptions-panel, .balance-sheet-grid, .cash-flow-panel, .allocation-plan-panel, .input-grid, .custom-item-row, .cash-flow-row, .allocation-range-row, .allocation-row, .shortfall-row, .liability-repayment-row, .real-property-sale-fields) {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
  }

  body[data-app-view="plans"] :where(input, select, textarea, label, .suffix-input, .risk-level-field, .sale-summary, .balance-share) {
    min-width: 0;
    max-width: 100%;
  }

  body :where(.chart-tooltip, .chart-quick-tooltip) {
    max-width: calc(100vw - 24px);
  }
}

body .note-trigger::after,
body .note-trigger.note-align-left::after,
body .note-trigger.note-align-right::after,
body[data-app-view="dashboard"] .summary-panel .note-trigger::after {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: calc(100% + 10px) !important;
  left: 50% !important;
  width: var(--note-width, min(380px, calc(100vw - 28px))) !important;
  max-width: calc(100vw - 24px) !important;
  transform: translate(calc(-50% + var(--note-offset, 0px)), 6px) !important;
}

body .note-trigger:hover::after,
body .note-trigger:focus::after,
body .note-trigger:focus-visible::after,
body .note-trigger.is-visible::after,
body[data-app-view="dashboard"] .summary-panel .note-trigger:hover::after,
body[data-app-view="dashboard"] .summary-panel .note-trigger:focus::after,
body[data-app-view="dashboard"] .summary-panel .note-trigger:focus-visible::after,
body[data-app-view="dashboard"] .summary-panel .note-trigger.is-visible::after {
  transform: translate(calc(-50% + var(--note-offset, 0px)), 0) !important;
}

body .note-trigger::before,
body .note-trigger.note-align-left::before,
body .note-trigger.note-align-right::before,
body[data-app-view="dashboard"] .summary-panel .note-trigger::before {
  display: block !important;
  right: auto !important;
  left: 50% !important;
  transform: translate(-50%, 6px) rotate(45deg) !important;
}

body .note-trigger:hover::before,
body .note-trigger:focus::before,
body .note-trigger:focus-visible::before,
body .note-trigger.is-visible::before,
body[data-app-view="dashboard"] .summary-panel .note-trigger:hover::before,
body[data-app-view="dashboard"] .summary-panel .note-trigger:focus::before,
body[data-app-view="dashboard"] .summary-panel .note-trigger:focus-visible::before,
body[data-app-view="dashboard"] .summary-panel .note-trigger.is-visible::before {
  transform: translate(-50%, 0) rotate(45deg) !important;
}

@media (hover: none), (pointer: coarse) {
  body .note-trigger:hover::after,
  body .note-trigger:focus::after,
  body .note-trigger:focus-visible::after,
  body .note-trigger:hover::before,
  body .note-trigger:focus::before,
  body .note-trigger:focus-visible::before {
    opacity: 0 !important;
  }

  body .note-trigger.is-visible::after,
  body .note-trigger.is-visible::before {
    opacity: 1 !important;
  }

  body .note-trigger::after,
  body .note-trigger.note-align-left::after,
  body .note-trigger.note-align-right::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger::after {
    position: fixed !important;
    top: var(--note-fixed-top, 96px) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--note-fixed-left, 12px) !important;
    width: var(--note-width, min(300px, calc(100vw - 32px))) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: min(48vh, 340px);
    box-sizing: border-box;
    overflow: auto;
    transform: var(--note-fixed-transform, translateY(0)) !important;
    z-index: 10000;
  }

  body .note-trigger:hover::after,
  body .note-trigger:focus::after,
  body .note-trigger:focus-visible::after,
  body .note-trigger.is-visible::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger:hover::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger:focus::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger:focus-visible::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger.is-visible::after {
    transform: var(--note-fixed-transform, translateY(0)) !important;
  }

  body .note-trigger::before,
  body .note-trigger.note-align-left::before,
  body .note-trigger.note-align-right::before,
  body[data-app-view="dashboard"] .summary-panel .note-trigger::before {
    display: none !important;
  }
}

/* Final mobile field-pairing override for requested compact plan layout. */
@media (max-width: 720px) {
  body[data-app-view="plans"] .manual-fire-target {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body[data-app-view="plans"] .manual-fire-target > label {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: end !important;
  }

  body[data-app-view="plans"] .asset-entry > .entry-title,
  body[data-app-view="plans"] .asset-entry > .field-help,
  body[data-app-view="plans"] .asset-entry > .balance-share,
  body[data-app-view="plans"] .asset-entry > .risk-level-field,
  body[data-app-view="plans"] .asset-entry > .inline-check,
  body[data-app-view="plans"] .asset-entry > .real-property-sale-fields,
  body[data-app-view="plans"] .liability-entry > .entry-title,
  body[data-app-view="plans"] .liability-entry > .balance-share,
  body[data-app-view="plans"] .liability-entry > .inline-check {
    grid-column: 1 / -1 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return > input[type="number"],
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > input[type="number"] {
    grid-column: 1 !important;
    margin-top: 0 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .compact-suffix,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .compact-suffix {
    grid-column: 2 !important;
    align-self: end !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .liability-entry > .interest-label {
    display: none !important;
  }

  body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label {
    padding-top: 18px !important;
  }

  body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label::before {
    content: attr(data-inline-label) !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:first-child,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .risk-level-field,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .custom-row-check,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .remove-item,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:first-child,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .custom-row-check,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .remove-item {
    grid-column: 1 / -1 !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(2),
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(3),
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(2),
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(3) {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-computed-saving {
    grid-column: 1 !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-savings-rate {
    grid-column: 2 !important;
  }
}

/* Latest mobile polish: keep translated header controls compact and keep phone tooltips inside the screen. */
@media (min-width: 901px) {
  body .product-menu {
    column-gap: clamp(10px, 1.2vw, 20px) !important;
  }

  body .product-menu .product-nav a,
  body .product-menu .product-nav .nav-link {
    padding-inline: clamp(8px, 0.75vw, 14px) !important;
    font-size: clamp(0.86rem, 0.9vw, 0.98rem) !important;
  }

  body .product-menu .language-picker select {
    width: clamp(72px, 6vw, 92px) !important;
    padding-inline: 8px !important;
    text-align: center;
  }

  body .product-menu .outline-action,
  body .product-menu .app-primary-action {
    padding-inline: clamp(12px, 1vw, 18px) !important;
  }
}

body select[name$="InterestMethod"],
body .interest-method-help,
body .liability-starting-debt-field {
  display: none !important;
}

@media (max-width: 720px) {
  body {
    padding-bottom: 92px !important;
  }

  body .app-shell,
  body[data-app-view="plans"] .app-shell,
  body[data-app-view="dashboard"] .app-shell {
    padding-bottom: 120px !important;
  }

  body .mobile-tab-bar {
    z-index: 80 !important;
    box-shadow: 0 -4px 16px rgba(23, 33, 31, 0.08) !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head,
  body[data-app-view="plans"] .cash-flow-income-grid,
  body[data-app-view="plans"] .cash-flow-expense-section-head + .input-grid.compact {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > label,
  body[data-app-view="plans"] .cash-flow-income-grid > label,
  body[data-app-view="plans"] .cash-flow-expense-section-head + .input-grid.compact > label {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-saving {
    min-width: 0;
  }

  body[data-app-view="plans"] .cash-flow-income-grid > .salary-field,
  body[data-app-view="plans"] .cash-flow-income-grid > label:has(.cash-flow-salary-increment),
  body[data-app-view="plans"] .cash-flow-income-grid > .retirement-contribution-note,
  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-fire-target,
  body[data-app-view="plans"] .cash-flow-card-head > .fixed-priority-spacer,
  body[data-app-view="plans"] .cash-flow-card-head > .remove-item {
    grid-column: 1 / -1;
  }

  body[data-app-view="plans"] .income-expense-layout {
    gap: 18px;
  }

  body[data-app-view="plans"] .cash-flow-subhead {
    align-items: stretch;
    padding: 12px;
    border: 1px solid rgba(0, 98, 81, 0.12);
    border-radius: 14px;
    background: rgba(232, 246, 240, 0.55);
  }

  body[data-app-view="plans"] .cash-flow-subhead h3 {
    margin: 0;
  }

  body .note-trigger::after,
  body .note-trigger.note-align-left::after,
  body .note-trigger.note-align-right::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger::after {
    position: fixed !important;
    top: var(--note-fixed-top, 72px) !important;
    right: auto !important;
    bottom: auto !important;
    left: var(--note-fixed-left, 16px) !important;
    width: min(360px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: var(--note-max-height, min(34vh, 220px)) !important;
    box-sizing: border-box !important;
    overflow: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    transform: none !important;
    z-index: 10000 !important;
  }

  body .note-trigger:hover::after,
  body .note-trigger:focus::after,
  body .note-trigger:focus-visible::after,
  body .note-trigger.is-visible::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger:hover::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger:focus::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger:focus-visible::after,
  body[data-app-view="dashboard"] .summary-panel .note-trigger.is-visible::after {
    transform: none !important;
  }

  body .note-trigger::before,
  body .note-trigger.note-align-left::before,
  body .note-trigger.note-align-right::before,
  body[data-app-view="dashboard"] .summary-panel .note-trigger::before {
    display: none !important;
  }
}

/* Final mobile field-pairing override for requested compact plan layout. */
@media (max-width: 720px) {
  body[data-app-view="plans"] .manual-fire-target {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body[data-app-view="plans"] .manual-fire-target > label {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: end !important;
  }

  body[data-app-view="plans"] .asset-entry > .entry-title,
  body[data-app-view="plans"] .asset-entry > .field-help,
  body[data-app-view="plans"] .asset-entry > .balance-share,
  body[data-app-view="plans"] .asset-entry > .risk-level-field,
  body[data-app-view="plans"] .asset-entry > .inline-check,
  body[data-app-view="plans"] .asset-entry > .real-property-sale-fields,
  body[data-app-view="plans"] .liability-entry > .entry-title,
  body[data-app-view="plans"] .liability-entry > .balance-share,
  body[data-app-view="plans"] .liability-entry > .inline-check {
    grid-column: 1 / -1 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return > input[type="number"],
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > input[type="number"] {
    grid-column: 1 !important;
    margin-top: 0 !important;
  }

  body[data-app-view="plans"] .asset-entry.asset-entry-has-return > .compact-suffix,
  body[data-app-view="plans"] .liability-entry.liability-entry-has-interest > .compact-suffix {
    grid-column: 2 !important;
    align-self: end !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .liability-entry > .interest-label {
    display: none !important;
  }

  body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label {
    padding-top: 18px !important;
  }

  body[data-app-view="plans"] .liability-entry .compact-suffix.no-inline-label::before {
    content: attr(data-inline-label) !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:first-child,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .risk-level-field,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .custom-row-check,
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > .remove-item,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:first-child,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .custom-row-check,
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > .remove-item {
    grid-column: 1 / -1 !important;
  }

  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(2),
  body[data-app-view="plans"] #assetItemList .custom-item-row.has-return > label:nth-of-type(3),
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(2),
  body[data-app-view="plans"] #liabilityItemList .custom-item-row.has-liability-interest > label:nth-of-type(3) {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-computed-saving {
    grid-column: 1 !important;
  }

  body[data-app-view="plans"] .cash-flow-card-head > .cash-flow-savings-rate {
    grid-column: 2 !important;
  }
}
