/* Version 5.4 — Navigation and notification center */

.portal-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:#0d2a43;
    color:#fff;
    box-shadow:0 2px 14px rgba(15,23,42,.16);
}

.portal-header-inner{
    display:flex;
    align-items:center;
    min-height:76px;
    gap:26px;
}

.portal-brand{
    display:flex;
    flex:0 0 245px;
    flex-direction:column;
    gap:3px;
    color:#fff;
    text-decoration:none;
    line-height:1.25;
}

.portal-brand strong{
    font-size:1.05rem;
    font-weight:850;
}

.portal-brand span{
    color:rgba(255,255,255,.82);
    font-size:.8rem;
}

.portal-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-width:0;
    width:100%;
}

.portal-nav-group{
    display:flex;
    align-items:center;
    gap:4px;
}

.portal-nav-group-main{
    min-width:0;
}

.portal-nav-group-account{
    flex:0 0 auto;
}

.portal-nav a,
.portal-nav-dropdown-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 11px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#fff;
    text-decoration:none;
    font:inherit;
    font-size:.91rem;
    font-weight:750;
    line-height:1.15;
    white-space:nowrap;
    cursor:pointer;
    transition:
        background-color .16s ease,
        color .16s ease,
        transform .16s ease;
}

.portal-nav a:hover,
.portal-nav a:focus-visible,
.portal-nav-dropdown-toggle:hover,
.portal-nav-dropdown-toggle:focus-visible{
    background:rgba(255,255,255,.12);
    color:#fff;
    outline:none;
}

.portal-nav a:active,
.portal-nav-dropdown-toggle:active{
    transform:translateY(1px);
}

.portal-icon-link{
    position:relative;
    width:42px;
    padding:8px !important;
}

.portal-icon-link svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.portal-logout-link{
    background:rgba(255,255,255,.08) !important;
}

.notification-bell-count{
    position:absolute;
    top:2px;
    right:1px;
    min-width:19px;
    height:19px;
    padding:0 5px;
    border:2px solid #0d2a43;
    border-radius:999px;
    background:#dc2626;
    color:#fff;
    font-size:.68rem;
    line-height:15px;
    text-align:center;
    font-weight:850;
}

.portal-nav-dropdown{
    position:relative;
}

.portal-nav-dropdown-toggle{
    gap:6px;
}

.portal-nav-dropdown-toggle svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    transition:transform .16s ease;
}

.portal-nav-dropdown.is-open .portal-nav-dropdown-toggle svg{
    transform:rotate(180deg);
}

.portal-nav-dropdown-menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    display:none;
    min-width:205px;
    padding:8px;
    border:1px solid #d9e0e7;
    border-radius:11px;
    background:#fff;
    box-shadow:0 18px 50px rgba(15,23,42,.2);
}

.portal-nav-dropdown.is-open .portal-nav-dropdown-menu{
    display:grid;
}

.portal-nav-dropdown-menu a{
    justify-content:flex-start;
    color:#1f2937;
}

.portal-nav-dropdown-menu a:hover,
.portal-nav-dropdown-menu a:focus-visible{
    background:#eef4f8;
    color:#0d2a43;
}

.portal-menu-toggle{
    display:none;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:9px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.portal-menu-bars{
    display:grid;
    gap:4px;
    width:20px;
}

.portal-menu-bars span{
    display:block;
    height:2px;
    border-radius:99px;
    background:currentColor;
    transition:transform .18s ease, opacity .18s ease;
}

.portal-menu-toggle.is-open .portal-menu-bars span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}

.portal-menu-toggle.is-open .portal-menu-bars span:nth-child(2){
    opacity:0;
}

.portal-menu-toggle.is-open .portal-menu-bars span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}

.portal-nav-backdrop{
    position:fixed;
    inset:76px 0 0;
    z-index:990;
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(2px);
}

body.portal-menu-open{
    overflow:hidden;
}

/* Notification center */
.notification-center{
    width:min(1180px,100%);
    margin:0 auto 28px;
    padding:24px;
    border:1px solid #d9e0e7;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 26px rgba(15,23,42,.07);
}

.notification-center-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:26px;
}

.notification-heading-line{
    display:flex;
    align-items:center;
    gap:12px;
}

.notification-heading-line h1{
    margin:0;
    font-size:clamp(1.85rem,3vw,2.45rem);
    line-height:1.05;
}

.notification-unread-total{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:4px 9px;
    border-radius:999px;
    background:#e8f2fb;
    color:#0b5790;
    font-size:.78rem;
    font-weight:850;
}

.notification-center-header p{
    margin:16px 0 0;
    color:#4b5563;
}

.mark-all-read-form{
    margin:0;
}

.mark-all-read-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:12px 18px;
    border:0;
    border-radius:10px;
    background:#0d2a43;
    color:#fff;
    font:inherit;
    font-weight:850;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(13,42,67,.16);
}

.mark-all-read-button:hover{
    background:#123a5d;
}

.mark-all-read-button svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.notification-feed{
    display:grid;
    gap:12px;
}

.notification-feed-item{
    margin:0;
}

.notification-feed-button{
    position:relative;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    width:100%;
    min-height:96px;
    padding:17px 18px;
    border:1px solid #d6dde5;
    border-radius:12px;
    background:#fff;
    color:#1f2937;
    text-align:left;
    cursor:pointer;
    box-shadow:0 5px 14px rgba(15,23,42,.055);
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease,
        background-color .16s ease;
}

.notification-feed-button:hover{
    border-color:#aab9c8;
    box-shadow:0 9px 22px rgba(15,23,42,.09);
    transform:translateY(-1px);
}

.notification-feed-item.is-unread .notification-feed-button{
    border-left:4px solid #0b78d1;
    background:linear-gradient(90deg,#f8fbff 0,#fff 28%);
    padding-left:15px;
}

.notification-event-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:#e7f2ff;
    color:#0872cc;
}

.notification-event-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.notification-event-icon-document{
    background:#eef2ff;
    color:#4f46e5;
}

.notification-event-icon-vote{
    background:#fff4df;
    color:#b76700;
}

.notification-event-icon-assignment{
    background:#e9f9ef;
    color:#15803d;
}

.notification-feed-content{
    display:flex;
    flex-direction:column;
    gap:9px;
    min-width:0;
}

.notification-feed-title{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    color:#172033;
    font-size:1.02rem;
    font-weight:850;
    line-height:1.3;
}

.notification-case-badge{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:4px 8px;
    border-radius:7px;
    background:#e5e9ed;
    color:#263445;
    font-size:.84rem;
    font-weight:850;
}

.notification-feed-summary{
    color:#263445;
    line-height:1.45;
}

.notification-feed-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    min-width:230px;
    color:#4b5563;
    font-size:.88rem;
    text-align:right;
    white-space:nowrap;
}

.notification-meta-separator{
    color:#9ca3af;
}

.notification-mobile-arrow{
    display:none;
    color:#64748b;
    font-size:1.75rem;
}

.notification-feed-item.is-read{
    opacity:.78;
}

.notification-feed-item.is-read .notification-feed-button{
    box-shadow:none;
}

.notification-empty-state{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:280px;
    padding:36px;
    border:1px dashed #c9d2dc;
    border-radius:12px;
    background:#f8fafc;
    text-align:center;
}

.notification-empty-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    margin-bottom:14px;
    border-radius:999px;
    background:#e7f2ff;
    color:#0872cc;
}

.notification-empty-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.notification-empty-state h2{
    margin:0 0 7px;
}

.notification-empty-state p{
    margin:0;
    color:#64748b;
}

@media(max-width:1180px){
    .portal-header-inner{
        gap:15px;
    }

    .portal-brand{
        flex-basis:205px;
    }

    .portal-nav a,
    .portal-nav-dropdown-toggle{
        padding-left:8px;
        padding-right:8px;
        font-size:.85rem;
    }
}

@media(max-width:960px){
    .portal-header-inner{
        min-height:68px;
        justify-content:space-between;
    }

    .portal-brand{
        flex:1 1 auto;
    }

    .portal-brand span{
        max-width:235px;
    }

    .portal-menu-toggle{
        display:inline-flex;
        flex:0 0 auto;
    }

    .portal-nav{
        position:fixed;
        top:68px;
        right:0;
        bottom:0;
        z-index:1001;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        width:min(390px,88vw);
        padding:16px;
        overflow-y:auto;
        background:#0d2a43;
        box-shadow:-14px 0 40px rgba(15,23,42,.28);
        transform:translateX(104%);
        visibility:hidden;
        transition:
            transform .22s ease,
            visibility .22s ease;
    }

    .portal-nav.is-open{
        transform:translateX(0);
        visibility:visible;
    }

    .portal-nav-group{
        display:grid;
        align-items:stretch;
        gap:5px;
    }

    .portal-nav-group + .portal-nav-group{
        margin-top:18px;
        padding-top:18px;
        border-top:1px solid rgba(255,255,255,.15);
    }

    .portal-nav a,
    .portal-nav-dropdown-toggle{
        justify-content:flex-start;
        width:100%;
        min-height:47px;
        padding:11px 13px;
        font-size:.96rem;
    }

    .portal-icon-link{
        width:100%;
    }

    .portal-icon-link::after{
        content:'Notifications';
        margin-left:10px;
    }

    .portal-nav-dropdown-menu{
        position:static;
        min-width:0;
        margin-top:5px;
        padding:6px;
        border:0;
        background:rgba(255,255,255,.08);
        box-shadow:none;
    }

    .portal-nav-dropdown-menu a{
        color:#fff;
        padding-left:26px;
    }

    .portal-nav-dropdown-menu a:hover,
    .portal-nav-dropdown-menu a:focus-visible{
        background:rgba(255,255,255,.12);
        color:#fff;
    }

    .portal-nav-backdrop{
        inset:68px 0 0;
    }
}

@media(max-width:760px){
    .notification-center{
        padding:18px;
        border-radius:12px;
    }

    .notification-center-header{
        flex-direction:column;
        gap:17px;
        margin-bottom:20px;
    }

    .notification-center-header p{
        margin-top:11px;
        line-height:1.5;
    }

    .mark-all-read-form,
    .mark-all-read-button{
        width:100%;
    }

    .notification-feed-button{
        grid-template-columns:36px minmax(0,1fr) auto;
        align-items:start;
        min-height:0;
        padding:15px;
    }

    .notification-feed-item.is-unread .notification-feed-button{
        padding-left:12px;
    }

    .notification-event-icon{
        width:32px;
        height:32px;
    }

    .notification-feed-content{
        gap:7px;
    }

    .notification-feed-title{
        font-size:.98rem;
    }

    .notification-feed-summary{
        font-size:.91rem;
    }

    .notification-feed-meta{
        grid-column:2 / 3;
        justify-content:flex-start;
        flex-wrap:wrap;
        min-width:0;
        font-size:.8rem;
        text-align:left;
        white-space:normal;
    }

    .notification-mobile-arrow{
        display:block;
        grid-column:3;
        grid-row:1 / span 2;
        align-self:center;
    }
}

@media(max-width:480px){
    .portal-header-inner{
        min-height:64px;
    }

    .portal-brand strong{
        font-size:.98rem;
    }

    .portal-brand span{
        font-size:.72rem;
    }

    .portal-menu-toggle{
        padding:8px 10px;
    }

    .portal-menu-label{
        display:none;
    }

    .portal-nav{
        top:64px;
        width:92vw;
    }

    .portal-nav-backdrop{
        inset:64px 0 0;
    }

    .notification-center{
        padding:15px;
        margin-bottom:18px;
    }

    .notification-heading-line{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .notification-heading-line h1{
        font-size:1.85rem;
    }

    .notification-feed{
        gap:10px;
    }

    .notification-feed-button{
        grid-template-columns:32px minmax(0,1fr) 15px;
        gap:10px;
        padding:13px 12px;
    }

    .notification-feed-item.is-unread .notification-feed-button{
        padding-left:9px;
    }

    .notification-event-icon{
        width:30px;
        height:30px;
        border-radius:8px;
    }

    .notification-event-icon svg{
        width:18px;
        height:18px;
    }

    .notification-case-badge{
        min-height:24px;
        padding:3px 7px;
        font-size:.77rem;
    }

    .notification-meta-separator{
        display:none;
    }

    .notification-feed-meta{
        display:grid;
        gap:2px;
    }
}

/* Version 5.4.2 — notification page color correction
   The global navigation remains dark navy.
   Only the notification content panel and its heading remain white. */
.page-notifications .notification-center{
    margin-top:0;
    background:#ffffff;
}

.page-notifications .notification-center-header{
    padding-bottom:18px;
    border-bottom:1px solid #e5eaf0;
    background:#ffffff;
}

.page-notifications .notification-feed{
    margin-top:18px;
    background:#ffffff;
}

@media(max-width:760px){
    .page-notifications .notification-center-header{
        padding-bottom:14px;
    }
}

/* Version 5.4.3 — definitive notification and mobile navigation repair */

/* Keep the portal navigation dark navy on every page. */
.portal-header,
.page-notifications .portal-header{
    background:#0d2a43 !important;
    color:#ffffff !important;
    border-radius:0 !important;
}

.portal-header .portal-brand,
.portal-header .portal-brand strong,
.portal-header .portal-nav > .portal-nav-group > a,
.portal-header .portal-nav-dropdown-toggle,
.portal-header .portal-icon-link{
    color:#ffffff !important;
}

.portal-header .portal-brand span{
    color:rgba(255,255,255,.82) !important;
}

/* The notification content area is white with dark readable text. */
.page-notifications .notification-center,
.page-notifications .notification-center-header,
.page-notifications .notification-feed{
    background:#ffffff !important;
    color:#1f2937 !important;
}

.page-notifications .notification-heading-line,
.page-notifications .notification-heading-line h1,
.page-notifications .notification-center-header h1{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#172033 !important;
}

.page-notifications .notification-center-header p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#4b5563 !important;
}

.page-notifications .mark-all-read-form{
    display:block;
}

.page-notifications .mark-all-read-button{
    display:inline-flex !important;
    width:auto !important;
    max-width:none !important;
    background:#0d2a43 !important;
    color:#ffffff !important;
}

/*
 * Override legacy mobile.css rules that convert the header wrapper to a grid,
 * hide #primary-nav with !important, and make every button full width.
 */
@media(max-width:960px){
    .portal-header{
        position:sticky !important;
        top:0 !important;
        width:100% !important;
        min-height:68px !important;
        height:68px !important;
        max-height:68px !important;
        padding:0 !important;
        overflow:visible !important;
        border-radius:0 !important;
    }

    .portal-header .portal-header-inner,
    header.portal-header .wrap.portal-header-inner{
        display:flex !important;
        grid-template-columns:none !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-wrap:nowrap !important;
        width:min(100% - 24px,1180px) !important;
        min-height:68px !important;
        height:68px !important;
        max-height:68px !important;
        margin:0 auto !important;
        padding:0 !important;
        gap:14px !important;
    }

    .portal-brand{
        flex:1 1 auto !important;
        min-width:0 !important;
        padding:0 !important;
    }

    .portal-menu-toggle{
        display:inline-flex !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:48px !important;
        max-width:none !important;
        min-height:44px !important;
        height:44px !important;
        margin:0 !important;
        padding:9px 12px !important;
    }

    #primary-nav.portal-nav{
        position:fixed !important;
        top:68px !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        z-index:1001 !important;
        display:flex !important;
        grid-column:auto !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        width:min(390px,88vw) !important;
        max-width:390px !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:16px !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        background:#0d2a43 !important;
        box-shadow:-14px 0 40px rgba(15,23,42,.28) !important;
        transform:translateX(104%) !important;
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;
        transition:transform .22s ease,opacity .18s ease,visibility .22s ease !important;
    }

    #primary-nav.portal-nav.is-open{
        display:flex !important;
        transform:translateX(0) !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    #primary-nav.portal-nav .portal-nav-group{
        display:grid !important;
        width:100% !important;
        gap:5px !important;
    }

    #primary-nav.portal-nav a,
    #primary-nav.portal-nav .portal-nav-dropdown-toggle{
        display:flex !important;
        justify-content:flex-start !important;
        width:100% !important;
        max-width:none !important;
        min-height:47px !important;
        margin:0 !important;
        padding:11px 13px !important;
        border:0 !important;
        border-radius:8px !important;
        color:#ffffff !important;
        text-align:left !important;
    }

    #primary-nav.portal-nav .portal-icon-link{
        width:100% !important;
    }

    #primary-nav.portal-nav .portal-nav-dropdown-menu{
        position:static !important;
        width:100% !important;
        min-width:0 !important;
        margin-top:5px !important;
        padding:6px !important;
        border:0 !important;
        background:rgba(255,255,255,.08) !important;
        box-shadow:none !important;
    }

    #primary-nav.portal-nav .portal-nav-dropdown-menu a{
        padding-left:26px !important;
    }

    .portal-nav-backdrop{
        position:fixed !important;
        inset:68px 0 0 !important;
        z-index:990 !important;
        background:rgba(15,23,42,.55) !important;
        border-radius:0 !important;
    }

    .portal-nav-backdrop[hidden]{
        display:none !important;
    }
}

@media(max-width:760px){
    .portal-header{
        min-height:64px !important;
        height:64px !important;
        max-height:64px !important;
    }

    .portal-header .portal-header-inner,
    header.portal-header .wrap.portal-header-inner{
        width:100% !important;
        min-height:64px !important;
        height:64px !important;
        max-height:64px !important;
        padding:0 14px !important;
    }

    #primary-nav.portal-nav{
        top:64px !important;
        width:min(360px,90vw) !important;
    }

    .portal-nav-backdrop{
        inset:64px 0 0 !important;
    }

    .page-notifications .notification-center{
        padding:18px !important;
    }

    .page-notifications .notification-center-header{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:16px !important;
        padding-bottom:16px !important;
    }

    .page-notifications .mark-all-read-button{
        width:100% !important;
    }
}

@media(max-width:480px){
    .portal-header .portal-header-inner,
    header.portal-header .wrap.portal-header-inner{
        padding:0 12px !important;
    }

    .portal-brand strong{
        font-size:.98rem !important;
    }

    .portal-brand span{
        font-size:.72rem !important;
        line-height:1.25 !important;
    }

    .portal-menu-toggle{
        width:46px !important;
        min-width:46px !important;
        height:44px !important;
        padding:9px !important;
    }
}


/* Version 5.6.2 — coordinated notification hover and cleaner administration menu */
.portal-nav-dropdown-divider{
    height:1px;
    margin:6px 4px;
    background:#e2e8f0;
}

.notification-feed-button:hover,
.notification-feed-button:focus-visible{
    border-color:#3f647e !important;
    background:#496f88 !important;
    color:#f8fbff !important;
    box-shadow:0 10px 24px rgba(15,23,42,.18) !important;
    transform:translateY(-1px);
    outline:none;
}

.notification-feed-button:hover .notification-feed-title,
.notification-feed-button:hover .notification-feed-summary,
.notification-feed-button:hover .notification-feed-meta,
.notification-feed-button:hover .notification-feed-meta time,
.notification-feed-button:hover .notification-meta-separator,
.notification-feed-button:hover .notification-mobile-arrow,
.notification-feed-button:focus-visible .notification-feed-title,
.notification-feed-button:focus-visible .notification-feed-summary,
.notification-feed-button:focus-visible .notification-feed-meta,
.notification-feed-button:focus-visible .notification-feed-meta time,
.notification-feed-button:focus-visible .notification-meta-separator,
.notification-feed-button:focus-visible .notification-mobile-arrow{
    color:#f3f7fa !important;
}

.notification-feed-button:hover .notification-case-badge,
.notification-feed-button:focus-visible .notification-case-badge{
    background:rgba(255,255,255,.92) !important;
    color:#29485f !important;
}

.notification-feed-button:hover .notification-event-icon,
.notification-feed-button:focus-visible .notification-event-icon{
    background:rgba(255,255,255,.92) !important;
    color:#126aa8 !important;
}

.notification-feed-item.is-read .notification-feed-button:hover,
.notification-feed-item.is-read .notification-feed-button:focus-visible{
    opacity:1;
}

@media(max-width:960px){
    .portal-nav-dropdown-divider{
        background:rgba(255,255,255,.18);
    }
}


/* Version 7.6.3 — crisp mobile drawer and uncluttered header */
@media(max-width:960px){
    .portal-nav-backdrop{
        z-index:900 !important;
        background:rgba(9,18,30,.60) !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
        filter:none !important;
    }

    #primary-nav.portal-nav{
        filter:none !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
        opacity:1;
    }

    .portal-menu-toggle{
        background:rgba(255,255,255,.08) !important;
        border-color:rgba(255,255,255,.42) !important;
        box-shadow:none !important;
        filter:none !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
    }

    .portal-menu-toggle.is-open{
        background:rgba(255,255,255,.13) !important;
        border-color:rgba(255,255,255,.68) !important;
    }

    .portal-brand{
        display:grid !important;
        align-content:center !important;
        gap:2px !important;
        overflow:visible !important;
    }

    .portal-brand strong{
        display:block !important;
        max-width:100% !important;
        line-height:1.12 !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }

    .portal-brand span{
        display:block !important;
        max-width:100% !important;
        line-height:1.2 !important;
        white-space:normal !important;
    }
}

@media(max-width:480px){
    .portal-header,
    .portal-header .portal-header-inner,
    header.portal-header .wrap.portal-header-inner{
        min-height:78px !important;
        height:78px !important;
        max-height:78px !important;
    }

    .portal-header .portal-header-inner,
    header.portal-header .wrap.portal-header-inner{
        gap:10px !important;
        padding:0 12px !important;
    }

    .portal-brand strong{
        font-size:1rem !important;
        line-height:1.08 !important;
    }

    .portal-brand span{
        font-size:.72rem !important;
        line-height:1.16 !important;
    }

    #primary-nav.portal-nav{
        top:78px !important;
    }

    .portal-nav-backdrop{
        inset:78px 0 0 !important;
    }

    body.sticky-mobile-header-enabled{
        padding-top:78px !important;
    }

    .portal-menu-toggle{
        width:48px !important;
        min-width:48px !important;
        height:48px !important;
        min-height:48px !important;
        border-radius:10px !important;
    }

    .portal-menu-label{
        display:none !important;
    }
}


/*
 * Version 7.6.4 — logged-out mobile menu interaction repair.
 *
 * Keep the navigation drawer above the backdrop on every mobile page,
 * including public/login pages that do not have a saved sticky-header
 * preference.
 */
@media(max-width:960px){
    .portal-nav-backdrop{
        z-index:900 !important;
    }

    #primary-nav.portal-nav{
        position:fixed !important;
        z-index:1003 !important;
        pointer-events:auto !important;
    }

    #primary-nav.portal-nav a,
    #primary-nav.portal-nav button,
    #primary-nav.portal-nav .portal-nav-dropdown-toggle{
        position:relative;
        z-index:1004;
        pointer-events:auto !important;
        opacity:1 !important;
    }

    .portal-menu-toggle{
        position:relative;
        z-index:1005 !important;
        pointer-events:auto !important;
    }

    body.portal-nav-open{
        overflow:hidden;
    }
}


/*
 * Version 7.6.5 — public-menu stacking-context correction.
 *
 * The drawer is inside the header. Raise the complete header while the
 * mobile menu is open so an external backdrop cannot dim or intercept it.
 */
@media(max-width:960px){
    body.portal-nav-open .portal-header,
    body.portal-nav-open header.portal-header{
        position:relative !important;
        z-index:1100 !important;
        isolation:isolate !important;
    }

    body.sticky-mobile-header-enabled.portal-nav-open .portal-header,
    body.sticky-mobile-header-enabled.portal-nav-open
        header.portal-header{
        position:fixed !important;
        z-index:1100 !important;
    }

    body.portal-nav-open #primary-nav.portal-nav{
        z-index:1103 !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        filter:none !important;
        -webkit-filter:none !important;
    }

    body.portal-nav-open .portal-menu-toggle{
        z-index:1104 !important;
        opacity:1 !important;
        pointer-events:auto !important;
        filter:none !important;
        -webkit-filter:none !important;
    }

    body.portal-nav-open .portal-nav-backdrop{
        z-index:1000 !important;
        backdrop-filter:none !important;
        -webkit-backdrop-filter:none !important;
        filter:none !important;
    }

    body.portal-nav-open #primary-nav.portal-nav a,
    body.portal-nav-open #primary-nav.portal-nav button,
    body.portal-nav-open
        #primary-nav.portal-nav .portal-nav-dropdown-toggle{
        color:#fff !important;
        opacity:1 !important;
        pointer-events:auto !important;
        filter:none !important;
        -webkit-filter:none !important;
    }
}


/* Version 7.8.0 — notification archive and pagination */
.notification-view-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:18px 0 10px;
}

.notification-view-tabs{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:0;
    background:transparent;
}

.notification-view-tabs a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 13px;
    border:1px solid #cfd9e3;
    border-radius:999px;
    background:#f7f9fb;
    color:#334155;
    font-weight:800;
    text-decoration:none;
}

.notification-view-tabs a span{
    display:inline-grid;
    place-items:center;
    min-width:24px;
    height:24px;
    padding:0 6px;
    border-radius:999px;
    background:#e5ebf0;
    color:#435268;
    font-size:.76rem;
}

.notification-view-tabs a.is-active{
    border-color:#0d5b89;
    background:#0d5b89;
    color:#fff;
}

.notification-view-tabs a.is-active span{
    background:rgba(255,255,255,.2);
    color:#fff;
}

.notification-archive-read-button{
    width:auto;
    padding:9px 13px;
    border:1px solid #b8c5d0;
    border-radius:8px;
    background:#fff;
    color:#3f4d60;
    font-weight:800;
}

.notification-result-count{
    margin:0 0 12px;
    color:#66768a;
    font-size:.88rem;
}

.notification-feed-item{
    position:relative;
    padding-right:92px;
}

.notification-item-action{
    position:absolute;
    top:50%;
    right:12px;
    z-index:3;
    width:auto;
    min-width:68px;
    padding:8px 10px;
    border:1px solid #c9d4df;
    border-radius:8px;
    background:#fff;
    color:#455468;
    font-size:.78rem;
    font-weight:800;
    transform:translateY(-50%);
}

.notification-item-action:hover,
.notification-item-action:focus-visible{
    border-color:#0d5b89;
    color:#0d5b89;
}

.notification-restore-button{
    border-color:#9bc7ae;
    background:#f0fbf4;
    color:#17633c;
}

.notification-pagination{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:12px;
    min-height:0;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #e1e7ed;
    background:transparent;
}

.notification-pagination a,
.notification-pagination .is-disabled{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 14px;
    border:1px solid #cbd6df;
    border-radius:8px;
    background:#fff;
    color:#0d5b89;
    font-weight:800;
    text-decoration:none;
}

.notification-pagination a:last-child,
.notification-pagination .is-disabled:last-child{
    justify-self:end;
}

.notification-pagination .is-disabled{
    color:#99a5b2;
    background:#f5f7f9;
}

.notification-page-status{
    color:#59697c;
    font-weight:800;
    white-space:nowrap;
}

@media(max-width:760px){
    .notification-view-toolbar{
        display:grid;
        grid-template-columns:1fr;
    }

    .notification-view-tabs{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }

    .notification-view-tabs a{
        justify-content:center;
        border-radius:9px;
    }

    .notification-view-toolbar form,
    .notification-archive-read-button{
        width:100%;
    }

    .notification-feed-item{
        padding-right:0;
        padding-bottom:52px;
    }

    .notification-item-action{
        top:auto;
        right:12px;
        bottom:9px;
        transform:none;
    }

    .notification-pagination{
        grid-template-columns:1fr 1fr;
    }

    .notification-page-status{
        grid-column:1 / -1;
        grid-row:1;
        justify-self:center;
    }

    .notification-pagination a:first-child,
    .notification-pagination .is-disabled:first-child{
        grid-column:1;
        grid-row:2;
    }

    .notification-pagination a:last-child,
    .notification-pagination .is-disabled:last-child{
        grid-column:2;
        grid-row:2;
    }
}
