3TE/src/components/layout/Header.css
Nicolas Cantu c7db6590f0 Initial commit: 4NK Waste & Water Simulator
**Motivations :**
* Create a complete simulator for 4NK Waste & Water modular waste treatment infrastructure
* Implement frontend-only application with client-side data persistence
* Provide seed data for wastes and natural regulators from specifications

**Root causes :**
* Need for a simulation tool to configure and manage waste treatment projects
* Requirement for localhost-only access with persistent client-side storage
* Need for initial seed data to bootstrap the application

**Correctifs :**
* Implemented authentication system with AuthContext
* Fixed login/logout functionality with proper state management
* Created placeholder pages for all routes

**Evolutions :**
* Complete application structure with React, TypeScript, and Vite
* Seed data for 9 waste types and 52 natural regulators
* Settings page with import/export and seed data loading functionality
* Configuration pages for wastes and regulators with CRUD operations
* Project management pages structure
* Business plan and yields pages placeholders
* Comprehensive UI/UX design system (dark mode only)
* Navigation system with sidebar and header

**Page affectées :**
* All pages: Login, Dashboard, Waste Configuration, Regulators Configuration, Services Configuration
* Project pages: Project List, Project Configuration, Treatment Sites, Waste Sites, Investors, Administrative Procedures
* Analysis pages: Yields, Business Plan
* Utility pages: Settings, Help
* Components: Layout, Sidebar, Header, base components (Button, Input, Select, Card, Badge, Table)
* Utils: Storage, seed data, formatters, validators, constants
* Types: Complete TypeScript definitions for all entities
2025-12-09 19:09:42 +01:00

73 lines
1.3 KiB
CSS

.header {
height: 64px;
background-color: var(--background-secondary);
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 var(--spacing-xl);
position: sticky;
top: 0;
z-index: 50;
}
.header-left {
flex: 1;
}
.header-logo {
font-size: 1.25rem;
font-weight: 600;
color: var(--text-primary);
}
.header-center {
flex: 1;
display: flex;
justify-content: center;
}
.header-project-selector {
background-color: var(--background);
border: 1px solid var(--border);
border-radius: 8px;
padding: var(--spacing-sm) var(--spacing-md);
color: var(--text-primary);
font-size: 0.875rem;
min-width: 200px;
}
.header-project-selector:focus {
outline: none;
border-color: var(--border-focus);
}
.header-right {
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;
gap: var(--spacing-md);
}
.header-username {
color: var(--text-secondary);
font-size: 0.875rem;
}
.header-logout {
background-color: transparent;
border: 1px solid var(--border);
border-radius: 8px;
padding: var(--spacing-sm) var(--spacing-md);
color: var(--text-primary);
font-size: 0.875rem;
cursor: pointer;
transition: all 200ms ease-in-out;
}
.header-logout:hover {
background-color: var(--background-tertiary);
border-color: var(--border-focus);
}