/* Shared upper-right navigation, including the chat conversation menu. */
body > header:has(.app-menu), .header-inner:has(.app-menu) { flex-wrap: nowrap; gap: 12px; }
.app-menu { position: relative; flex: 0 0 auto; margin-left: auto; align-self: center; color: #234d3c; }
.app-menu > summary { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; padding: 10px; border: 1px solid #809589; border-radius: 8px; background: #fff; color: #234d3c; cursor: pointer; list-style: none; }
.app-menu > summary::-webkit-details-marker { display: none; }
.app-menu > summary::marker { content: ''; }
.app-menu > summary:hover, .app-menu[open] > summary { background: #eef3ed; }
.app-menu > summary:focus-visible, .app-menu a:focus-visible { outline: 3px solid #bd7939; outline-offset: 3px; }
.app-menu .menu-icon { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.app-menu .menu-icon > span { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
header .app-menu > nav { box-sizing: border-box; position: absolute; inset: calc(100% + 8px) 0 auto auto; z-index: 30; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; width: 240px; min-width: 0; max-width: calc(100vw - 32px); max-height: calc(100dvh - 110px); overflow-y: auto; padding: 6px; margin: 0; background: #fff; border: 1px solid #dce3d9; border-radius: 10px; box-shadow: 0 8px 24px #17392a26; text-align: left; }
header .app-menu:not([open]) > nav { display: none; }
header .app-menu nav a { display: block; box-sizing: border-box; min-height: 44px; padding: 12px; margin: 0; border-radius: 6px; font: 14px/1.5 system-ui, sans-serif; white-space: normal; text-decoration: none; }
header .app-menu nav a:hover { background: #eef3ed; color: #234d3c; }

body > header:has(.app-menu) .brand, .header-inner:has(.app-menu) .brand { min-width: 0; }
body > header:has(.app-menu) .brand img { flex-shrink: 0; }
@media (max-width: 380px) { body > header:has(.app-menu) .brand small { display: none; } body > header:has(.app-menu) .brand { font-size: 12px; letter-spacing: .5px; } }


/* One layout for all app dropdowns; reset page-specific section/button styles. */
header .app-menu.unified-menu{overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;margin:0 0 0 auto!important;padding:0!important;z-index:40}
.plant-app-header:has(.unified-menu){align-items:center}
header .app-menu.unified-menu>nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:280px!important;max-width:calc(100vw - 24px)!important;padding:8px 0!important;text-align:left!important;max-height:calc(100dvh - 100px)!important;overflow-y:auto!important}
header .app-menu.unified-menu:not([open])>nav{display:none!important}
header .unified-menu nav .uo-menu-section{display:block!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0 14px!important;padding:8px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important}
header .unified-menu nav .uo-menu-section+.uo-menu-section{border-top:1px solid #dce3d9!important}
header .unified-menu nav h2{display:block!important;margin:0!important;padding:10px!important;font:600 14px/1.5 system-ui,sans-serif!important;color:#234d3c!important;letter-spacing:0!important;text-align:left!important}
header .unified-menu nav a{display:block!important;box-sizing:border-box!important;width:100%!important;min-height:44px!important;padding:11px 10px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#234d3c!important;box-shadow:none!important;font:400 14px/1.5 system-ui,sans-serif!important;text-align:left!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere!important}
header .unified-menu nav h2:has(a){padding:0!important}header .unified-menu nav h2 a{font-weight:600!important}
header .unified-menu nav a[aria-current]{font-weight:750!important}header .unified-menu nav a:hover{background:transparent!important;text-decoration:none!important;color:#132e20!important}
header .unified-menu nav p{margin:0!important;padding:10px!important;font:400 12px/1.6 system-ui,sans-serif!important;color:#59665e!important;text-align:left!important}
header .unified-menu nav #rooms,header .unified-menu nav #unread-private-rooms{display:block!important;margin:0!important;padding:0!important;gap:0!important}
header .unified-menu nav [hidden]{display:none!important}
header .unified-menu nav a:focus-visible{outline:2px solid #bd7939!important;outline-offset:-2px!important}
