.dui-app { display:grid; grid-template-columns:238px minmax(0,1fr); min-height:100vh; }
.dui-sidebar { background:var(--dui-surface); border-inline-end:1px solid var(--dui-line); padding:1.6rem 1rem 0; display:flex; flex-direction:column; position:sticky; top:0; height:100dvh; overflow:auto; }
.dui-app-body { min-width:0; }
.dui-navigation { display:grid; gap:.3rem; }
.dui-navigation a { display:flex; align-items:center; gap:.8rem; min-height:46px; padding:.65rem .85rem; color:var(--dui-muted); font-size:.86rem; font-weight:550; border-radius:.45rem; text-decoration:none; }
.dui-navigation a:hover { background:var(--dui-surface-alt); color:var(--dui-ink); }
.dui-navigation a[aria-current] { background:var(--dui-info-bg); color:var(--dui-info); font-weight:700; }
.dui-navigation small { margin-left:auto; }
.dui-mobile-menu, .dui-mobile-fallback { display:none; }
.dui-drawer { width:min(340px,calc(100% - 2rem)); max-width:none; height:100dvh; max-height:100dvh; margin:0; padding:1.3rem; border:0; background:var(--dui-surface); color:var(--dui-ink); overflow:auto; }
.dui-drawer::backdrop { background:rgb(8 30 58 / .6); }
.dui-drawer > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; }
.dui-drawer h2 { font-size:1.1rem; }
.dui-drawer > p { margin-block:1.2rem; }
.dui-drawer .dui-navigation a { min-height:52px; }
html:has(.dui-drawer[open]) { overflow:hidden; }
@media (min-width:768px) and (max-width:1179px) {
  .dui-app { grid-template-columns:80px minmax(0,1fr); }
  .dui-sidebar { padding-inline:.7rem; }
  .dui-sidebar .dui-navigation a { justify-content:center; padding:.8rem; }
  .dui-sidebar .dui-navigation a > span, .dui-sidebar .dui-navigation a > small { display:none; }
}
@media (max-width:767px) {
  .dui-app { display:block; }
  .dui-sidebar { display:none; }
  .dui-mobile-menu { display:inline-grid; }
  .dui-mobile-fallback { display:flex; flex-wrap:wrap; padding:1rem; gap:.5rem 1rem; background:var(--dui-surface); border-bottom:1px solid var(--dui-line); }
  .dui-mobile-fallback a { padding:.5rem; font-size:.8rem; }
}
