.navGroupToggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:#284766;color:white;border:1px solid #42617c;border-radius:6px;font-size:12px;font-weight:700;padding:11px 12px;margin:12px 0 4px;cursor:pointer}.navGroupToggle::after{content:'▾';transition:transform 300ms}.navGroupToggle[aria-expanded=false]::after{transform:rotate(-90deg)}.navGroupBody{display:grid;grid-template-rows:1fr;transition:grid-template-rows 300ms ease,opacity 300ms ease;opacity:1}.navGroupBody.collapsed{grid-template-rows:0fr;opacity:0}.navGroupInner{overflow:hidden;min-height:0}
#teamChat{position:fixed;right:22px;bottom:20px;z-index:40}.chatLauncher{border-radius:28px;background:#1b365d;color:white;padding:13px 20px;box-shadow:0 4px 18px #0003}.chatPanel{position:absolute;bottom:62px;right:0;width:min(370px,calc(100vw - 32px));background:white;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 8px 32px #0003;overflow:hidden}.chatPanel header{background:#1b365d;color:white;display:flex;justify-content:space-between;align-items:center;padding:12px}.chatClose{color:white;background:transparent;border:0;font-size:24px}.chatMessages{height:min(320px,45vh);overflow:auto;padding:12px}.chatMessages article{padding:9px;background:#f1f5f9;border-radius:6px;margin-bottom:8px;overflow-wrap:anywhere}.chatMessages small{display:block;font-size:11px;color:#64748b}.chatMessages p{white-space:pre-wrap;margin:5px 0}.chatPanel form{padding:12px;border-top:1px solid #e2e8f0}.chatPanel textarea{width:100%;box-sizing:border-box}.chatError{font-size:12px;padding:0 12px}.backupList article{display:flex;gap:16px;flex-wrap:wrap;padding:16px;margin:12px 0;border:1px solid #dbe3ed;border-radius:8px;background:white}.backupList a{overflow-wrap:anywhere}
@media(max-width:800px){#teamChat{bottom:78px;right:12px}nav .navGroup{position:static;display:block;border:0;padding:0}nav .navGroupToggle{margin:0 4px;width:auto;white-space:nowrap}nav .navGroupBody{position:absolute;bottom:62px;left:0;right:0;background:#0f1e36;z-index:16}nav .navGroupInner{max-height:55vh;overflow-y:auto}nav .navGroupInner .nav{width:100%!important;text-align:left}}
@media(prefers-reduced-motion:reduce){.navGroupBody,.navGroupToggle::after{transition:none}}
@media print{#teamChat{display:none}}

/* Mobile drawers must escape the bottom bar overflow container. */
@media(max-width:800px){
aside{overflow:visible}
aside #navigation{overflow:visible;gap:0;justify-content:space-around}
#navigation .navGroup{flex:1;min-width:0}
#navigation .navGroupToggle{width:calc(100% - 4px);margin:0 2px;padding:12px 3px;font-size:11px;min-height:44px;justify-content:center;gap:3px}
#navigation .navGroupToggle:hover,#navigation .navGroupToggle[aria-expanded=true]{background:#365e83;color:#fff}
#navigation .navGroupBody{position:fixed;bottom:62px;left:0;right:0;overflow:hidden;box-shadow:0 -5px 18px #0003}
#navigation .navGroupBody.collapsed{pointer-events:none}
#navigation .navGroupInner{max-height:55vh;max-height:55dvh;overflow-y:auto}
#navigation .navGroupInner .nav{min-height:44px}
}

/* Original direct sidebar navigation, with a mobile menu drawer. */
#mobileMenuToggle{display:none}
@media(max-width:800px){
#mobileMenuToggle{display:block;background:#284766;color:white;border-color:#607d99;min-height:44px;padding:8px}
#appBar .appTitle strong{font-size:13px}
body>aside{top:64px;bottom:0;width:min(285px,85vw);height:calc(100dvh - 64px);padding:12px 10px;overflow-y:auto;transform:translateX(-100%);visibility:hidden;transition:transform 300ms ease,visibility 300ms;z-index:30;box-shadow:8px 0 24px #0003}
body.mobileMenuOpen>aside{transform:translateX(0);visibility:visible}
aside #navigation{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;overflow:visible;gap:3px}
aside #navigation .nav{width:100%!important;white-space:normal;text-align:left;min-height:44px;flex:none}
main{margin:64px 0 0;width:100%;padding-bottom:85px}
#teamChat{bottom:18px}
}
@media(prefers-reduced-motion:reduce){body>aside{transition:none}}
