/* Exact sidebar and footer components from FreeSlots UI kit. */
.sidebar-overlay { position: fixed; inset: 0px; background: rgba(15, 23, 42, 0.45); opacity: 0; pointer-events: none; transition: opacity 0.2s; z-index: 40; }
.sidebar { width: 240px; background: var(--bg-sidebar); border-right: 1px solid var(--border); display: flex; flex-direction: column; padding: 16px 14px; box-sizing: border-box; height: 100%; }
.menu { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.menu-item { display: flex; align-items: center; gap: 10px; padding: 0px 10px; border-radius: 10px; color: rgb(55, 65, 81); text-decoration: none; font-size: calc(14px + var(--font-bump)); height: var(--btn-height); min-height: var(--btn-height); }
.menu-item:hover { background: rgb(238, 242, 255); color: rgb(31, 41, 55); }
.menu-item.active { background: rgb(224, 231, 255); color: rgb(29, 78, 216); font-weight: 600; }
.menu-icon { width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; color: rgb(107, 114, 128); }
.menu-item.active .menu-icon, .menu-item:hover .menu-icon { color: inherit; }
.footer-menu { position: relative; margin-top: auto; padding-top: 16px; }
.footer-toggle { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: rgb(255, 255, 255); border: 1px solid var(--border); cursor: pointer; font-family: inherit; box-sizing: border-box; }
.footer-logo { width: 32px; height: 32px; object-fit: contain; border-radius: 0px; }
.footer-title { font-size: calc(13px + var(--font-bump)); font-weight: 600; }
.footer-toggle-icon { margin-left: auto; color: rgb(107, 114, 128); }
.footer-dropdown { position: absolute; left: 0px; right: 0px; bottom: calc(100% + 10px); background: rgb(255, 255, 255); border-radius: 14px; border: 1px solid rgb(229, 231, 235); box-shadow: rgba(15, 23, 42, 0.12) 0px 16px 30px; overflow: hidden; display: none; z-index: 5; }
.footer-menu.is-open .footer-dropdown { display: block; }
.footer-link { display: flex; align-items: center; gap: 10px; padding: 12px 14px; text-decoration: none; color: rgb(17, 24, 39); font-size: calc(14px + var(--font-bump)); }
.footer-link + .footer-link { border-top: 1px solid rgb(241, 245, 249); }
.footer-link:hover { background: rgb(248, 250, 252); }
.footer-icon { width: 20px; height: 20px; color: rgb(17, 24, 39); display: inline-flex; align-items: center; justify-content: center; }
.sidebar{flex-shrink:0}
.menu-item{border:0;background:transparent;text-align:left;font-family:inherit}
.menu-icon svg,.footer-icon svg{width:20px;height:20px;stroke-width:1.8}
.footer-toggle-icon svg{width:18px;height:18px;stroke-width:1.8}
@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s ease;z-index:50}.sidebar.open{transform:translateX(0);box-shadow:none}.sidebar-overlay.is-open{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.sidebar,.sidebar-overlay{transition:none}}
/* The kit inherits 16px body text and the browser button default here. */
.sidebar { font-size: 16px; }
.footer-toggle { font-size: 13.333333px; color: #000; }
