/* Shared Life View account menu, tinted for the company site. */
[data-sso-authenticated][hidden], [data-sso-anonymous][hidden] { display: none !important; }
.site-navigation { margin-left: auto; }
.header-actions { display: flex; align-items: center; flex: 0 0 auto; }
.header-login { padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; font-weight: 600; white-space: nowrap; }
.header-login:hover, .header-login:focus-visible { color: var(--accent); background: #f7f4fb; }
.account-menu { position: relative; margin: 0; padding: 0; border: 0; }
.account-menu summary { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; list-style: none; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu summary img { display: block; width: 24px; height: 24px; }
.account-menu summary:hover, .account-menu[open] summary { border-color: var(--accent); background: #f7f4fb; }
.account-menu summary:focus-visible { outline: 3px solid var(--accent-bright); outline-offset: 3px; }
.account-popover { position: absolute; z-index: 80; top: calc(100% + 12px); right: 0; display: grid; width: min(310px, calc(100vw - 32px)); padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 22px 60px rgba(75,42,70,.18); text-align: left; }
.account-popover-heading { padding: 10px 12px 13px; border-bottom: 1px solid var(--line); }
.account-popover-heading span { color: var(--muted); font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.account-popover > a { display: block; padding: 11px 12px; border-radius: 9px; color: var(--ink); line-height: 1.4; font-weight: 720; text-align: left; text-decoration: none; }
.account-popover > a > small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 400; }
.account-popover > a:hover, .account-popover > a:focus-visible { background: #f7f4fb; }
.account-popover > .account-menu-logout { color: #a32424; }
@media (max-width: 900px) { .nav-toggle { margin-left: auto; } .nav-shell { gap: 14px; } }
@media (prefers-reduced-motion: no-preference) { .account-popover a, .account-menu summary { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease; } }

/* Cross-service navigation: same layout, each site's own palette. */
.services-menu { position: relative; flex: 0 0 auto; margin: 0; padding: 0; border: 0; }
.services-menu > summary { display: flex; align-items: center; gap: 6px; min-height: 42px; padding: 8px 10px; border-radius: 10px; cursor: pointer; list-style: none; font-weight: 650; color: inherit; }
.services-menu > summary::-webkit-details-marker { display: none; }
.services-menu > summary:hover, .services-menu[open] > summary { background: var(--blue-soft, var(--wash, var(--ice, #f7f4fb))); }
.services-popover { position: absolute; z-index: 90; top: calc(100% + 10px); right: 0; width: min(290px, calc(100vw - 32px)); padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 14px 40px rgb(30 40 65 / 14%); }
.services-popover > a { display: block; padding: 12px; border-radius: 10px; text-align: left; text-decoration: none; color: inherit; }
.services-popover > a:hover { background: var(--blue-soft, var(--wash, var(--ice, #f7f4fb))); }
.services-popover strong { display: block; font-weight: 700; }
.services-popover small { display: block; margin-top: 3px; font-size: 13px; font-weight: 400; color: var(--muted); }
.header-create-account { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 15px; border: 1px solid transparent; border-radius: 12px; background: var(--blue, var(--accent, var(--teal-dark, #643662))); color: #fff !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; }
.header-create-account:hover { filter: brightness(.94); }
[data-signup][hidden] { display: none !important; }
@media (prefers-reduced-motion: no-preference) { .services-menu summary, .services-popover a, .header-create-account { transition: background-color 160ms ease, color 160ms ease, filter 160ms ease; } }

.header-actions { gap: 12px; }
@media (max-width: 680px) { .nav-shell { flex-wrap: wrap; } .header-actions { margin-left: auto; gap: 8px; } }
