/* Navigation-only layer: inherit the existing light/dark tokens. */
.sidebar [hidden]{display:none!important}
/* Progressive enhancement: existing links remain reachable without JavaScript. */
.sidebar:not(.menu-enhanced) .campaign-nav-group nav[hidden]{display:block!important}
.app-layout{grid-template-columns:272px minmax(0,1fr)}
.app-layout .sidebar{width:272px;min-width:272px;flex-shrink:0;max-height:100vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.sidebar .brand{gap:10px}.sidebar .nav-icon{width:20px;height:20px;flex:0 0 20px;color:inherit}
.sidebar-menu{display:block}.menu-drawer-toggle{display:none}
.menu-search{margin:12px 0 16px}.menu-search label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}.menu-search>div{display:flex;gap:4px}.app-layout .sidebar .menu-search input{min-width:0;width:100%;font-size:14px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:10px}.menu-search button{padding:6px;font-size:12px}
.campaign-context-name{display:block;overflow-wrap:anywhere;font-size:16px}.menu-return{display:block;margin:8px 0 12px;font-size:13px}
.sidebar .campaign-nav-group{margin:4px 0}.sidebar .menu-group-toggle{display:flex;align-items:center;gap:9px;width:100%;min-height:46px;padding:9px 10px;margin:0;text-align:left;font-size:15px;font-weight:600;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);box-shadow:none;white-space:normal}
.sidebar .menu-group-toggle:hover,.sidebar .menu-group-toggle[aria-expanded=true]{background:var(--surface);border-color:var(--line)}
.menu-chevron{margin-left:auto;font-size:23px;line-height:1;transition:transform .1s}.menu-group-toggle[aria-expanded=true] .menu-chevron{transform:rotate(90deg)}
.sidebar .campaign-nav-group nav{padding-left:23px;margin:3px 0 8px;border-left:1px solid var(--line)}.sidebar nav a{display:block;min-height:44px;padding:10px 9px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.sidebar :is(a,button,input):focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:2px}
.global-nav-context{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.content{min-width:0}.page-content{min-width:0}.page-actions{flex-wrap:wrap}
@media(max-width:780px){.app-layout{display:block}.app-layout .sidebar{position:sticky;top:0;z-index:30;width:100%;min-width:0;height:auto;max-height:100dvh;padding:10px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin:0;display:inline-flex;font-size:14px}.sidebar .brand small{display:none}.menu-drawer-toggle{display:block;float:right;min-height:44px;padding:8px 12px;margin:0;background:var(--panel);color:var(--text);border-color:var(--line)}.sidebar-menu{clear:both;max-height:calc(100dvh - 70px);overflow-y:auto;padding-top:10px}.content{margin-left:0;width:100%;padding:0}.topbar{gap:10px;flex-wrap:wrap}.page-content{padding:18px 14px}.campaign-nav-group nav a{min-height:46px}.page-header{flex-wrap:wrap}.topbar-controls{margin-left:0}.menu-search input{font-size:16px}}
.sidebar .menu-group-link{text-decoration:none;box-sizing:border-box}.sidebar .menu-group-link[aria-current=page]{background:var(--surface);border-color:var(--line)}
.sidebar .global-nav-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;min-height:36px}.sidebar .global-nav-fold>summary::-webkit-details-marker{display:none}.sidebar .global-nav-fold>summary::after{content:'›';margin-left:auto;font-size:20px;transition:transform .1s}.sidebar .global-nav-fold[open]>summary::after{transform:rotate(90deg)}
.sidebar .sidebar-logout{margin:12px 0 4px}.sidebar .sidebar-logout button{width:100%;min-height:40px}
/* plain group headings, one-row campaign context */
.sidebar .campaign-nav-group>.menu-group-toggle,.sidebar .campaign-nav-group>.menu-group-link{background:transparent!important;border-color:transparent!important;box-shadow:none!important;min-height:40px;font-size:14px}
.sidebar .campaign-nav-group>.menu-group-toggle:hover,.sidebar .campaign-nav-group>.menu-group-toggle[aria-expanded=true],.sidebar .campaign-nav-group>.menu-group-link:hover,.sidebar .campaign-nav-group>.menu-group-link[aria-current=page]{background:var(--surface)!important}
.sidebar .campaign-nav-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.sidebar .campaign-nav-context>.sidebar-label,.sidebar .campaign-nav-context>.campaign-nav-group{flex-basis:100%}.sidebar .campaign-nav-context .campaign-context-name{display:inline;flex:1 1 auto;min-width:0;padding:0}.sidebar .campaign-nav-context .menu-return{display:inline;margin:0;white-space:nowrap}

.sidebar .campaign-switcher{margin:2px 0 8px}.sidebar .campaign-switcher>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.sidebar .campaign-switcher>summary::-webkit-details-marker{display:none}.sidebar .campaign-switcher>summary::after{content:'⌄';font-size:16px;color:var(--muted)}.sidebar .campaign-switcher[open]>summary::after{content:'⌃'}
.sidebar .campaign-switcher>nav{margin-top:4px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.sidebar .campaign-switcher>nav a{display:block;min-height:40px;padding:9px 10px;border-bottom:1px solid var(--line)}.sidebar .campaign-switcher>nav a:last-child{border-bottom:0}.sidebar .campaign-switcher>nav small{color:var(--muted);margin-inline-start:6px}
.sidebar .campaign-nav-context{display:block}.sidebar .campaign-nav-context .campaign-context-name{display:inline;padding:0}
.sidebar .campaign-switcher>nav a{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar .campaign-switcher>nav a small{flex:none;margin:0}.sidebar .campaign-switcher>nav .menu-return{margin:0;font-size:14px}
.app-layout .sidebar .campaign-switcher>nav,.sidebar .campaign-nav-context .campaign-switcher>nav{display:block!important;grid-template-columns:none!important}
.app-layout .sidebar .campaign-switcher>nav a{min-height:44px}
