.fs-app-shell { display:grid; grid-template-columns:var(--fs-sidebar-width) minmax(0,1fr); min-block-size:100vh; }
.fs-sidebar { position:sticky; inset-block-start:0; block-size:100vh; overflow-y:auto; background:var(--fs-surface); border-inline-end:1px solid var(--fs-border); padding:var(--fs-space-5); display:flex; flex-direction:column; gap:var(--fs-space-5); }
.fs-brand { display:flex; gap:var(--fs-space-3); align-items:center; color:var(--fs-text) !important; text-decoration:none; font-weight:700; }
.fs-brand small { display:block; color:var(--fs-muted); font-weight:400; font-size:var(--fs-font-xs); }
.fs-logo { display:inline-grid; place-items:center; inline-size:2.5rem; block-size:2.5rem; border-radius:var(--fs-radius); background:var(--fs-raised); border:1px solid var(--fs-border); color:var(--fs-accent); font-family:Arial,sans-serif; font-weight:700; flex-shrink:0; }
.fs-nav { display:grid; gap:var(--fs-space-1); }
.fs-nav>a,.fs-subnav>a { color:var(--fs-muted); text-decoration:none; padding:var(--fs-space-2) var(--fs-space-3); border-radius:var(--fs-radius); min-block-size:var(--fs-control-height); }
.fs-nav a:hover { background:var(--fs-hover); color:var(--fs-text); }
.fs-nav a[aria-current="page"] { background:var(--fs-raised); color:var(--fs-accent); box-shadow:inset -3px 0 var(--fs-accent); }
.fs-subnav { display:grid; padding-inline-start:var(--fs-space-5); border-inline-start:1px solid var(--fs-border); font-size:var(--fs-font-sm); }
.fs-sidebar-foot { margin-block-start:auto; color:var(--fs-muted); font-size:var(--fs-font-xs); }
.fs-main { min-inline-size:0; }
.fs-topbar { display:flex; gap:var(--fs-space-4); align-items:center; flex-wrap:wrap; min-block-size:4.5rem; padding:var(--fs-space-3) var(--fs-space-6); background:var(--fs-surface); border-block-end:1px solid var(--fs-border); }
.fs-topbar-title { font-weight:700; }
.fs-global-search { display:flex; gap:var(--fs-space-2); margin-inline-start:auto; max-inline-size:25rem; flex:1; }
.fs-global-search label { flex:1; min-inline-size:0; }
.fs-global-search input { inline-size:100%; }
.fs-actor { text-align:start; max-inline-size:14rem; overflow-wrap:anywhere; }
.fs-actor strong,.fs-actor small { display:block; }
.fs-actor small { color:var(--fs-muted); font-size:var(--fs-font-xs); }
.fs-content { padding:var(--fs-space-6); min-inline-size:0; }
.fs-menu-toggle { display:none; }
.fs-overlay { position:fixed; inset:0; background:#0009; z-index:40; border:0; }
.fs-auth { min-block-size:100vh; display:grid; place-items:center; }
.fs-auth-shell { width:min(100% - 2rem,30rem); margin:var(--fs-space-8) auto; }
