:root {
  --acc: #2563eb;
  --accl: rgba(37,99,235,.12);
  --tx: #1a2332;
  --tx2: #4a5568;
  --tx3: #8a9ab0;
  --tx4: #b8c5d3;
  --border: rgba(180,200,220,.45);
  --gb: rgba(255,255,255,.88);
  --gi: inset 0 1px 0 rgba(255,255,255,.85);
  --blur: blur(20px) saturate(1.8);
  --rs: 10px;
}

.lib-app-shell { height: 100vh; min-height: 100vh; display: flex; overflow: hidden; }
.lib-main { min-width: 0; flex: 1; overflow-y: auto; }
.lib-sidebar {
  width: 226px; flex: 0 0 226px; height: 100vh; display: flex; flex-direction: column;
  padding: 14px 10px; overflow-y: auto; scrollbar-gutter: stable;
  background: rgba(255,255,255,.45); backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
  border-right: 1px solid var(--gb); box-shadow: 2px 0 20px rgba(80,100,140,.08);
  position: relative; z-index: 300;
}
.lib-sidebar .logo { padding: 6px 8px 16px; }
.lib-sidebar .logo a { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.lib-sidebar .logo img { width: 44px; height: auto; border-radius: 10px; }
.lib-sidebar .logo-t { display: block; font-family: 'Instrument Serif', serif; font-size: 21px; font-weight: 400; letter-spacing: -.5px; color: var(--tx); }
.lib-sidebar .logo-s { display: block; margin-top: 2px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 8px; color: var(--tx3); letter-spacing: 1.6px; text-transform: uppercase; }
.lib-sidebar .ns { padding: 10px 10px 4px; font: 700 8px 'Plus Jakarta Sans', sans-serif; letter-spacing: 1.6px; text-transform: uppercase; color: var(--tx4); }
.lib-sidebar .nb {
  width: 100%; display: flex; align-items: center; gap: 7px; padding: 7px 10px;
  border: 0; border-radius: var(--rs); background: none; color: var(--tx2); text-decoration: none;
  font: 500 11.7px 'Plus Jakarta Sans', sans-serif; text-align: left; cursor: pointer; transition: all .15s;
}
.lib-sidebar .nb:hover { background: rgba(255,255,255,.65); color: var(--tx); }
.lib-sidebar .nb.active {
  background: rgba(255,255,255,.85); color: var(--acc); font-weight: 600;
  box-shadow: 0 2px 10px rgba(80,100,140,.12), var(--gi); border: 1px solid var(--gb);
}
.lib-sidebar .ni { width: 20px; text-align: center; font-size: 14px; }
.lib-sidebar .sf { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 5px; }

@media (max-width: 760px) {
  .lib-app-shell { overflow: visible; }
  .lib-main { width: 100%; overflow-y: visible; }
}
