/* Scoped shared navigation. Layout changes when its actual contents no longer
   fit, rather than at a device-width breakpoint. Page styles stay independent. */
html { scroll-padding-top: calc(var(--sdm-nav-scroll-offset, var(--sdm-nav-height, 0px)) + 12px); }
#sdm-navigation ~ main .dashboard-tabs { top: var(--sdm-nav-height, 0px); }
#sdm-navigation { display: block; position: sticky; top: 0; z-index: 100; width: 100%; padding: 12px clamp(12px, 2vw, 24px); margin: 0 0 16px; background: #111; color: #f4e5bf; border-bottom: 1px solid #64532c; font: var(--sdm-nav-font-size, 14px)/1.4 Arial,Helvetica,sans-serif; }
#sdm-navigation *, #sdm-navigation *::before, #sdm-navigation *::after, #sdm-navigation { box-sizing: border-box; }
#sdm-navigation [hidden] { display: none !important; }
#sdm-navigation .sdm-nav-main { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
#sdm-navigation .sdm-nav-top { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 0 0 auto; }
#sdm-navigation a { color: #f4e5bf; text-decoration: none; }
#sdm-navigation .sdm-brand { color: #eac66e; font: 700 20px/1.3 Arial,Helvetica,sans-serif; white-space: nowrap; }
#sdm-navigation a, #sdm-navigation button { overflow-wrap: anywhere; }
#sdm-navigation button, #sdm-navigation .sdm-links a { display: inline-flex; align-items: center; justify-content: flex-start; min-height: 44px; width: auto; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #64532c; border-radius: 8px; background: #1b1914; color: #f4e5bf; font: 700 var(--sdm-nav-font-size, 14px)/1.4 Arial,Helvetica,sans-serif; cursor: pointer; text-align: left; box-shadow: none; transform: none; }
#sdm-navigation a:focus-visible, #sdm-navigation button:focus-visible { outline: 3px solid #ffd366; outline-offset: 2px; }
#sdm-navigation .sdm-links a:hover, #sdm-navigation button:hover { background: #342b18; }
#sdm-navigation a[aria-current="page"], #sdm-navigation .sdm-current { background: #352c18; border-color: #d9ad47; color: #fff1c9; box-shadow: inset 0 -3px #d9ad47; }
#sdm-navigation .sdm-links { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
#sdm-navigation .sdm-links > a, #sdm-navigation .sdm-links > button { flex: 0 0 auto; white-space: nowrap; }
#sdm-navigation .sdm-leadership { position: relative; flex: 0 0 auto; min-width: 0; }
#sdm-navigation .sdm-leadership-toggle::after { content: '▾'; margin-left: 8px; }
#sdm-navigation .sdm-leadership-toggle[aria-expanded="true"] { border-color: #d9ad47; background: #342b18; }
#sdm-navigation .sdm-leadership-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }
#sdm-navigation .sdm-leadership-panel { display: grid; gap: 6px; position: absolute; right: 0; top: calc(100% + 8px); z-index: 101; width: min(300px, calc(100vw - 32px)); max-height: var(--sdm-leadership-height, 70vh); overflow: auto; padding: 8px; border: 1px solid #b18a35; border-radius: 10px; background: #141310; box-shadow: 0 8px 24px #0009; }
#sdm-navigation .sdm-leadership-panel a { white-space: normal; width: 100%; }
#sdm-navigation .sdm-return { display: inline-block; padding: 10px 0; text-decoration: underline; }
#sdm-navigation .sdm-nav-status { color: #d3c8ab; margin: 4px 0 0; }
#sdm-navigation .sdm-nav-status:empty { display: none; }
#sdm-navigation .sdm-skip { position: absolute; left: 10px; top: -100px; background: #111; padding: 12px; }
#sdm-navigation .sdm-skip:focus { top: 5px; z-index: 102; }
/* One menu tree: the desktop dropdown becomes an inline disclosure in compact
   mode. The header stays reachable while the menu scrolls on short screens. */
#sdm-navigation.sdm-compact { max-height: var(--sdm-menu-height, 100vh); overflow-y: auto; scroll-padding-top: calc(var(--sdm-nav-header-height, 44px) + 8px); scroll-padding-bottom: 8px; }
#sdm-navigation.sdm-compact .sdm-nav-main { display: block; }
#sdm-navigation.sdm-compact .sdm-nav-top { position: sticky; top: 0; z-index: 2; background: #111; padding-bottom: 4px; justify-content: space-between; }
#sdm-navigation.sdm-compact .sdm-brand { white-space: normal; flex: 1 1 auto; min-width: 0; }
#sdm-navigation .sdm-nav-toggle { flex: 0 0 auto; }
#sdm-navigation.sdm-compact .sdm-links { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 8px; }
#sdm-navigation.sdm-compact .sdm-links > a, #sdm-navigation.sdm-compact .sdm-links > button, #sdm-navigation.sdm-compact .sdm-leadership-toggle { width: 100%; white-space: normal; }
#sdm-navigation.sdm-compact .sdm-leadership-panel { position: static; width: 100%; max-height: none; margin-top: 6px; box-shadow: none; }
/* Same-node intrinsic measurement: styles restore synchronously before paint. */
#sdm-navigation.sdm-measuring .sdm-brand, #sdm-navigation.sdm-measuring .sdm-links { position: absolute; left: -10000px; top: 0; width: max-content; max-width: none; white-space: nowrap; }
#sdm-navigation.sdm-measuring .sdm-links, #sdm-navigation.sdm-measuring .sdm-links[hidden] { display: flex !important; flex-direction: row; margin: 0; }
#sdm-navigation.sdm-measuring .sdm-links > *, #sdm-navigation.sdm-measuring .sdm-leadership-toggle { width: auto; flex: 0 0 auto; white-space: nowrap; }
#sdm-navigation.sdm-measuring .sdm-leadership-panel { position: absolute; }
