/* Shared layout fixes verified across the existing investor screens. */
main, .page, .nav-tools, .pf-layout > *, .dg-catalog-layout > *,
.vp-goal-layout > *, .wd-cycle-banner > * { min-width: 0; }
.pt-payment-row > .pt-countdown { min-width: 0; max-width: 58%; white-space: normal; text-align: right; overflow-wrap: anywhere; }
.pt-countdown.is-pending { font-size: 12px; line-height: 1.6; letter-spacing: 0; }

/* Switch the header before its desktop navigation runs out of room. */
@media (min-width: 761px) and (max-width: 1000px) {
  .nav-wrap { gap: 16px; }
  .nav-tools { margin-left: auto; }
  .header-demo, .profile-button { display: none; }
  .mobile-menu { display: flex; }
  .main-nav {
    display: none; position: absolute; top: 75px; left: 18px; right: 18px;
    margin: 0; padding: 16px; background: #071a44; border: 1px solid #29436c;
    border-radius: 4px; box-shadow: 0 15px 35px #071a4429;
  }
  .main-nav.mobile-open { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
  .main-nav .nav-item { min-height: 44px; justify-content: flex-start; font-size: 12px; color: #c7d5eb; }
  .main-nav .nav-item.active { color: #f6d88a; background: #ffffff0b; }
  .main-nav .mobile-extra { display: flex !important; }
}

@media (max-width: 760px) {
  .nav-wrap { gap: 12px; }
  .nav-tools { margin-left: auto; gap: 4px; }
  .topbar .icon-button { width: 40px; height: 44px; }
  .main-nav.mobile-open { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .main-nav .nav-item { min-height: 44px; font-size: 12px; justify-content: flex-start; white-space: normal; line-height: 1.5; }
  .page input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),
  .page select, .page textarea, dialog input:not([type=checkbox]):not([type=radio]),
  dialog select, dialog textarea { font-size: 16px !important; min-width: 0; }
  .page input[type=search] { width: 100%; }
  .page #au-pin { font-size: 24px !important; }
  .search-field { min-height: 44px; }
  .activity-controls { flex-wrap: wrap; }
  .activity-controls select { flex: 1; min-height: 44px; }
  .st-filter-bar, .net-filter-bar, .pt-filters { min-width: 0; flex-wrap: wrap; }
  .st-filter-bar .search-field, .net-filter-bar .search-field, .pt-filters .search-field { min-width: 0; flex: 1 1 100%; }
  .pt-filters select { width: 100%; max-width: none; min-height: 44px; }
  .pf-row { min-height: 60px; }
  .account-back, .vp-back, .au-topline a { min-height: 44px; display: inline-flex; align-items: center; }
  .au-form-actions > button, .au-country, .au-submit { min-height: 48px; }
  .dg-calculator select, .dg-calculator input:not([type=range]) { min-height: 44px; }
  .dg-calculator .gold-button, .ip-actions button, .pf-wallet-card .gold-button { min-height: 44px; }
  .dg-package > button { min-height: 44px; }
  .dg-package-price > strong { font-size: clamp(15px,4.3vw,20px); }
  .pt-agent-fields { align-items: stretch; }
  .pt-agent-heading > div { min-width: 0; }
  .pf-network-badge, .wd-hero .token-network-chip { white-space: normal; }
  .pf-row > b, .pt-asset-id, .ip-invoice-top code { overflow-wrap: anywhere; }
  .nt-popover { max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
  dialog { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
  .toast { width: max-content; max-width: calc(100vw - 32px); overflow-wrap: anywhere; }
}

@media (max-width: 370px) {
  .topbar .original-logo { width: 140px; }
  .nav-wrap { padding-inline: 16px; gap: 8px; }
  .nav-tools { gap: 0; }
  .topbar .icon-button { width: 38px; }
  .dg-package-price, .dg-package-return { padding-inline: 10px; }
  .dg-package-price > strong { font-size: 15px; letter-spacing: -.6px; }
  .dg-package-return > strong { font-size: 11px; }
  .vp-line-grid { grid-template-columns: 1fr; }
  .wd-cycle-banner { grid-template-columns: 1fr; }
  .wd-cycle-counter { text-align: left; }
  .wd-cycle-terms { flex-wrap: wrap; }
}

@media (max-height: 550px) and (max-width: 1000px) {
  .main-nav.mobile-open { max-height: calc(100dvh - 90px); overflow-y: auto; }
}
