/* * Global styles for portal-admin. * * Same baseline as portal-shell — Tailwind CSS 4 (CSS-first config), * class-based dark mode, brand palette tokens shared from * `libs/shared/tokens`. The two apps wear the same visual chrome so * an APF user moving between portal and admin doesn't feel a context * switch in the design system itself; what differentiates the admin * surface is the data density and the "Admin" badge in the shell * (added once the admin shell PR ships). */ @import 'tailwindcss'; @custom-variant dark (&:where(.dark, .dark *)); /* Brand palette tokens — shared with portal-shell. */ @import '../../../libs/shared/tokens/src/brand-tokens.css'; /* * The admin shell is a "fills the viewport, never scrolls the body" * layout: is locked at height: 100vh, and
owns its * own overflow-y. If anything inside the shell ever pushes content * past the viewport (a wide chart, a flex sizing bug, a third-party * iframe), we'd rather clip than show a phantom body scrollbar plus * the empty space below the footer that comes with it. The element- * level overflow on
still produces a real, scrollable region * for content that overflows by design. */ html, body { overflow-y: hidden; }