/* Compact shared navigation. Native details keep menus usable by keyboard and touch. */
.service-header.compact-header{gap:12px;position:relative;z-index:20}
.service-header .compact-service-nav{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;width:auto;font:14px/1.4 system-ui,sans-serif}
.compact-service-nav .compact-menu{position:relative;min-width:0;margin:0}
.compact-service-nav summary{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:10px 14px;border:1px solid #d4dacf;border-radius:12px;background:#fffaf8;color:#344031;cursor:pointer;list-style:none;font-weight:600}
.compact-service-nav summary::-webkit-details-marker{display:none}
.compact-service-nav summary:after{content:'⌄';font-size:18px;line-height:1}
.compact-service-nav details[open] summary{border-color:#53664b}
.compact-service-nav .compact-menu-panel{position:absolute;z-index:50;top:calc(100% + 8px);right:0;min-width:220px;padding:7px;border:1px solid #dedfd5;border-radius:14px;background:white;box-shadow:0 12px 35px #343d3420}
.service-header .compact-service-nav .compact-menu-panel a,.service-header .compact-service-nav .compact-menu-panel button{position:static!important;box-sizing:border-box;display:flex!important;width:100%!important;max-width:none!important;min-height:44px;justify-content:flex-start;text-align:left;padding:11px 12px;font:14px/1.4 system-ui,sans-serif;border:0;border-radius:8px;white-space:normal;color:#344031;background:transparent;grid-column:auto;grid-row:auto}
.service-header .compact-service-nav .compact-menu-panel a:hover,.service-header .compact-service-nav .compact-menu-panel button:hover{background:#f6e8e7}
.service-header .compact-service-nav .compact-menu-panel .service-current{background:#eef1e7;font-weight:700}
.compact-service-nav :is(summary,a,button):focus-visible{outline:3px solid #b8798b;outline-offset:2px}
.portal-entry-grid{gap:12px}.portal-entry-grid .portal-entry-card{position:relative;display:flex;flex-direction:column;padding:20px;border-radius:16px;background:#fff;margin:0;min-width:0}
.portal-entry-grid .portal-entry-card>span{font-size:26px;line-height:1.2;margin-bottom:10px}
.portal-entry-grid .portal-entry-card h3{font:650 19px/1.3 system-ui,sans-serif;margin:0 0 8px}
.portal-entry-grid .portal-entry-card p{font-size:14px;line-height:1.5;margin:0 0 14px;color:#697267;flex:1}
.portal-entry-grid .portal-entry-card .primary-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 14px;font:600 14px/1.4 system-ui,sans-serif;border-radius:10px;white-space:nowrap}
@media(max-width:1023px){
 .service-header.compact-header{display:flex;flex-direction:column;padding:8px 16px 12px;gap:6px}
 .service-header.compact-header .service-brand{margin:0 auto}
 .service-header .compact-service-nav{display:grid!important;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:10px}
 .compact-service-nav .compact-services summary{font-size:14px}
 .compact-service-nav .compact-account summary{font-size:13px}
 .compact-service-nav .compact-services .compact-menu-panel{right:auto;left:0;max-width:calc(100vw - 32px)}
}
@media(max-width:760px){
 .portal-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .portal-entry-grid .portal-entry-card{padding:15px;border-radius:14px}
 .portal-entry-grid .portal-entry-card h3{font-size:16px}
 .portal-entry-grid .portal-entry-card p{font-size:13px;line-height:1.45;margin-bottom:12px}
 .portal-entry-grid .portal-entry-card .primary-link{font-size:13px;padding:9px 11px}
 [aria-labelledby=portal-entry-title]{margin-top:26px}
 #portal-entry-title{font-size:28px;line-height:1.2;margin-bottom:16px}
}
@media(max-width:340px){.compact-service-nav summary{padding:10px;gap:8px}.portal-entry-grid .portal-entry-card{padding:12px}}
@media print{.service-header.compact-header{display:none!important}}
.service-header .compact-service-nav .compact-menu-panel .demo{position:static!important;width:auto!important;max-width:none!important;margin:0;padding:8px 12px;font-size:13px;grid-column:auto;grid-row:auto}
.service-header .compact-service-nav .compact-menu-panel .demo button{position:static!important;width:100%!important;max-width:none!important;min-height:44px;font:14px/1.4 system-ui,sans-serif}

/* Draw chevrons with borders so they do not depend on a font glyph. */
.compact-service-nav summary:after{content:"";width:7px;height:7px;display:block;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 2px 4px 0}
/* Long account menus remain scrollable on short screens and at larger text sizes. */
.compact-service-nav .compact-menu-panel{max-height:50vh;max-height:50dvh;overflow-y:auto;overscroll-behavior:contain}
