.root { --bottom-nav-height: 56px; } .content { max-width: 1120px; margin-inline: auto; } .brand { align-items: center; border-bottom: 1px solid var(--mantine-color-gray-3); display: flex; min-height: 60px; padding-inline: var(--mantine-spacing-sm); } .navList { padding: var(--mantine-spacing-sm); } .bottomNav { display: none; } .navIcon { display: inline-flex; flex-shrink: 0; } .portfolioIcon { color: var(--mantine-color-blue-7); } .cardsIcon { color: var(--mantine-color-grape-7); & svg { overflow: visible; } } .stocksIcon { color: var(--mantine-color-green-8); } .bondsIcon { color: var(--mantine-color-orange-8); } .settingsIcon { color: var(--mantine-color-gray-7); } @media (prefers-reduced-motion: no-preference) { .navLink { transition: background-color 180ms ease-in-out; } } @media (max-width: 47.99375em) { .bottomNav { background: var(--mantine-color-white); border-top: 1px solid var(--mantine-color-gray-3); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); inset: auto 0 0; min-height: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px); padding-inline: max(4px, env(safe-area-inset-left, 0px)) max(4px, env(safe-area-inset-right, 0px)); position: fixed; z-index: var(--mantine-z-index-app); } .bottomNavItem { align-items: center; color: var(--mantine-color-gray-7); display: flex; flex-direction: column; gap: 2px; justify-content: center; min-height: var(--bottom-nav-height); min-width: 0; text-decoration: none; &:active .iconPill { background-color: var(--mantine-color-gray-1); } &:focus-visible { outline: 2px solid var(--mantine-primary-color-filled); outline-offset: -2px; } } @media (hover: hover) { .bottomNavItem:hover .iconPill { background-color: var(--mantine-color-gray-1); } } .iconPill { align-items: center; border-radius: 14px; display: inline-flex; height: 28px; justify-content: center; width: 48px; } .bottomNavLabel { font-size: 12px; font-weight: 500; line-height: 16px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @media (prefers-reduced-motion: no-preference) { .bottomNavItem, .iconPill { transition: background-color 150ms ease-in-out, color 150ms ease-in-out; } } .active { color: var(--mantine-primary-color-filled); & .iconPill { background-color: var(--mantine-primary-color-light); } } .main { padding-bottom: calc( var(--bottom-nav-height) + env(safe-area-inset-bottom, 0px) + var(--mantine-spacing-md) ); } }