.portal-menu { position: relative; }
.portal-menu .portal-menu-trigger {
    display: inline-flex; align-items: center; gap: 7px; padding: 2px 0;
    border: 0; background: transparent; color: #fff; cursor: pointer;
}
.portal-menu .portal-menu-trigger > i { font-size: 14px; }
.portal-menu .portal-menu-trigger span { display: inline-flex; align-items: center; gap: 6px; }
.portal-menu .portal-menu-dropdown {
    display: block !important;
    top: calc(100% + 12px); right: 0; width: 280px; min-width: 280px; padding: 0;
    overflow: visible; border: 1px solid #e1e6ef; border-top: 3px solid #fed700;
    border-radius: 6px; background: #fff; box-shadow: 0 14px 34px rgba(23, 39, 76, .18);
    opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-6px);
    transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
}
.portal-menu.is-open .portal-menu-dropdown {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
    transition-delay: 0s;
}
.portal-menu .portal-menu-dropdown::before { display: none; }
.li-header-4 .ht-menu > li.portal-menu .portal-menu-dropdown span { color: inherit; font-size: inherit; }
.portal-menu-heading {
    display: flex; align-items: center; gap: 11px; padding: 17px 18px 14px;
    border-bottom: 1px solid #edf0f5;
}
.portal-menu-heading-icon {
    display: inline-flex; width: 36px; height: 36px; flex: 0 0 36px; align-items: center;
    justify-content: center; border-radius: 6px; background: #fff4b8; color: #293a6c !important;
}
.portal-menu-heading strong, .portal-menu-heading small,
.portal-menu-links strong, .portal-menu-links small { display: block; }
.portal-menu-heading strong { color: #18264e; font-size: 14px; line-height: 1.35; }
.portal-menu-heading small { margin-top: 2px; color: #77829a; font-size: 11px; }
.portal-menu-links { padding: 7px; }
.portal-menu-links > a {
    display: flex; min-height: 54px; align-items: center; gap: 11px; padding: 9px 10px;
    border-left: 3px solid transparent; border-radius: 5px; color: #34415f;
    text-decoration: none; transition: background-color .15s ease, border-color .15s ease;
}
.portal-menu-links > a:hover, .portal-menu-links > a.is-current {
    border-left-color: #fed700; background: #f4f7fc; color: #1d3168;
}
.portal-menu-links > a.is-current { box-shadow: inset 0 0 0 1px #e7ebf3; }
.portal-menu-links > a > i:first-child {
    width: 24px; color: #61708d; font-size: 16px; text-align: center;
}
.portal-menu-links > a > span { min-width: 0; flex: 1; }
.portal-menu-links strong { color: #263657; font-size: 13px; font-weight: 700; line-height: 1.3; }
.portal-menu-links small { margin-top: 2px; color: #748097; font-size: 11px; line-height: 1.4; }
.portal-menu-links > a:hover strong, .portal-menu-links > a.is-current strong { color: #14295f; }
.portal-menu-arrow { color: #a6afbf; }
.portal-menu-store-link {
    display: flex; align-items: center; justify-content: center; gap: 7px; padding: 12px 14px;
    border-top: 1px solid #edf0f5; border-radius: 0 0 5px 5px; background: #fafbfc;
    color: #52607a; font-size: 11px; font-weight: 600;
}
.portal-menu-store-link:hover { color: #1d3168; }
.portal-menu-avatar { display: inline-grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; border-radius: 50%; background: #203a77; color: #fff; font-size: 15px; font-weight: 800; }
.portal-menu-logout { display: flex; width: 100%; align-items: center; gap: 10px; padding: 13px 18px; border: 0; border-top: 1px solid #e3e8f2; background: #fff; color: #c51f36; font-weight: 700; text-align: left; cursor: pointer; }
.portal-menu-logout:hover { background: #fff3f5; }
@media (max-width: 575px) {
    .portal-menu .portal-menu-dropdown {
        right: 50%; width: min(280px, calc(100vw - 24px)); min-width: 0;
        transform: translate(50%, -6px);
    }
    .portal-menu.is-open .portal-menu-dropdown { transform: translate(50%, 0); }
}
