Convert portal shell from block-centered (max-width 1600px) layout to full-viewport fluid flexbox with collapsible sidebar: desktop push-mode (240px → 0), mobile overlay drawer with backdrop. Rename .content → .shell-content to avoid CSS collision with page-level classes. Override page-level max-width constraints when embedded in shell. Also replace native <select multiple> in query-tool with shared MultiSelect component for equipment and workcenter group filters, matching resource-status/history UX. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
MODIFIED Requirements
Requirement: Frontend styles SHALL be governed by Tailwind design tokens
The frontend SHALL define a Tailwind-based design token system for color, spacing, typography, radius, and elevation to ensure consistent styling across modules. The --portal-shell-max-width CSS variable SHALL be set to none to support the fluid layout. A --portal-sidebar-width variable SHALL be added for sidebar width reference. The .u-content-shell utility class SHALL use width: 100% instead of max-width constraint.
Scenario: Shared token usage across modules
- WHEN two report modules render equivalent UI elements (e.g., card, filter chip, primary button)
- THEN they SHALL use the same token-backed style semantics
- THEN visual output SHALL remain consistent across modules
Scenario: Fluid layout tokens
- WHEN the portal shell renders
- THEN
--portal-shell-max-widthSHALL resolve tonone - THEN
--portal-sidebar-widthSHALL resolve to240px - THEN
.u-content-shellSHALL applywidth: 100%without max-width constraint