/* Shared account panel: dashboard, mobile welcome icon and page headers. */
.tb-account-menu.dropdown-menu {
    --account-bg: #fff;
    --account-ink: #10141c;
    --account-muted: #67748e;
    --account-border: #e8e8f4;
    --account-hover: #f0f0ff;
    --account-accent: #2b3aff;
    width: min(480px, calc(100vw - 24px));
    min-width: 0;
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    margin-top: 10px !important;
    padding: 0;
    border: 1px solid var(--account-border);
    border-radius: 14px;
    background: var(--account-bg);
    color: var(--account-ink);
    font: 400 14px/1.5 "Open Sans", sans-serif;
    box-shadow: 0 16px 56px #10141c24;
}
.tb-account-panel { list-style: none; }
.tb-account-panel-header { display: flex; align-items: center; gap: 14px; padding: 22px 24px; border-bottom: 1px solid var(--account-border); }
.tb-account-mark { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border: 1px solid var(--account-border); border-radius: 12px; background: var(--account-hover); }
.tb-account-identity { min-width: 0; }
.tb-account-name { margin: 0; color: var(--account-ink); font-size: 15px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.tb-account-email { margin: 3px 0 0; color: var(--account-muted); font-size: 12px; overflow-wrap: anywhere; }
.tb-account-panel-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 20px 16px; }
.tb-account-menu .tb-account-section-title { margin: 0 0 10px; padding: 0 10px; color: var(--account-muted); font: 600 12px/1.5 "Open Sans", sans-serif; letter-spacing: 0; }
.tb-account-links { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.tb-account-menu .tb-account-link { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; padding: 10px; border-radius: 7px; color: var(--account-ink); font: 400 13px/1.5 "Open Sans", sans-serif; white-space: normal; text-decoration: none; }
.tb-account-link i { flex: 0 0 20px; width: 20px; color: var(--account-muted); text-align: center; font-size: 16px; }
.tb-account-link span { min-width: 0; overflow-wrap: anywhere; }
.tb-account-menu .tb-account-link:is(:hover,:focus,:active) { background: var(--account-hover); color: var(--account-ink); }
.tb-account-menu :is(a,button):focus-visible { outline: 2px solid var(--account-accent); outline-offset: -2px; }
.tb-account-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-top: 1px solid var(--account-border); }
.tb-account-panel-footer .tb-account-section-title { margin-bottom: 3px; padding: 0; }
.tb-account-theme-hint { margin: 0; color: var(--account-muted); font-size: 10px; }
.tb-account-theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex-shrink: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--account-border); border-radius: 8px; background: transparent; color: var(--account-ink); font: 400 11px/1.5 "Open Sans", sans-serif; cursor: pointer; }
.tb-account-theme-toggle:hover { background: var(--account-hover); }
.tb-account-theme-toggle > i { font-size: 14px; color: var(--account-muted); }
.tb-account-theme-switch { position: relative; display: inline-block; width: 28px; height: 18px; flex-shrink: 0; border-radius: 20px; background: #b8bfd1; }
.tb-account-theme-switch::before { content: ""; position: absolute; left: 3px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: #fff; }
.tb-account-theme-toggle[aria-pressed="true"] .tb-account-theme-switch { background: #7884ff; }
.tb-account-theme-toggle[aria-pressed="true"] .tb-account-theme-switch::before { transform: translateX(10px); }
html[data-portal-theme="dark"] .tb-account-menu { --account-bg: #2d314a; --account-ink: #eef0fa; --account-muted: #b6bdd3; --account-border: #484e69; --account-hover: #393f5c; --account-accent: #aeb5ff; box-shadow: 0 16px 56px #0005; }
html[data-portal-theme="dark"] .tb-account-mark img { filter: brightness(0) invert(1); }
@media (max-width: 575.98px) {
    .tb-account-panel-header { padding: 18px; }
    .tb-account-panel-groups { gap: 8px; padding: 16px 10px; }
    .tb-account-menu .tb-account-link { gap: 8px; font-size: 12px; padding: 10px 8px; }
    .tb-account-panel-footer { flex-wrap: wrap; padding: 16px 18px; gap: 12px; }
    .tb-account-theme-toggle { margin-left: auto; }
}
@media (max-width: 575.98px) {
    .tb-account-menu.dropdown-menu {
        position: fixed !important;
        inset: var(--account-menu-top, 76px) 12px auto !important;
        transform: none !important;
        width: auto;
        margin: 0 !important;
        max-height: calc(100dvh - var(--account-menu-top, 76px) - 12px);
    }
}
/* Use an opaque panel instead of the legacy navbar dropdown compositing. */
.dropdown .tb-account-menu.dropdown-menu {
    animation: none !important;
    transition: none !important;
    will-change: auto;
    backface-visibility: visible;
    isolation: isolate;
    background: var(--account-bg);
}
.tb-account-panel { background: var(--account-bg); border-radius: inherit; }
.tb-account-menu::before, .tb-account-menu::after { display: none !important; }
.dropdown .tb-account-menu.dropdown-menu { margin-top: 8px !important; }
@media (max-width: 575.98px) {
    .dropdown .tb-account-menu.dropdown-menu { margin: 0 !important; }
}
