/* App navigation: the resellbot.com homepage's .rb-board sidebar, and a blurred
   mobile bar on the site's .rb-hdr recipe (DESIGN.md §6). Scoped to the shell. */
.rb-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}
.rb-logo:hover{color:var(--ink)}
.rb-logo__mark{flex:none;display:block}
.rb-icon{flex:none;display:inline-block;vertical-align:-.15em}

/* Sidebar */
app-navigation .rb-side{position:fixed;inset:0 auto 0 0;z-index:1030;display:flex;flex-direction:column;width:var(--side-w);background:var(--tint);box-shadow:inset -1px 0 0 var(--line-2);transition:transform .25s var(--ease),visibility .25s}
app-navigation .rb-side__brand{height:60px;flex:none;padding:0 20px}
app-navigation .rb-side__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 10px 16px;scrollbar-width:thin}
app-navigation .rb-side__k{margin:0;padding:14px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
app-navigation .rb-side__k:first-child{padding-top:8px}
app-navigation .rb-side__list{display:grid;gap:1px;margin:0;padding:0;list-style:none}
app-navigation .rb-side__link{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:8px;color:var(--ink-2);font-size:14px;font-weight:500;line-height:1.25;text-decoration:none;transition:background-color .15s,color .15s}
app-navigation .rb-side__link>.rb-icon{color:var(--ink-3);transition:color .15s}
app-navigation .rb-side__link>span:not(.rb-tag){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
app-navigation .rb-side__link:hover{background:var(--hover);color:var(--ink)}
app-navigation .rb-side__link:hover>.rb-icon{color:var(--ink)}
app-navigation .rb-side__link.active{background:var(--well);color:var(--ink);font-weight:700}
app-navigation .rb-side__link.active>.rb-icon{color:var(--ink)}
app-navigation .rb-side__link:focus-visible,app-navigation .rb-nav-disclosure:focus-visible,app-navigation .rb-side__util:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
app-navigation .rb-nav-locked{color:var(--ink-3)}
app-navigation .rb-nav-lock-badge{height:20px;padding:0 7px;font-size:11px;background:var(--paper);box-shadow:var(--sh1);color:var(--ink-2)}
app-navigation .rb-nav-loading::after{content:"";flex:none;width:12px;height:12px;border-radius:50%;border:2px solid var(--ink-4);border-right-color:transparent;animation:rb-spin .7s linear infinite}

/* Research: product row with a disclosure and its section list */
app-navigation .rb-nav-research-header{display:flex;align-items:stretch;gap:2px}
app-navigation .rb-nav-research-header>.nav-link{flex:1;min-width:0}
app-navigation .rb-nav-research-title{display:flex;align-items:baseline;gap:6px}
app-navigation .rb-nav-current-market{font-size:12px;font-weight:500;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
app-navigation .rb-nav-research-header>.active .rb-nav-current-market{display:none}
app-navigation .rb-nav-disclosure{flex:none;display:grid;place-items:center;width:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-3);cursor:pointer}
app-navigation .rb-nav-disclosure:hover{background:var(--hover);color:var(--ink)}
app-navigation .rb-nav-disclosure .rb-icon{transition:transform .2s var(--ease)}
app-navigation .rb-nav-disclosure[aria-expanded="true"] .rb-icon{transform:rotate(180deg)}
app-navigation .rb-nav-research-markets{display:grid;gap:1px;margin:2px 0 6px 19px;padding:0 0 0 8px;list-style:none;box-shadow:inset 1px 0 0 var(--line)}
app-navigation .rb-nav-market{min-height:30px;font-size:13.5px}
app-navigation .rb-nav-market>.rb-icon{width:14px;height:14px}
app-navigation [hidden]{display:none!important}
app-navigation .nav-item:has(.rb-nav-sub .active)>.rb-side__link.active{background:none}

/* Admin view and footer */
app-navigation .rb-side__admin{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 10px 6px;padding:10px 12px;border-radius:12px;background:var(--paper);box-shadow:var(--sh1);font-size:12px}
app-navigation .rb-side__admin small{flex:1 1 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-family:var(--mono);font-size:11px}
app-navigation .rb-side__admin .rb-btn{margin-left:auto}
app-navigation .rb-side__foot{flex:none;display:grid;gap:1px;padding:8px 10px 12px;box-shadow:inset 0 1px 0 var(--line-2)}
app-navigation .rb-side__util{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--ink-2);font:500 14px/1.25 var(--font);text-align:left;text-decoration:none;cursor:pointer}
app-navigation .rb-side__util:hover{background:var(--hover);color:var(--ink)}
app-navigation .rb-side__util .rb-icon{color:var(--ink-3)}
app-navigation #theme-icon{display:inline-flex}

/* Mobile bar */
.rb-mbar{position:sticky;top:0;z-index:1040;display:flex;align-items:center;gap:12px;height:var(--top-h);padding:0 var(--page-gut);isolation:isolate}
.rb-mbar::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line-2)}
.rb-mbar__btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:var(--paper);box-shadow:var(--sh1);color:var(--ink)}
.rb-mbar__close,.rb-mbar__btn[aria-expanded="true"] .rb-mbar__open{display:none}
.rb-mbar__btn[aria-expanded="true"] .rb-mbar__close{display:block}
.rb-mbar .rb-logo{font-size:17px}

@media (max-width:991.98px){
app-navigation .rb-side{top:var(--top-h);width:min(300px,86vw);transform:translateX(-100%);visibility:hidden;box-shadow:var(--sh3);background:var(--bg)}
app-navigation .rb-side__brand{display:none}
app-navigation.mobile-open .rb-side{transform:none;visibility:visible}
app-navigation.mobile-open::before{content:"";position:fixed;inset:var(--top-h) 0 0 0;z-index:1029;background:var(--scrim)}
app-navigation .rb-side__link,app-navigation .rb-side__util{min-height:40px}
}
@media (prefers-reduced-motion:reduce){app-navigation .rb-side,app-navigation .rb-nav-disclosure .rb-icon{transition:none}}
