commit b430bf3b9686d8798db9b0ec874cda1931864836 Author: dahoud Date: Wed Oct 1 01:39:07 2025 +0000 Initial commit diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9b3a196 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,63 @@ +# Dependencies +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Next.js +.next/ +out/ +build/ +dist/ + +# IDE +.idea/ +.vscode/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db + +# Environment +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Logs +*.log +logs/ + +# Documentation +docs/ +*.md +!README.md + +# Git +.git/ +.gitignore +.gitattributes + +# CI/CD +.github/ +.gitlab-ci.yml +Jenkinsfile + +# Tests +__tests__/ +*.test.ts +*.test.tsx +*.spec.ts +*.spec.tsx +coverage/ +.nyc_output/ + +# Misc +.eslintcache +.prettierignore +tsconfig.tsbuildinfo + diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..134a2b8 --- /dev/null +++ b/.env.example @@ -0,0 +1,60 @@ +# ============================================================================= +# BTP XPRESS CLIENT - CONFIGURATION ENVIRONNEMENT +# ============================================================================= +# Copiez ce fichier vers .env.local et configurez les valeurs selon votre environnement + +# ============================================================================= +# API BACKEND +# ============================================================================= +NEXT_PUBLIC_API_URL=http://localhost:8080/api +NEXT_PUBLIC_API_TIMEOUT=10000 + +# ============================================================================= +# APPLICATION +# ============================================================================= +NEXT_PUBLIC_APP_NAME=BTP Xpress +NEXT_PUBLIC_APP_VERSION=1.0.0 +NEXT_PUBLIC_APP_DESCRIPTION=Plateforme de gestion BTP + +# ============================================================================= +# THÈME +# ============================================================================= +NEXT_PUBLIC_DEFAULT_THEME=blue +NEXT_PUBLIC_DEFAULT_THEME_MODE=light + +# ============================================================================= +# SÉCURITÉ +# ============================================================================= +# Session timeout en secondes (30 minutes par défaut) +NEXT_PUBLIC_SESSION_TIMEOUT=1800 + +# Activer le mode strict pour la sécurité +NEXT_PUBLIC_SECURITY_STRICT_MODE=true + +# Activer la validation côté client +NEXT_PUBLIC_ENABLE_CLIENT_VALIDATION=true + +# ============================================================================= +# ENVIRONNEMENTS SPÉCIFIQUES +# ============================================================================= + +# --- DÉVELOPPEMENT --- +# NEXT_PUBLIC_API_URL=http://localhost:8080/api +# NEXT_PUBLIC_SECURITY_STRICT_MODE=false + +# --- STAGING --- +# NEXT_PUBLIC_API_URL=https://staging-api.btpxpress.com/api +# NEXT_PUBLIC_SECURITY_STRICT_MODE=true + +# --- PRODUCTION --- +# NEXT_PUBLIC_API_URL=https://api.btpxpress.com/api +# NEXT_PUBLIC_SECURITY_STRICT_MODE=true +# NEXT_PUBLIC_SESSION_TIMEOUT=900 + +# ============================================================================= +# NOTES DE SÉCURITÉ +# ============================================================================= +# - Ne jamais exposer de secrets ou clés privées dans les variables NEXT_PUBLIC_* +# - Les variables NEXT_PUBLIC_* sont visibles côté client +# - Utilisez uniquement des variables publiques et non sensibles +# - Pour les secrets, utilisez des variables d'environnement côté serveur uniquement \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..6baf3c2 --- /dev/null +++ b/.env.production @@ -0,0 +1,24 @@ +# Configuration de production pour BTP Xpress Frontend +# Ce fichier est utilisé pour la production + +# API Backend - URL de production +NEXT_PUBLIC_API_URL=https://api.lions.dev/btpxpress +NEXT_PUBLIC_API_TIMEOUT=15000 + +# Keycloak Configuration +NEXT_PUBLIC_KEYCLOAK_URL=https://security.lions.dev +NEXT_PUBLIC_KEYCLOAK_REALM=btpxpress +NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=btpxpress-frontend + +# Application +NEXT_PUBLIC_APP_NAME=BTP Xpress +NEXT_PUBLIC_APP_VERSION=1.0.0 +NEXT_PUBLIC_APP_DESCRIPTION=Plateforme de gestion BTP +NEXT_PUBLIC_APP_ENV=production + +# Theme +NEXT_PUBLIC_DEFAULT_THEME=blue +NEXT_PUBLIC_DEFAULT_THEME_MODE=light + +# Debug +NEXT_PUBLIC_DEBUG=false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..94d72a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,70 @@ +# Dependencies +node_modules/ +/.pnp +.pnp.js + +# Testing +/coverage + +# Next.js +/.next/ +/out/ +.next +out + +# Production +/build +dist/ + +# Misc +.DS_Store +*.pem +Thumbs.db + +# Debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# Local env files +.env +.env*.local +.env.development.local +.env.test.local +.env.production.local + +# Vercel +.vercel + +# TypeScript +*.tsbuildinfo +next-env.d.ts + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ +.project +.classpath +.settings/ + +# OS +.DS_Store +Thumbs.db + +# Logs +logs +*.log + +# Temporary files +*.tmp +*.bak +*.cache + +# Package manager +.yarn/ +.pnpm-store/ + diff --git a/COMPONENTS.md b/COMPONENTS.md new file mode 100644 index 0000000..cfaa5a8 --- /dev/null +++ b/COMPONENTS.md @@ -0,0 +1,507 @@ +# 🧩 COMPOSANTS - BTPXPRESS FRONTEND + +## 📋 Table des matières + +- [Vue d'ensemble](#vue-densemble) +- [Composants Layout](#composants-layout) +- [Composants Formulaires](#composants-formulaires) +- [Composants Tableaux](#composants-tableaux) +- [Composants Graphiques](#composants-graphiques) +- [Composants Communs](#composants-communs) +- [PrimeReact](#primereact) +- [Création de composants](#création-de-composants) + +--- + +## 🎯 Vue d'ensemble + +L'application utilise **PrimeReact 10.2.1** comme bibliothèque de composants UI principale, complétée par des composants personnalisés. + +### **Organisation** + +``` +components/ +├── layout/ # Composants de mise en page +├── forms/ # Formulaires +├── tables/ # Tableaux de données +├── charts/ # Graphiques +└── common/ # Composants réutilisables +``` + +--- + +## 🏗️ Composants Layout + +### **Header** + +En-tête de l'application avec navigation et profil utilisateur. + +**Fichier** : `components/layout/Header.tsx` + +```typescript +'use client'; + +import { Menubar } from 'primereact/menubar'; +import { Avatar } from 'primereact/avatar'; +import { useAuth } from '@/hooks/useAuth'; + +export const Header = () => { + const { user, logout } = useAuth(); + + const items = [ + { label: 'Dashboard', icon: 'pi pi-home', url: '/dashboard' }, + { label: 'Chantiers', icon: 'pi pi-building', url: '/chantiers' }, + { label: 'Clients', icon: 'pi pi-users', url: '/clients' }, + { label: 'Matériel', icon: 'pi pi-wrench', url: '/materiels' }, + ]; + + const end = ( +
+ + {user?.name} +
+ ); + + return ; +}; +``` + +**Props** : Aucune + +**Utilisation** : +```typescript +import { Header } from '@/components/layout/Header'; + +
+``` + +--- + +### **Sidebar** + +Menu latéral de navigation. + +**Fichier** : `components/layout/Sidebar.tsx` + +```typescript +'use client'; + +import { PanelMenu } from 'primereact/panelmenu'; +import { MenuItem } from 'primereact/menuitem'; + +export const Sidebar = () => { + const items: MenuItem[] = [ + { + label: 'Dashboard', + icon: 'pi pi-home', + url: '/dashboard', + }, + { + label: 'Chantiers', + icon: 'pi pi-building', + items: [ + { label: 'Liste', url: '/chantiers' }, + { label: 'Nouveau', url: '/chantiers/nouveau' }, + { label: 'Planning', url: '/chantiers/planning' }, + ], + }, + { + label: 'Clients', + icon: 'pi pi-users', + items: [ + { label: 'Liste', url: '/clients' }, + { label: 'Nouveau', url: '/clients/nouveau' }, + ], + }, + ]; + + return ( +
+ +
+ ); +}; +``` + +--- + +### **Breadcrumb** + +Fil d'Ariane pour la navigation. + +**Fichier** : `components/layout/Breadcrumb.tsx` + +```typescript +'use client'; + +import { BreadCrumb } from 'primereact/breadcrumb'; +import { MenuItem } from 'primereact/menuitem'; + +interface BreadcrumbProps { + items: MenuItem[]; +} + +export const AppBreadcrumb: React.FC = ({ items }) => { + const home = { icon: 'pi pi-home', url: '/dashboard' }; + + return ; +}; +``` + +**Utilisation** : +```typescript +const items = [ + { label: 'Chantiers', url: '/chantiers' }, + { label: 'Villa Moderne' }, +]; + + +``` + +--- + +## 📝 Composants Formulaires + +### **ChantierForm** + +Formulaire de création/modification de chantier. + +**Fichier** : `components/forms/ChantierForm.tsx` + +```typescript +'use client'; + +import { useForm, Controller } from 'react-hook-form'; +import { InputText } from 'primereact/inputtext'; +import { Dropdown } from 'primereact/dropdown'; +import { Calendar } from 'primereact/calendar'; +import { Button } from 'primereact/button'; +import type { ChantierDTO } from '@/types/models/Chantier'; + +interface ChantierFormProps { + chantier?: ChantierDTO; + onSubmit: (data: ChantierDTO) => void; + onCancel: () => void; +} + +export const ChantierForm: React.FC = ({ + chantier, + onSubmit, + onCancel, +}) => { + const { control, handleSubmit, formState: { errors } } = useForm({ + defaultValues: chantier || {}, + }); + + const statutOptions = [ + { label: 'Planifié', value: 'PLANIFIE' }, + { label: 'En cours', value: 'EN_COURS' }, + { label: 'Terminé', value: 'TERMINE' }, + ]; + + return ( +
+
+ + ( + + )} + /> + {errors.nom && {errors.nom.message}} +
+ +
+ + ( + + )} + /> +
+ +
+ + ( + + )} + /> +
+ +
+
+
+ ); +}; +``` + +--- + +## 📊 Composants Tableaux + +### **DataTableWrapper** + +Wrapper pour DataTable de PrimeReact avec fonctionnalités communes. + +**Fichier** : `components/tables/DataTableWrapper.tsx` + +```typescript +'use client'; + +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; + +interface DataTableWrapperProps { + data: T[]; + columns: ColumnConfig[]; + onEdit?: (item: T) => void; + onDelete?: (item: T) => void; + loading?: boolean; +} + +interface ColumnConfig { + field: string; + header: string; + sortable?: boolean; + body?: (rowData: any) => React.ReactNode; +} + +export function DataTableWrapper({ + data, + columns, + onEdit, + onDelete, + loading = false, +}: DataTableWrapperProps) { + const actionBodyTemplate = (rowData: T) => { + return ( +
+ {onEdit && ( +
+ ); + }; + + return ( + + {columns.map((col) => ( + + ))} + {(onEdit || onDelete) && ( + + )} + + ); +} +``` + +**Utilisation** : +```typescript +const columns = [ + { field: 'nom', header: 'Nom', sortable: true }, + { field: 'code', header: 'Code', sortable: true }, + { field: 'statut', header: 'Statut' }, +]; + + +``` + +--- + +## 📈 Composants Graphiques + +### **ChartBar** + +Graphique en barres avec Chart.js. + +**Fichier** : `components/charts/ChartBar.tsx` + +```typescript +'use client'; + +import { Chart } from 'primereact/chart'; + +interface ChartBarProps { + data: { + labels: string[]; + datasets: { + label: string; + data: number[]; + backgroundColor?: string; + }[]; + }; + title?: string; +} + +export const ChartBar: React.FC = ({ data, title }) => { + const options = { + responsive: true, + plugins: { + legend: { + position: 'top' as const, + }, + title: { + display: !!title, + text: title, + }, + }, + }; + + return ; +}; +``` + +**Utilisation** : +```typescript +const data = { + labels: ['Jan', 'Fév', 'Mar', 'Avr'], + datasets: [ + { + label: 'Chantiers', + data: [12, 19, 8, 15], + backgroundColor: 'rgba(54, 162, 235, 0.5)', + }, + ], +}; + + +``` + +--- + +## 🔧 Composants Communs + +### **LoadingSpinner** + +Indicateur de chargement. + +```typescript +'use client'; + +import { ProgressSpinner } from 'primereact/progressspinner'; + +export const LoadingSpinner = () => { + return ( +
+ +
+ ); +}; +``` + +### **ErrorMessage** + +Message d'erreur. + +```typescript +'use client'; + +import { Message } from 'primereact/message'; + +interface ErrorMessageProps { + message: string; +} + +export const ErrorMessage: React.FC = ({ message }) => { + return ; +}; +``` + +--- + +## 🎨 PrimeReact + +### **Composants utilisés** + +| Composant | Usage | +|-----------|-------| +| **DataTable** | Tableaux de données | +| **Button** | Boutons | +| **InputText** | Champs texte | +| **Dropdown** | Listes déroulantes | +| **Calendar** | Sélecteur de date | +| **Dialog** | Modales | +| **Toast** | Notifications | +| **Chart** | Graphiques | +| **Menubar** | Menu principal | +| **PanelMenu** | Menu latéral | + +### **Documentation** + +https://primereact.org/ + +--- + +**Dernière mise à jour** : 2025-09-30 +**Version** : 1.0 +**Auteur** : Équipe BTPXpress + diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 0000000..1d220f8 --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,502 @@ +# 🛠️ GUIDE DE DÉVELOPPEMENT - BTPXPRESS FRONTEND + +## 📋 Table des matières + +- [Prérequis](#prérequis) +- [Installation](#installation) +- [Configuration](#configuration) +- [Structure du projet](#structure-du-projet) +- [Conventions de code](#conventions-de-code) +- [Workflow de développement](#workflow-de-développement) +- [Composants](#composants) +- [Services API](#services-api) +- [Gestion de l'état](#gestion-de-létat) +- [Routing](#routing) +- [Styling](#styling) +- [Debugging](#debugging) +- [Bonnes pratiques](#bonnes-pratiques) + +--- + +## 🔧 Prérequis + +### **Logiciels requis** + +| Logiciel | Version | Vérification | +|----------|---------|--------------| +| **Node.js** | 20.x LTS | `node --version` | +| **npm** | 10.x | `npm --version` | +| **VS Code** | Latest | Recommandé | + +### **Extensions VS Code recommandées** + +- **ES7+ React/Redux/React-Native snippets** +- **Prettier - Code formatter** +- **ESLint** +- **TypeScript Vue Plugin (Volar)** +- **Tailwind CSS IntelliSense** +- **Auto Rename Tag** +- **Path Intellisense** + +--- + +## 📦 Installation + +### **1. Cloner et installer** + +```bash +cd btpxpress/btpxpress-client +npm install +``` + +### **2. Configurer les variables d'environnement** + +Créer `.env.local` : + +```bash +NEXT_PUBLIC_API_URL=http://localhost:8080/api/v1 +NEXT_PUBLIC_KEYCLOAK_URL=http://localhost:8180 +NEXT_PUBLIC_KEYCLOAK_REALM=btpxpress +NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=btpxpress-frontend +``` + +### **3. Lancer le serveur de développement** + +```bash +npm run dev +``` + +Ouvrir http://localhost:3000 + +--- + +## ⚙️ Configuration + +### **next.config.js** + +```javascript +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + swcMinify: true, + images: { + domains: ['localhost'], + }, + env: { + API_URL: process.env.NEXT_PUBLIC_API_URL, + }, +} + +module.exports = nextConfig +``` + +### **tsconfig.json** + +```json +{ + "compilerOptions": { + "target": "ES2020", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "paths": { + "@/*": ["./*"], + "@/components/*": ["./components/*"], + "@/services/*": ["./services/*"], + "@/types/*": ["./types/*"], + "@/hooks/*": ["./hooks/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} +``` + +--- + +## 📁 Structure du projet + +``` +btpxpress-client/ +├── app/ # App Router (Next.js 15) +│ ├── (auth)/ # Groupe de routes authentifiées +│ │ ├── layout.tsx # Layout avec sidebar +│ │ ├── dashboard/ +│ │ │ └── page.tsx # /dashboard +│ │ ├── chantiers/ +│ │ │ ├── page.tsx # /chantiers (liste) +│ │ │ ├── [id]/ +│ │ │ │ └── page.tsx # /chantiers/[id] (détails) +│ │ │ └── nouveau/ +│ │ │ └── page.tsx # /chantiers/nouveau +│ │ └── ... +│ ├── login/ +│ │ └── page.tsx # /login +│ ├── layout.tsx # Layout racine +│ ├── page.tsx # / (accueil) +│ └── globals.css # Styles globaux +├── components/ +│ ├── layout/ +│ │ ├── Header.tsx +│ │ ├── Sidebar.tsx +│ │ └── Footer.tsx +│ ├── forms/ +│ │ ├── ChantierForm.tsx +│ │ └── ClientForm.tsx +│ ├── tables/ +│ │ └── DataTableWrapper.tsx +│ └── common/ +│ ├── LoadingSpinner.tsx +│ └── ErrorMessage.tsx +├── services/ +│ ├── api/ +│ │ ├── chantierService.ts +│ │ ├── clientService.ts +│ │ └── apiClient.ts +│ ├── auth/ +│ │ └── keycloakService.ts +│ └── utils/ +│ └── formatters.ts +├── types/ +│ ├── models/ +│ │ ├── Chantier.ts +│ │ └── Client.ts +│ └── api/ +│ └── responses.ts +├── hooks/ +│ ├── useAuth.ts +│ ├── useChantiers.ts +│ └── useToast.ts +├── contexts/ +│ ├── AuthContext.tsx +│ └── ThemeContext.tsx +└── public/ + ├── images/ + └── icons/ +``` + +--- + +## 📝 Conventions de code + +### **Nommage** + +| Élément | Convention | Exemple | +|---------|------------|---------| +| **Composants** | PascalCase | `ChantierForm.tsx` | +| **Fichiers** | PascalCase (composants), camelCase (autres) | `Header.tsx`, `apiClient.ts` | +| **Variables** | camelCase | `const userName = ...` | +| **Constantes** | UPPER_SNAKE_CASE | `const API_URL = ...` | +| **Types/Interfaces** | PascalCase | `interface ChantierDTO` | +| **Hooks** | camelCase avec `use` | `useAuth()` | + +### **Structure d'un composant** + +```typescript +'use client'; // Si nécessaire (composant client) + +import React from 'react'; +import { Button } from 'primereact/button'; +import type { ChantierDTO } from '@/types/models/Chantier'; + +interface ChantierFormProps { + chantier?: ChantierDTO; + onSubmit: (data: ChantierDTO) => void; + onCancel: () => void; +} + +export const ChantierForm: React.FC = ({ + chantier, + onSubmit, + onCancel, +}) => { + // Hooks + const [loading, setLoading] = React.useState(false); + + // Handlers + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setLoading(true); + // ... + }; + + // Render + return ( +
+ {/* JSX */} +
+ ); +}; +``` + +--- + +## 🔄 Workflow de développement + +### **1. Créer une branche** + +```bash +git checkout -b feature/nom-de-la-fonctionnalite +``` + +### **2. Développer** + +1. Créer le type TypeScript (`types/models/`) +2. Créer le service API (`services/api/`) +3. Créer le composant (`components/`) +4. Créer la page (`app/`) +5. Tester + +### **3. Tester localement** + +```bash +npm run dev +npm run lint +npm test +``` + +### **4. Commit et Push** + +```bash +git add . +git commit -m "feat: ajout de la fonctionnalité X" +git push origin feature/nom-de-la-fonctionnalite +``` + +--- + +## 🧩 Composants + +### **Composant fonctionnel avec TypeScript** + +```typescript +import React from 'react'; + +interface Props { + title: string; + count: number; + onIncrement: () => void; +} + +export const Counter: React.FC = ({ title, count, onIncrement }) => { + return ( +
+

{title}

+

Count: {count}

+ +
+ ); +}; +``` + +### **Composant avec PrimeReact** + +```typescript +'use client'; + +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; + +export const ChantierTable = ({ chantiers }) => { + const actionBodyTemplate = (rowData) => { + return ( + + + + + +
+
+
+
Premium
+
Plan description
+
+
+ $29 + per month +
+
+
    +
  • + + Arcu vitae elementum +
  • +
  • + + Dui faucibus in ornare +
  • +
  • + + Morbi tincidunt augue +
  • +
  • + + Duis ultricies lacus sed +
  • +
+
+ +
+
+
+ +
+
+
+
Enterprise
+
Plan description
+
+
+ $49 + per month +
+
+
    +
  • + + Arcu vitae elementum +
  • +
  • + + Dui faucibus in ornare +
  • +
  • + + Morbi tincidunt augue +
  • +
  • + + Duis ultricies lacus sed +
  • +
  • + + Imperdiet proin +
  • +
  • + + Nisi scelerisque +
  • +
+
+ +
+
+
+ + `; + + const block4 = ` +
+
 POWERED BY DISCORD
+
Join Our Design Community
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Velit numquam eligendi quos.
+
+ `; + + const block5 = ` +
+
🔥 Hot Deals!
+
+ Libero voluptatum atque exercitationem praesentium provident odit. +
+ + Learn More + + + + +
+ `; + + const block6 = ` +
+ +
+
+
Customers
+
+
+ + 332 Active Users +
+
+ + 9402 Sessions +
+
+ + 2.32m Avg. Duration +
+
+
+
+
+
+
+ `; + + const block7 = ` +
+
+
+
+
+ Orders +
152
+
+
+ +
+
+ 24 new + since last visit +
+
+
+
+
+
+ Revenue +
$2.100
+
+
+ +
+
+ %52+ + since last week +
+
+
+
+
+
+ Customers +
28441
+
+
+ +
+
+ 520 + newly registered +
+
+
+
+
+
+ Comments +
152 Unread
+
+
+ +
+
+ 85 + responded +
+
+
+ `; + + const block8 = ` +
+
+
+ hyper +
Welcome Back
+ Do not have an account? + Create today! +
+ +
+ + + + + + +
+
+ setChecked(e.checked)} checked={checked} className="mr-2" /> + +
+ Forgot your password? +
+ +
+
+
+ `; + + const block9 = ` +
+
Movie Information
+
Morbi tristique blandit turpis. In viverra ligula id nulla hendrerit rutrum.
+
    +
  • +
    Title
    +
    Heat
    +
    +
    +
  • +
  • +
    Genre
    +
    + + + +
    +
    +
    +
  • +
  • +
    Director
    +
    Michael Mann
    +
    +
    +
  • +
  • +
    Actors
    +
    Robert De Niro, Al Pacino
    +
    +
    +
  • +
  • +
    Plot
    +
    + A group of professional bank robbers start to feel the heat from police + when they unknowingly leave a clue at their latest heist.
    +
    +
    +
  • +
+
+ `; + + const block10 = ` +
+
Card Title
+
Vivamus id nisl interdum, blandit augue sit amet, eleifend mi.
+
+
+ `; + + return ( + <> + +
+
+
+ Create the screens +
your visitors deserve to see
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+ +
+
+
+ hero-1 +
+
+
+ + +
+
+ One Product, + Many Solutions +
+
Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna.
+
+
+ + + +
Built for Developers
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. +
+
+ + + +
End-to-End Encryption
+ Risus nec feugiat in fermentum posuere urna nec. Posuere sollicitudin aliquam ultrices sagittis. +
+
+ + + +
Easy to Use
+ Ornare suspendisse sed nisi lacus sed viverra tellus. Neque volutpat ac tincidunt vitae semper. +
+
+ + + +
Fast & Global Support
+ Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus. +
+
+ + + +
Open Source
+ Nec tincidunt praesent semper feugiat. Sed adipiscing diam donec adipiscing tristique risus nec feugiat. +
+
+ + + +
Trusted Securitty
+ Mattis rhoncus urna neque viverra justo nec ultrices. Id cursus metus aliquam eleifend. +
+
+
+
+ + +
+
Pricing Plans
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Velit numquam eligendi quos.
+ +
+
+
+
+
Basic
+
Plan description
+
+
+ $9 + per month +
+
+
    +
  • + + Arcu vitae elementum +
  • +
  • + + Dui faucibus in ornare +
  • +
  • + + Morbi tincidunt augue +
  • +
+
+ +
+
+
+ +
+
+
+
Premium
+
Plan description
+
+
+ $29 + per month +
+
+
    +
  • + + Arcu vitae elementum +
  • +
  • + + Dui faucibus in ornare +
  • +
  • + + Morbi tincidunt augue +
  • +
  • + + Duis ultricies lacus sed +
  • +
+
+ +
+
+
+ +
+
+
+
Enterprise
+
Plan description
+
+
+ $49 + per month +
+
+
    +
  • + + Arcu vitae elementum +
  • +
  • + + Dui faucibus in ornare +
  • +
  • + + Morbi tincidunt augue +
  • +
  • + + Duis ultricies lacus sed +
  • +
  • + + Imperdiet proin +
  • +
  • + + Nisi scelerisque +
  • +
+
+ +
+
+
+
+
+
+ + +
+
+  POWERED BY DISCORD +
+
Join Our Design Community
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Velit numquam eligendi quos.
+
+
+ + +
+
🔥 Hot Deals!
+
+ Libero voluptatum atque exercitationem praesentium provident odit. +
+ + Learn More + + + + +
+
+ +
Application UI
+ +
+ +
+
+
Customers
+
+
+ + 332 Active Users +
+
+ + 9402 Sessions +
+
+ + 2.32m Avg. Duration +
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ Orders +
152
+
+
+ +
+
+ 24 new + since last visit +
+
+
+
+
+
+ Revenue +
$2.100
+
+
+ +
+
+ %52+ + since last week +
+
+
+
+
+
+ Customers +
28441
+
+
+ +
+
+ 520 + newly registered +
+
+
+
+
+
+ Comments +
152 Unread
+
+
+ +
+
+ 85 + responded +
+
+
+
+
+ + +
+
+
+ hyper +
Welcome Back
+ Do not have an account? + Create today! +
+ +
+ + + + + + +
+
+ setChecked(e.checked as boolean)} checked={checked} className="mr-2" /> + +
+ Forgot your password? +
+ +
+
+
+
+ + +
+
Movie Information
+
Morbi tristique blandit turpis. In viverra ligula id nulla hendrerit rutrum.
+
    +
  • +
    Title
    +
    Heat
    +
    +
    +
  • +
  • +
    Genre
    +
    + + + +
    +
    +
    +
  • +
  • +
    Director
    +
    Michael Mann
    +
    +
    +
  • +
  • +
    Actors
    +
    Robert De Niro, Al Pacino
    +
    +
    +
  • +
  • +
    Plot
    +
    A group of professional bank robbers start to feel the heat from police when they unknowingly leave a clue at their latest heist.
    +
    +
    +
  • +
+
+
+ + +
+
Card Title
+
Vivamus id nisl interdum, blandit augue sit amet, eleifend mi.
+
+
+
+ + ); +}; + +export default BlocksDemo; diff --git a/app/(main)/budget/planification/page.tsx b/app/(main)/budget/planification/page.tsx new file mode 100644 index 0000000..9f760f7 --- /dev/null +++ b/app/(main)/budget/planification/page.tsx @@ -0,0 +1,625 @@ +'use client'; + +/** + * Page principale de planification budgétaire + * Vue d'ensemble de tous les budgets avec possibilité de planification détaillée + */ + +import React, { useState, useRef, useEffect, useContext } from 'react'; +import { LayoutContext } from '../../../../layout/context/layoutcontext'; +import { Card } from 'primereact/card'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { Tag } from 'primereact/tag'; +import { ProgressBar } from 'primereact/progressbar'; +import { Toolbar } from 'primereact/toolbar'; +import { InputText } from 'primereact/inputtext'; +import { Dropdown } from 'primereact/dropdown'; +import { Calendar } from 'primereact/calendar'; +import { Toast } from 'primereact/toast'; +import { Chart } from 'primereact/chart'; +import { Divider } from 'primereact/divider'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Panel } from 'primereact/panel'; +import BudgetPlanningDialog from '../../../../components/phases/BudgetPlanningDialog'; + +interface BudgetChantier { + id: string; + chantierNom: string; + client: string; + dateDebut: string; + dateFin: string; + budgetTotal: number; + budgetPlanifie: number; + avancementPlanification: number; + nombrePhases: number; + nombrePhasesPlanifiees: number; + statut: 'NON_PLANIFIE' | 'EN_COURS_PLANIFICATION' | 'PLANIFIE' | 'VALIDE'; + priorite: 'HAUTE' | 'MOYENNE' | 'BASSE'; + responsable: string; + derniereMaj: string; +} + +const BudgetPlanificationPage = () => { + const { layoutConfig, setLayoutConfig, layoutState, setLayoutState } = useContext(LayoutContext); + const toast = useRef(null); + + // États + const [budgets, setBudgets] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const [selectedBudget, setSelectedBudget] = useState(null); + const [showPlanningDialog, setShowPlanningDialog] = useState(false); + const [activeIndex, setActiveIndex] = useState(0); + + // Filtres + const [statusFilter, setStatusFilter] = useState(''); + const [prioriteFilter, setPrioriteFilter] = useState(''); + const [dateFilter, setDateFilter] = useState(null); + + // Options pour les filtres + const statusOptions = [ + { label: 'Tous les statuts', value: '' }, + { label: 'Non planifié', value: 'NON_PLANIFIE' }, + { label: 'En cours', value: 'EN_COURS_PLANIFICATION' }, + { label: 'Planifié', value: 'PLANIFIE' }, + { label: 'Validé', value: 'VALIDE' } + ]; + + const prioriteOptions = [ + { label: 'Toutes priorités', value: '' }, + { label: 'Haute', value: 'HAUTE' }, + { label: 'Moyenne', value: 'MOYENNE' }, + { label: 'Basse', value: 'BASSE' } + ]; + + // Charger les données + useEffect(() => { + loadBudgets(); + }, []); + + const loadBudgets = async () => { + try { + setLoading(true); + + // Simuler des données de budget (en production, ceci viendrait de l'API) + const budgetsSimules: BudgetChantier[] = [ + { + id: '1', + chantierNom: 'Villa Moderne Bordeaux', + client: 'Jean Dupont', + dateDebut: '2025-03-01', + dateFin: '2025-08-30', + budgetTotal: 250000, + budgetPlanifie: 180000, + avancementPlanification: 72, + nombrePhases: 8, + nombrePhasesPlanifiees: 6, + statut: 'EN_COURS_PLANIFICATION', + priorite: 'HAUTE', + responsable: 'Marie Martin', + derniereMaj: '2025-01-28' + }, + { + id: '2', + chantierNom: 'Extension Maison Lyon', + client: 'Sophie Lambert', + dateDebut: '2025-02-15', + dateFin: '2025-06-15', + budgetTotal: 120000, + budgetPlanifie: 120000, + avancementPlanification: 100, + nombrePhases: 5, + nombrePhasesPlanifiees: 5, + statut: 'PLANIFIE', + priorite: 'MOYENNE', + responsable: 'Pierre Dubois', + derniereMaj: '2025-01-25' + }, + { + id: '3', + chantierNom: 'Rénovation Appartement Paris', + client: 'Michel Robert', + dateDebut: '2025-04-01', + dateFin: '2025-07-31', + budgetTotal: 85000, + budgetPlanifie: 0, + avancementPlanification: 0, + nombrePhases: 6, + nombrePhasesPlanifiees: 0, + statut: 'NON_PLANIFIE', + priorite: 'HAUTE', + responsable: 'Anne Legrand', + derniereMaj: '2025-01-20' + } + ]; + + setBudgets(budgetsSimules); + + } catch (error) { + console.error('Erreur lors du chargement des budgets:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les budgets', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + // Templates pour le DataTable + const statutTemplate = (rowData: BudgetChantier) => { + const severityMap = { + 'NON_PLANIFIE': 'danger', + 'EN_COURS_PLANIFICATION': 'warning', + 'PLANIFIE': 'info', + 'VALIDE': 'success' + } as const; + + const labelMap = { + 'NON_PLANIFIE': 'Non planifié', + 'EN_COURS_PLANIFICATION': 'En cours', + 'PLANIFIE': 'Planifié', + 'VALIDE': 'Validé' + }; + + return ; + }; + + const prioriteTemplate = (rowData: BudgetChantier) => { + const severityMap = { + 'HAUTE': 'danger', + 'MOYENNE': 'warning', + 'BASSE': 'info' + } as const; + + return ; + }; + + const budgetTemplate = (rowData: BudgetChantier) => { + const pourcentagePlanifie = rowData.budgetTotal > 0 ? (rowData.budgetPlanifie / rowData.budgetTotal) * 100 : 0; + + return ( +
+
+ + {new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(rowData.budgetPlanifie)} + + + {new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(rowData.budgetTotal)} + +
+ + {pourcentagePlanifie.toFixed(0)}% planifié +
+ ); + }; + + const avancementTemplate = (rowData: BudgetChantier) => { + return ( +
+
+ Phases planifiées + {rowData.nombrePhasesPlanifiees}/{rowData.nombrePhases} +
+ + {rowData.avancementPlanification}% avancement +
+ ); + }; + + const dateTemplate = (rowData: BudgetChantier, field: keyof BudgetChantier) => { + const date = rowData[field] as string; + return new Date(date).toLocaleDateString('fr-FR'); + }; + + const actionsTemplate = (rowData: BudgetChantier) => { + return ( +
+
+ ); + }; + + // Fonctions d'action + const validerBudget = async (budgetId: string) => { + try { + // Appel API pour valider le budget + setBudgets(budgets.map(b => + b.id === budgetId ? { ...b, statut: 'VALIDE' as const } : b + )); + + toast.current?.show({ + severity: 'success', + summary: 'Budget validé', + detail: 'Le budget a été validé avec succès', + life: 3000 + }); + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de valider le budget', + life: 3000 + }); + } + }; + + const handleSaveBudgetPlanning = async (budgetData: any) => { + if (!selectedBudget) return; + + try { + // Mettre à jour le budget avec les nouvelles données + setBudgets(budgets.map(b => + b.id === selectedBudget.id + ? { + ...b, + budgetPlanifie: budgetData.prixVenteCalcule, + statut: 'PLANIFIE' as const, + avancementPlanification: 100, + derniereMaj: new Date().toISOString().split('T')[0] + } + : b + )); + + toast.current?.show({ + severity: 'success', + summary: 'Budget planifié', + detail: `Le budget du chantier "${selectedBudget.chantierNom}" a été mis à jour`, + life: 3000 + }); + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de sauvegarder la planification', + life: 3000 + }); + } + }; + + // Filtrer les données + const filteredBudgets = budgets.filter(budget => { + let matches = true; + + if (globalFilter) { + const search = globalFilter.toLowerCase(); + matches = matches && ( + budget.chantierNom.toLowerCase().includes(search) || + budget.client.toLowerCase().includes(search) || + budget.responsable.toLowerCase().includes(search) + ); + } + + if (statusFilter) { + matches = matches && budget.statut === statusFilter; + } + + if (prioriteFilter) { + matches = matches && budget.priorite === prioriteFilter; + } + + return matches; + }); + + // Statistiques + const stats = { + totalBudgets: budgets.length, + budgetsNonPlanifies: budgets.filter(b => b.statut === 'NON_PLANIFIE').length, + budgetsEnCours: budgets.filter(b => b.statut === 'EN_COURS_PLANIFICATION').length, + budgetsPlanifies: budgets.filter(b => b.statut === 'PLANIFIE').length, + budgetsValides: budgets.filter(b => b.statut === 'VALIDE').length, + montantTotalBudget: budgets.reduce((sum, b) => sum + b.budgetTotal, 0), + montantTotalPlanifie: budgets.reduce((sum, b) => sum + b.budgetPlanifie, 0) + }; + + // Données pour le graphique + const chartData = { + labels: ['Non planifié', 'En cours', 'Planifié', 'Validé'], + datasets: [ + { + data: [ + stats.budgetsNonPlanifies, + stats.budgetsEnCours, + stats.budgetsPlanifies, + stats.budgetsValides + ], + backgroundColor: ['#dc3545', '#ffc107', '#007ad9', '#22c55e'], + borderWidth: 0 + } + ] + }; + + // Template de la toolbar + const toolbarStartTemplate = ( +
+
Planification Budgétaire
+ +
+ ); + + const toolbarEndTemplate = ( +
+ + + setGlobalFilter(e.target.value)} + placeholder="Rechercher..." + /> + + setStatusFilter(e.value)} + placeholder="Statut" + className="w-10rem" + /> + setPrioriteFilter(e.value)} + placeholder="Priorité" + className="w-10rem" + /> +
+ ); + + return ( +
+ + +
+ + setActiveIndex(e.index)}> + + {/* Statistiques générales */} +
+
+ +
+
+ Budget Total +
+ {new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(stats.montantTotalBudget)} +
+
+
+ +
+
+
+
+
+ +
+
+ Budget Planifié +
+ {new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(stats.montantTotalPlanifie)} +
+
+
+ +
+
+
+
+
+ +
+
+ En Attente +
+ {stats.budgetsNonPlanifies + stats.budgetsEnCours} +
+ chantiers +
+
+ +
+
+
+
+
+ +
+
+ Taux Planification +
+ {stats.totalBudgets > 0 ? + (((stats.budgetsPlanifies + stats.budgetsValides) / stats.totalBudgets) * 100).toFixed(0) + : 0}% +
+
+
+ +
+
+
+
+
+ + {/* Graphique de répartition */} +
+
+ + + +
+
+ +
+ +

+ {stats.budgetsNonPlanifies} chantiers n'ont pas encore de budget planifié. +

+ {stats.budgetsNonPlanifies > 0 && ( +
+
+
+
+
+ + + + + + + + dateTemplate(rowData, 'dateDebut')} + sortable + style={{ width: '8rem' }} + /> + dateTemplate(rowData, 'dateFin')} + sortable + style={{ width: '8rem' }} + /> + + + + + + + + +
+
+
+ + {/* Dialog de planification budgétaire */} + setShowPlanningDialog(false)} + phase={selectedBudget ? { + id: parseInt(selectedBudget.id), + nom: selectedBudget.chantierNom, + budgetPrevu: selectedBudget.budgetTotal + } as any : null} + onSave={handleSaveBudgetPlanning} + /> +
+ ); +}; + +export default BudgetPlanificationPage; \ No newline at end of file diff --git a/app/(main)/budget/suivi/page.tsx b/app/(main)/budget/suivi/page.tsx new file mode 100644 index 0000000..4f220e0 --- /dev/null +++ b/app/(main)/budget/suivi/page.tsx @@ -0,0 +1,747 @@ +'use client'; + +/** + * Page principale de suivi budgétaire + * Tableau de bord des dépenses réelles vs budget prévu avec analyse des écarts + */ + +import React, { useState, useRef, useEffect, useContext } from 'react'; +import { LayoutContext } from '../../../../layout/context/layoutcontext'; +import { Card } from 'primereact/card'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { Tag } from 'primereact/tag'; +import { ProgressBar } from 'primereact/progressbar'; +import { Toolbar } from 'primereact/toolbar'; +import { InputText } from 'primereact/inputtext'; +import { Dropdown } from 'primereact/dropdown'; +import { Toast } from 'primereact/toast'; +import { Chart } from 'primereact/chart'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Panel } from 'primereact/panel'; +import { Divider } from 'primereact/divider'; +import BudgetExecutionDialog from '../../../../components/phases/BudgetExecutionDialog'; + +interface SuiviBudget { + id: string; + chantierNom: string; + client: string; + budgetTotal: number; + depenseReelle: number; + ecart: number; + ecartPourcentage: number; + avancementTravaux: number; + nombrePhases: number; + phasesTerminees: number; + statut: 'CONFORME' | 'ALERTE' | 'DEPASSEMENT' | 'CRITIQUE'; + tendance: 'STABLE' | 'AMELIORATION' | 'DETERIORATION'; + responsable: string; + derniereMiseAJour: string; + alertes: number; + prochainJalon: string; +} + +const BudgetSuiviPage = () => { + const { layoutConfig, setLayoutConfig, layoutState, setLayoutState } = useContext(LayoutContext); + const toast = useRef(null); + + // États + const [budgets, setBudgets] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const [selectedBudget, setSelectedBudget] = useState(null); + const [showExecutionDialog, setShowExecutionDialog] = useState(false); + const [activeIndex, setActiveIndex] = useState(0); + + // Filtres + const [statutFilter, setStatutFilter] = useState(''); + const [tendanceFilter, setTendanceFilter] = useState(''); + + // Options pour les filtres + const statutOptions = [ + { label: 'Tous les statuts', value: '' }, + { label: 'Conforme', value: 'CONFORME' }, + { label: 'Alerte', value: 'ALERTE' }, + { label: 'Dépassement', value: 'DEPASSEMENT' }, + { label: 'Critique', value: 'CRITIQUE' } + ]; + + const tendanceOptions = [ + { label: 'Toutes tendances', value: '' }, + { label: 'Stable', value: 'STABLE' }, + { label: 'Amélioration', value: 'AMELIORATION' }, + { label: 'Détérioration', value: 'DETERIORATION' } + ]; + + // Charger les données + useEffect(() => { + loadSuiviBudgets(); + }, []); + + const loadSuiviBudgets = async () => { + try { + setLoading(true); + + // Simuler des données de suivi budgétaire + const budgetsSimules: SuiviBudget[] = [ + { + id: '1', + chantierNom: 'Villa Moderne Bordeaux', + client: 'Jean Dupont', + budgetTotal: 250000, + depenseReelle: 180000, + ecart: -70000, + ecartPourcentage: -28, + avancementTravaux: 65, + nombrePhases: 8, + phasesTerminees: 5, + statut: 'CONFORME', + tendance: 'STABLE', + responsable: 'Marie Martin', + derniereMiseAJour: '2025-01-30', + alertes: 0, + prochainJalon: 'Finitions - 15/02/2025' + }, + { + id: '2', + chantierNom: 'Extension Maison Lyon', + client: 'Sophie Lambert', + budgetTotal: 120000, + depenseReelle: 135000, + ecart: 15000, + ecartPourcentage: 12.5, + avancementTravaux: 85, + nombrePhases: 5, + phasesTerminees: 4, + statut: 'DEPASSEMENT', + tendance: 'DETERIORATION', + responsable: 'Pierre Dubois', + derniereMiseAJour: '2025-01-29', + alertes: 3, + prochainJalon: 'Réception - 28/02/2025' + }, + { + id: '3', + chantierNom: 'Rénovation Appartement Paris', + client: 'Michel Robert', + budgetTotal: 85000, + depenseReelle: 92000, + ecart: 7000, + ecartPourcentage: 8.2, + avancementTravaux: 75, + nombrePhases: 6, + phasesTerminees: 4, + statut: 'ALERTE', + tendance: 'DETERIORATION', + responsable: 'Anne Legrand', + derniereMiseAJour: '2025-01-28', + alertes: 1, + prochainJalon: 'Électricité - 10/02/2025' + }, + { + id: '4', + chantierNom: 'Construction Bureaux Toulouse', + client: 'Entreprise ABC', + budgetTotal: 450000, + depenseReelle: 520000, + ecart: 70000, + ecartPourcentage: 15.6, + avancementTravaux: 90, + nombrePhases: 12, + phasesTerminees: 10, + statut: 'CRITIQUE', + tendance: 'DETERIORATION', + responsable: 'Paul Moreau', + derniereMiseAJour: '2025-01-30', + alertes: 5, + prochainJalon: 'Livraison - 05/02/2025' + } + ]; + + setBudgets(budgetsSimules); + + } catch (error) { + console.error('Erreur lors du chargement du suivi budgétaire:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger le suivi budgétaire', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + // Templates pour le DataTable + const statutTemplate = (rowData: SuiviBudget) => { + const severityMap = { + 'CONFORME': 'success', + 'ALERTE': 'warning', + 'DEPASSEMENT': 'danger', + 'CRITIQUE': 'danger' + } as const; + + const iconMap = { + 'CONFORME': 'pi-check-circle', + 'ALERTE': 'pi-exclamation-triangle', + 'DEPASSEMENT': 'pi-times-circle', + 'CRITIQUE': 'pi-ban' + }; + + return ( + + ); + }; + + const tendanceTemplate = (rowData: SuiviBudget) => { + const iconMap = { + 'STABLE': 'pi-minus', + 'AMELIORATION': 'pi-arrow-up', + 'DETERIORATION': 'pi-arrow-down' + }; + + const colorMap = { + 'STABLE': 'text-blue-500', + 'AMELIORATION': 'text-green-500', + 'DETERIORATION': 'text-red-500' + }; + + return ( +
+ + {rowData.tendance} +
+ ); + }; + + const ecartTemplate = (rowData: SuiviBudget) => { + const isPositif = rowData.ecart > 0; + const couleur = isPositif ? 'text-red-500' : 'text-green-500'; + const icone = isPositif ? 'pi-arrow-up' : 'pi-arrow-down'; + + return ( +
+
+ + {new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + signDisplay: 'always' + }).format(rowData.ecart)} +
+ + {rowData.ecartPourcentage > 0 ? '+' : ''}{rowData.ecartPourcentage.toFixed(1)}% + +
+ ); + }; + + const budgetTemplate = (rowData: SuiviBudget) => { + const pourcentageConsomme = (rowData.depenseReelle / rowData.budgetTotal) * 100; + const couleurBarre = pourcentageConsomme > 100 ? '#dc3545' : + pourcentageConsomme > 80 ? '#ffc107' : '#22c55e'; + + return ( +
+
+ + {new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(rowData.depenseReelle)} + + + / {new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR' }).format(rowData.budgetTotal)} + +
+ + + {pourcentageConsomme.toFixed(0)}% consommé + +
+ ); + }; + + const avancementTemplate = (rowData: SuiviBudget) => { + // Calculer l'efficacité budgétaire (avancement vs consommation budget) + const consommationBudget = (rowData.depenseReelle / rowData.budgetTotal) * 100; + const efficacite = rowData.avancementTravaux - consommationBudget; + const couleurEfficacite = efficacite > 0 ? 'text-green-500' : + efficacite < -10 ? 'text-red-500' : 'text-orange-500'; + + return ( +
+
+ Phases + {rowData.phasesTerminees}/{rowData.nombrePhases} +
+ +
+ {rowData.avancementTravaux}% avancement + + {efficacite > 0 ? '+' : ''}{efficacite.toFixed(0)}% eff. + +
+
+ ); + }; + + const alertesTemplate = (rowData: SuiviBudget) => { + if (rowData.alertes === 0) { + return ; + } + + const severity = rowData.alertes > 3 ? 'danger' : rowData.alertes > 1 ? 'warning' : 'info'; + return ; + }; + + const actionsTemplate = (rowData: SuiviBudget) => { + return ( +
+
+ ); + }; + + // Gérer la sauvegarde de l'exécution budgétaire + const handleSaveBudgetExecution = async (executionData: any) => { + if (!selectedBudget) return; + + try { + // Mettre à jour les données de suivi + setBudgets(budgets.map(b => + b.id === selectedBudget.id + ? { + ...b, + depenseReelle: executionData.coutTotal, + ecart: executionData.coutTotal - b.budgetTotal, + ecartPourcentage: ((executionData.coutTotal - b.budgetTotal) / b.budgetTotal) * 100, + statut: executionData.ecartPourcentage > 15 ? 'CRITIQUE' : + executionData.ecartPourcentage > 10 ? 'DEPASSEMENT' : + executionData.ecartPourcentage > 5 ? 'ALERTE' : 'CONFORME', + derniereMiseAJour: new Date().toISOString().split('T')[0] + } as SuiviBudget + : b + )); + + toast.current?.show({ + severity: 'success', + summary: 'Suivi mis à jour', + detail: `Le suivi budgétaire du chantier "${selectedBudget.chantierNom}" a été actualisé`, + life: 3000 + }); + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de mettre à jour le suivi budgétaire', + life: 3000 + }); + } + }; + + // Filtrer les données + const filteredBudgets = budgets.filter(budget => { + let matches = true; + + if (globalFilter) { + const search = globalFilter.toLowerCase(); + matches = matches && ( + budget.chantierNom.toLowerCase().includes(search) || + budget.client.toLowerCase().includes(search) || + budget.responsable.toLowerCase().includes(search) + ); + } + + if (statutFilter) { + matches = matches && budget.statut === statutFilter; + } + + if (tendanceFilter) { + matches = matches && budget.tendance === tendanceFilter; + } + + return matches; + }); + + // Statistiques + const stats = { + totalChantiers: budgets.length, + chantiersConformes: budgets.filter(b => b.statut === 'CONFORME').length, + chantiersAlerte: budgets.filter(b => b.statut === 'ALERTE').length, + chantiersDepassement: budgets.filter(b => b.statut === 'DEPASSEMENT' || b.statut === 'CRITIQUE').length, + budgetTotalPrevu: budgets.reduce((sum, b) => sum + b.budgetTotal, 0), + depenseTotaleReelle: budgets.reduce((sum, b) => sum + b.depenseReelle, 0), + ecartTotalAbsolu: budgets.reduce((sum, b) => sum + Math.abs(b.ecart), 0), + alertesTotales: budgets.reduce((sum, b) => sum + b.alertes, 0) + }; + + const ecartTotalGlobal = stats.depenseTotaleReelle - stats.budgetTotalPrevu; + const ecartPourcentageGlobal = stats.budgetTotalPrevu > 0 ? (ecartTotalGlobal / stats.budgetTotalPrevu) * 100 : 0; + + // Données pour les graphiques + const repartitionData = { + labels: ['Conforme', 'Alerte', 'Dépassement'], + datasets: [ + { + data: [stats.chantiersConformes, stats.chantiersAlerte, stats.chantiersDepassement], + backgroundColor: ['#22c55e', '#ffc107', '#dc3545'], + borderWidth: 0 + } + ] + }; + + const evolutionData = { + labels: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun'], + datasets: [ + { + label: 'Budget prévu', + data: [150000, 180000, 220000, 280000, 350000, 420000], + borderColor: '#007ad9', + backgroundColor: 'rgba(0, 122, 217, 0.1)', + tension: 0.4 + }, + { + label: 'Dépenses réelles', + data: [145000, 190000, 240000, 310000, 380000, 460000], + borderColor: '#dc3545', + backgroundColor: 'rgba(220, 53, 69, 0.1)', + tension: 0.4 + } + ] + }; + + // Template de la toolbar + const toolbarStartTemplate = ( +
+
Suivi Budgétaire
+ + {stats.alertesTotales > 0 && ( + + )} +
+ ); + + const toolbarEndTemplate = ( +
+ + + setGlobalFilter(e.target.value)} + placeholder="Rechercher..." + /> + + setStatutFilter(e.value)} + placeholder="Statut" + className="w-10rem" + /> + setTendanceFilter(e.value)} + placeholder="Tendance" + className="w-10rem" + /> +
+ ); + + return ( +
+ + +
+ + setActiveIndex(e.index)}> + + {/* KPI principaux */} +
+
+ +
+
+ Budget Total +
+ {new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(stats.budgetTotalPrevu)} +
+
+
+ +
+
+
+
+
+ +
+
+ Dépenses Réelles +
+ {new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(stats.depenseTotaleReelle)} +
+
+
+ +
+
+
+
+
+ 0 ? "bg-red-50" : "bg-green-50"}> +
+
+ 0 ? 'text-red-600' : 'text-green-600'}`}> + Écart Global + +
0 ? 'text-red-900' : 'text-green-900'}`}> + {ecartTotalGlobal > 0 ? '+' : ''}{new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(ecartTotalGlobal)} +
+ 0 ? 'text-red-600' : 'text-green-600'}> + {ecartPourcentageGlobal > 0 ? '+' : ''}{ecartPourcentageGlobal.toFixed(1)}% + +
+
0 ? 'bg-red-100' : 'bg-green-100'}`} style={{ width: '2.5rem', height: '2.5rem' }}> + 0 ? 'pi-arrow-up text-red-500' : 'pi-arrow-down text-green-500'} text-xl`}> +
+
+
+
+
+ +
+
+ Alertes Actives +
+ {stats.alertesTotales} +
+ notifications +
+
+ +
+
+
+
+
+ + {/* Graphiques */} +
+
+ + + +
+
+ + + +
+
+ + {/* Actions prioritaires */} +
+
+ +
+
+ +

+ {stats.chantiersDepassement} chantiers en dépassement budgétaire. +

+ {stats.chantiersDepassement > 0 && ( +
+
+ +

+ {stats.chantiersAlerte} chantiers nécessitent une surveillance. +

+ {stats.chantiersAlerte > 0 && ( +
+
+ +

+ {stats.chantiersConformes} chantiers respectent leur budget. +

+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + +
+
+
+ + {/* Dialog d'exécution budgétaire */} + setShowExecutionDialog(false)} + phase={selectedBudget ? { + id: parseInt(selectedBudget.id), + nom: selectedBudget.chantierNom, + budgetPrevu: selectedBudget.budgetTotal + } as any : null} + onSave={handleSaveBudgetExecution} + /> +
+ ); +}; + +export default BudgetSuiviPage; \ No newline at end of file diff --git a/app/(main)/chantiers/[id]/execution-granulaire/page.tsx b/app/(main)/chantiers/[id]/execution-granulaire/page.tsx new file mode 100644 index 0000000..48876e9 --- /dev/null +++ b/app/(main)/chantiers/[id]/execution-granulaire/page.tsx @@ -0,0 +1,563 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { useParams } from 'next/navigation'; +import { Card } from 'primereact/card'; +import { Checkbox } from 'primereact/checkbox'; +import { Button } from 'primereact/button'; +import { ProgressBar } from 'primereact/progressbar'; +import { Badge } from 'primereact/badge'; +import { Toast } from 'primereact/toast'; +import { Accordion, AccordionTab } from 'primereact/accordion'; +import { TreeTable } from 'primereact/treetable'; +import { Column } from 'primereact/column'; +import { Dialog } from 'primereact/dialog'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { Avatar } from 'primereact/avatar'; +import { apiClient } from '../../../../../services/api-client'; + +/** + * Interface pour les tâches d'exécution avec état de completion + */ +interface TacheExecution { + id: string; + nom: string; + description?: string; + ordreExecution: number; + dureeEstimeeMinutes?: number; + critique: boolean; + bloquante: boolean; + priorite: 'BASSE' | 'NORMALE' | 'HAUTE'; + niveauQualification?: string; + nombreOperateursRequis: number; + conditionsMeteo: string; + outilsRequis?: string[]; + materiauxRequis?: string[]; + + // État d'exécution + terminee: boolean; + dateCompletion?: Date; + completeepar?: string; + commentaires?: string; + tempsRealise?: number; // en minutes + difficulteRencontree?: 'AUCUNE' | 'FAIBLE' | 'MOYENNE' | 'ELEVEE'; +} + +interface SousPhaseExecution { + id: string; + nom: string; + description?: string; + ordreExecution: number; + taches: TacheExecution[]; + + // Calculé automatiquement + avancement: number; // % basé sur les tâches terminées + tachesTerminees: number; + totalTaches: number; + dureeRealisee: number; // en minutes + dureeEstimee: number; // en minutes +} + +interface PhaseExecution { + id: string; + nom: string; + description?: string; + ordreExecution: number; + sousPhases: SousPhaseExecution[]; + + // Calculé automatiquement + avancement: number; // % basé sur les sous-phases + sousPhasesTerminees: number; + totalSousPhases: number; +} + +interface ChantierExecution { + id: string; + nom: string; + client: string; + dateDebut: Date; + dateFinPrevue: Date; + phases: PhaseExecution[]; + + // Avancement global calculé + avancementGlobal: number; // % basé sur toutes les tâches + totalTachesTerminees: number; + totalTaches: number; +} + +/** + * Page d'exécution granulaire d'un chantier + * Permet de cocher les tâches terminées pour un suivi précis de l'avancement + */ +const ExecutionGranulaireChantier = () => { + const { id } = useParams(); + const toast = useRef(null); + + // États principaux + const [chantier, setChantier] = useState(null); + const [loading, setLoading] = useState(true); + const [saving, setSaving] = useState(false); + + // États pour les modals + const [showCommentDialog, setShowCommentDialog] = useState(false); + const [selectedTache, setSelectedTache] = useState(null); + const [commentaires, setCommentaires] = useState(''); + const [tempsRealise, setTempsRealise] = useState(0); + const [difficulte, setDifficulte] = useState<'AUCUNE' | 'FAIBLE' | 'MOYENNE' | 'ELEVEE'>('AUCUNE'); + + // États pour la vue + const [activeIndex, setActiveIndex] = useState(0); + const [expandedKeys, setExpandedKeys] = useState({}); + + useEffect(() => { + if (id) { + loadChantierExecution(id as string); + } + }, [id]); + + /** + * Charge les données d'exécution du chantier + */ + const loadChantierExecution = async (chantierId: string) => { + try { + setLoading(true); + + // Charger les informations de base du chantier + const chantierResponse = await apiClient.get(`/chantiers/${chantierId}`); + const chantierData = chantierResponse.data; + + // Charger les phases avec leurs sous-phases et tâches + const phasesResponse = await apiClient.get(`/chantiers/${chantierId}/phases`); + const phasesData = phasesResponse.data; + + // Pour chaque phase, charger les tâches d'exécution + const phasesWithExecution = await Promise.all( + phasesData.map(async (phase: any) => { + const sousPhasesWithTaches = await Promise.all( + phase.sousPhases?.map(async (sousPhase: any) => { + // Charger les tâches et leur état d'exécution + const tachesExecution = await loadTachesExecution(chantierId, sousPhase.id); + + // Calculer l'avancement de la sous-phase + const tachesTerminees = tachesExecution.filter(t => t.terminee).length; + const avancement = tachesExecution.length > 0 ? + (tachesTerminees / tachesExecution.length) * 100 : 0; + + const dureeRealisee = tachesExecution + .filter(t => t.terminee && t.tempsRealise) + .reduce((sum, t) => sum + (t.tempsRealise || 0), 0); + + const dureeEstimee = tachesExecution + .reduce((sum, t) => sum + (t.dureeEstimeeMinutes || 0), 0); + + return { + ...sousPhase, + taches: tachesExecution, + avancement: Math.round(avancement), + tachesTerminees, + totalTaches: tachesExecution.length, + dureeRealisee, + dureeEstimee + }; + }) || [] + ); + + // Calculer l'avancement de la phase + const totalTaches = sousPhasesWithTaches.reduce((sum, sp) => sum + sp.totalTaches, 0); + const totalTachesTerminees = sousPhasesWithTaches.reduce((sum, sp) => sum + sp.tachesTerminees, 0); + const avancement = totalTaches > 0 ? (totalTachesTerminees / totalTaches) * 100 : 0; + + return { + ...phase, + sousPhases: sousPhasesWithTaches, + avancement: Math.round(avancement), + totalSousPhases: sousPhasesWithTaches.length, + sousPhasesTerminees: sousPhasesWithTaches.filter(sp => sp.avancement === 100).length + }; + }) + ); + + // Calculer l'avancement global du chantier + const totalTaches = phasesWithExecution.reduce((sum, phase) => + sum + phase.sousPhases.reduce((spSum, sp) => spSum + sp.totalTaches, 0), 0 + ); + const totalTachesTerminees = phasesWithExecution.reduce((sum, phase) => + sum + phase.sousPhases.reduce((spSum, sp) => spSum + sp.tachesTerminees, 0), 0 + ); + const avancementGlobal = totalTaches > 0 ? (totalTachesTerminees / totalTaches) * 100 : 0; + + setChantier({ + id: chantierData.id, + nom: chantierData.nom, + client: chantierData.client?.nom || chantierData.client, + dateDebut: new Date(chantierData.dateDebut), + dateFinPrevue: new Date(chantierData.dateFinPrevue), + phases: phasesWithExecution, + avancementGlobal: Math.round(avancementGlobal), + totalTaches, + totalTachesTerminees + }); + + } catch (error) { + console.error('Erreur lors du chargement:', error); + showToast('error', 'Erreur', 'Impossible de charger les données d\'exécution'); + } finally { + setLoading(false); + } + }; + + /** + * Charge les tâches d'exécution pour une sous-phase + */ + const loadTachesExecution = async (chantierId: string, sousPhaseId: string): Promise => { + try { + // Charger les templates de tâches + const templatesResponse = await apiClient.get(`/tache-templates/by-sous-phase/${sousPhaseId}`); + const templates = templatesResponse.data; + + // Charger les états d'exécution (s'ils existent) + let etatsExecution = []; + try { + const etatsResponse = await apiClient.get(`/chantiers/${chantierId}/taches-execution/${sousPhaseId}`); + etatsExecution = etatsResponse.data; + } catch (error) { + // Pas encore d'états d'exécution, on démarre avec toutes les tâches non terminées + console.log('Aucun état d\'exécution trouvé, initialisation...'); + } + + // Combiner templates avec états d'exécution + return templates.map((template: any) => { + const etat = etatsExecution.find((e: any) => e.tacheTemplateId === template.id); + return { + ...template, + terminee: etat?.terminee || false, + dateCompletion: etat?.dateCompletion ? new Date(etat.dateCompletion) : undefined, + completeepar: etat?.completeepar, + commentaires: etat?.commentaires, + tempsRealise: etat?.tempsRealise, + difficulteRencontree: etat?.difficulteRencontree || 'AUCUNE' + }; + }); + } catch (error) { + console.error('Erreur lors du chargement des tâches:', error); + return []; + } + }; + + /** + * Marque une tâche comme terminée ou non terminée + */ + const toggleTacheTerminee = async (tache: TacheExecution) => { + if (!tache.terminee) { + // Marquer comme terminée - ouvrir le dialog pour les détails + setSelectedTache(tache); + setCommentaires(tache.commentaires || ''); + setTempsRealise(tache.tempsRealise || tache.dureeEstimeeMinutes || 0); + setDifficulte(tache.difficulteRencontree || 'AUCUNE'); + setShowCommentDialog(true); + } else { + // Marquer comme non terminée + await saveTacheExecution(tache, false); + } + }; + + /** + * Sauvegarde l'état d'exécution d'une tâche + */ + const saveTacheExecution = async (tache: TacheExecution, terminee: boolean, details?: any) => { + try { + setSaving(true); + + const executionData = { + chantierID: id, + tacheTemplateId: tache.id, + terminee, + dateCompletion: terminee ? new Date().toISOString() : null, + completeepar: terminee ? 'CURRENT_USER' : null, // À remplacer par l'utilisateur connecté + commentaires: details?.commentaires || '', + tempsRealise: details?.tempsRealise || null, + difficulteRencontree: details?.difficulte || 'AUCUNE' + }; + + await apiClient.post(`/chantiers/${id}/taches-execution`, executionData); + + showToast('success', 'Succès', + terminee ? 'Tâche marquée comme terminée' : 'Tâche marquée comme non terminée' + ); + + // Recharger les données pour mettre à jour l'avancement + await loadChantierExecution(id as string); + + } catch (error) { + console.error('Erreur lors de la sauvegarde:', error); + showToast('error', 'Erreur', 'Impossible de sauvegarder l\'état de la tâche'); + } finally { + setSaving(false); + } + }; + + /** + * Confirme la completion d'une tâche avec les détails + */ + const confirmerCompletion = async () => { + if (!selectedTache) return; + + await saveTacheExecution(selectedTache, true, { + commentaires, + tempsRealise, + difficulte + }); + + setShowCommentDialog(false); + setSelectedTache(null); + }; + + /** + * Affiche un toast message + */ + const showToast = (severity: 'success' | 'info' | 'warn' | 'error', summary: string, detail: string) => { + toast.current?.show({ severity, summary, detail, life: 3000 }); + }; + + /** + * Template pour l'affichage d'une tâche avec checkbox + */ + const renderTacheCheckbox = (tache: TacheExecution) => { + const isDisabled = saving; + + return ( +
+ toggleTacheTerminee(tache)} + disabled={isDisabled} + /> + +
+
+ {tache.nom} +
+ {tache.description && ( +
{tache.description}
+ )} + +
+ {tache.critique && } + {tache.bloquante && } + {tache.priorite === 'HAUTE' && } +
+
+ +
+ {tache.dureeEstimeeMinutes && ( +
+ Estimé: {Math.floor(tache.dureeEstimeeMinutes / 60)}h{tache.dureeEstimeeMinutes % 60}min +
+ )} + {tache.terminee && tache.tempsRealise && ( +
+ Réalisé: {Math.floor(tache.tempsRealise / 60)}h{tache.tempsRealise % 60}min +
+ )} +
+
+ ); + }; + + if (loading) { + return ( +
+ + Chargement de l'exécution du chantier... +
+ ); + } + + if (!chantier) { + return ( +
+
Chantier non trouvé
+

Impossible de charger les données d'exécution du chantier.

+
+ ); + } + + return ( +
+ + + {/* En-tête avec avancement global */} +
+ +
+
+

{chantier.nom}

+
+ Client: {chantier.client} • + Début: {chantier.dateDebut.toLocaleDateString('fr-FR')} • + Fin prévue: {chantier.dateFinPrevue.toLocaleDateString('fr-FR')} +
+ +
+
+
+ Avancement Global + {chantier.avancementGlobal}% +
+ +
+ {chantier.totalTachesTerminees} / {chantier.totalTaches} tâches terminées +
+
+
+
+ +
+ +
+
+
+
+ + {/* Phases avec sous-phases et tâches */} +
+ setActiveIndex(e.index)}> + {chantier.phases.map((phase, phaseIndex) => ( + +
+ + {phase.nom} +
+
+ {phase.avancement}% + +
+
+ } + > +
+ {phase.sousPhases.map((sousPhase) => ( +
+ +
+
+
{sousPhase.nom}
+ {sousPhase.description && ( +

{sousPhase.description}

+ )} +
+ {sousPhase.tachesTerminees} / {sousPhase.totalTaches} tâches terminées +
+
+
+
{sousPhase.avancement}%
+ +
+
+ +
+ {sousPhase.taches.map((tache) => ( +
+ {renderTacheCheckbox(tache)} +
+ ))} +
+
+
+ ))} +
+ + ))} + +
+ + {/* Dialog de completion de tâche */} + setShowCommentDialog(false)} + style={{ width: '50vw' }} + breakpoints={{ '960px': '75vw', '641px': '90vw' }} + modal + > + {selectedTache && ( +
+
+
{selectedTache.nom}
+ {selectedTache.description && ( +

{selectedTache.description}

+ )} +
+ +
+ + setCommentaires(e.target.value)} + rows={3} + placeholder="Commentaires sur la réalisation de cette tâche..." + /> +
+ +
+ + setTempsRealise(parseInt(e.target.value) || 0)} + min={0} + /> + {selectedTache.dureeEstimeeMinutes && ( + + Temps estimé: {selectedTache.dureeEstimeeMinutes} minutes + + )} +
+ +
+
+
+ )} +
+ + ); +}; + +export default ExecutionGranulaireChantier; \ No newline at end of file diff --git a/app/(main)/chantiers/[id]/phases-clean/page.tsx b/app/(main)/chantiers/[id]/phases-clean/page.tsx new file mode 100644 index 0000000..dfdc988 --- /dev/null +++ b/app/(main)/chantiers/[id]/phases-clean/page.tsx @@ -0,0 +1,324 @@ +'use client'; + +import React, { useState, useRef, useEffect } from 'react'; +import { useParams } from 'next/navigation'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Dialog } from 'primereact/dialog'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { Calendar } from 'primereact/calendar'; +import { InputNumber } from 'primereact/inputnumber'; +import { Dropdown } from 'primereact/dropdown'; +import { Checkbox } from 'primereact/checkbox'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Badge } from 'primereact/badge'; + +import PhasesTable from '../../../../../components/phases/PhasesTable'; +import usePhasesManager from '../../../../../hooks/usePhasesManager'; +import type { PhaseChantier, PhaseFormData } from '../../../../../types/btp-extended'; + +const PhasesCleanPage: React.FC = () => { + const params = useParams(); + const chantierId = params?.id as string; + const toast = useRef(null); + + // Hook de gestion des phases + const { + phases, + loading, + selectedPhase, + setSelectedPhase, + loadPhases, + createPhase, + updatePhase, + deletePhase, + startPhase, + setToastRef + } = usePhasesManager({ chantierId }); + + const [globalFilter, setGlobalFilter] = useState(''); + + // États pour les dialogues + const [showPhaseDialog, setShowPhaseDialog] = useState(false); + const [editingPhase, setEditingPhase] = useState(false); + + // États pour les formulaires + const [phaseForm, setPhaseForm] = useState({ + nom: '', + description: '', + dateDebutPrevue: '', + dateFinPrevue: '', + dureeEstimeeHeures: 8, + priorite: 'MOYENNE', + critique: false, + ordreExecution: 1, + budgetPrevu: 0, + coutReel: 0, + prerequisPhases: [], + competencesRequises: [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }); + + // Initialisation + useEffect(() => { + setToastRef(toast.current); + if (chantierId) { + loadPhases(); + } + }, [chantierId, setToastRef, loadPhases]); + + // Gestionnaires d'événements + const handleEditPhase = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setEditingPhase(true); + setPhaseForm({ + nom: phase.nom, + description: phase.description || '', + dateDebutPrevue: phase.dateDebutPrevue || '', + dateFinPrevue: phase.dateFinPrevue || '', + dureeEstimeeHeures: phase.dureeEstimeeHeures || 8, + priorite: phase.priorite || 'MOYENNE', + critique: phase.critique || false, + ordreExecution: phase.ordreExecution || 1, + budgetPrevu: phase.budgetPrevu || 0, + coutReel: phase.coutReel || 0, + prerequisPhases: phase.prerequisPhases || [], + competencesRequises: phase.competencesRequises || [], + materielsNecessaires: phase.materielsNecessaires || [], + fournisseursRecommandes: phase.fournisseursRecommandes || [] + }); + setShowPhaseDialog(true); + }; + + const handleSavePhase = async () => { + if (!phaseForm.nom.trim()) { + toast.current?.show({ + severity: 'warn', + summary: 'Données manquantes', + detail: 'Veuillez remplir le nom de la phase', + life: 3000 + }); + return; + } + + try { + const phaseData = { + ...phaseForm, + chantierId: chantierId + }; + + if (editingPhase && selectedPhase) { + await updatePhase(selectedPhase.id!, phaseData); + } else { + await createPhase(phaseData); + } + + setShowPhaseDialog(false); + setEditingPhase(false); + setSelectedPhase(null); + resetPhaseForm(); + + } catch (error) { + console.error('Erreur lors de la sauvegarde de la phase:', error); + } + }; + + const resetPhaseForm = () => { + setPhaseForm({ + nom: '', + description: '', + dateDebutPrevue: '', + dateFinPrevue: '', + dureeEstimeeHeures: 8, + priorite: 'MOYENNE', + critique: false, + ordreExecution: 1, + budgetPrevu: 0, + coutReel: 0, + prerequisPhases: [], + competencesRequises: [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }); + }; + + // Templates de la toolbar + const toolbarStartTemplate = ( +
+
Phases - Version Clean
+ +
+ ); + + const toolbarEndTemplate = ( +
+ + + setGlobalFilter(e.target.value)} + placeholder="Rechercher..." + /> + +
+ ); + + return ( +
+ + +
+ + + + + +
+ + {/* Dialog pour créer/modifier une phase */} + { + setShowPhaseDialog(false); + setEditingPhase(false); + resetPhaseForm(); + }} + footer={ +
+
+ } + style={{ width: '50vw', maxWidth: '600px' }} + modal + > +
+
+
+ + setPhaseForm(prev => ({ ...prev, nom: e.target.value }))} + className="w-full" + placeholder="Ex: Fondations, Gros œuvre..." + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, description: e.target.value }))} + className="w-full" + rows={3} + placeholder="Description détaillée de la phase..." + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, dureeEstimeeHeures: e.value || 0 }))} + className="w-full" + min={1} + suffix=" h" + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, priorite: e.value }))} + className="w-full" + /> +
+
+ +
+
+ setPhaseForm(prev => ({ ...prev, critique: e.checked }))} + /> + +
+
+
+
+
+ ); +}; + +export default PhasesCleanPage; \ No newline at end of file diff --git a/app/(main)/chantiers/[id]/phases-responsive/page.tsx b/app/(main)/chantiers/[id]/phases-responsive/page.tsx new file mode 100644 index 0000000..771a22a --- /dev/null +++ b/app/(main)/chantiers/[id]/phases-responsive/page.tsx @@ -0,0 +1,269 @@ +'use client'; + +import React, { useState, useContext } from 'react'; +import { Panel } from 'primereact/panel'; +import { Button } from 'primereact/button'; +import { Toast } from 'primereact/toast'; +import { useRef } from 'react'; +import { LayoutContext } from '../../../../../layout/context/layoutcontext'; +import AtlantisResponsivePhasesTable from '../../../../../components/phases/AtlantisResponsivePhasesTable'; +import AtlantisAccessibilityControls from '../../../../../components/phases/AtlantisAccessibilityControls'; +import PhasesQuickPreview from '../../../../../components/phases/PhasesQuickPreview'; +import PhaseValidationPanel from '../../../../../components/phases/PhaseValidationPanel'; +import { Dialog } from 'primereact/dialog'; +import testDataService from '../../../../../services/testDataService'; +import type { PhaseChantier } from '../../../../../types/btp'; + +const ResponsivePhasesPage: React.FC = () => { + const [phases, setPhases] = useState([]); + const [selectedPhase, setSelectedPhase] = useState(null); + const [validationDialogVisible, setValidationDialogVisible] = useState(false); + const [loading, setLoading] = useState(false); + const { isDesktop } = useContext(LayoutContext); + const toast = useRef(null); + + // Générer des données de test au chargement + React.useEffect(() => { + const client = testDataService.generateTestClient(1); + const chantier = testDataService.generateTestChantier(1, 'MAISON_INDIVIDUELLE', client); + const generatedPhases = testDataService.generatePhasesWithPrerequisites(chantier); + setPhases(generatedPhases); + }, []); + + const handlePhaseSelect = (phase: PhaseChantier) => { + setSelectedPhase(phase); + + toast.current?.show({ + severity: 'info', + summary: 'Phase sélectionnée', + detail: `${phase.nom} - ${phase.statut}`, + life: 3000 + }); + }; + + const handlePhaseStart = (phaseId: string) => { + setPhases(prev => prev.map(p => + p.id === phaseId + ? { ...p, statut: 'EN_COURS' as const, dateDebutReelle: new Date().toISOString().split('T')[0] } + : p + )); + + toast.current?.show({ + severity: 'success', + summary: 'Phase démarrée', + detail: 'La phase a été mise en cours', + life: 3000 + }); + }; + + const handlePhaseValidation = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setValidationDialogVisible(true); + }; + + const headerTemplate = ( +
+
+ +
+

Gestion des phases - Vue responsive

+

+ Interface adaptative utilisant le template Atlantis React +

+
+
+ + {isDesktop() && ( +
+
+ )} +
+ ); + + return ( +
+ + + {/* En-tête de page avec style Atlantis */} +
+
+ {headerTemplate} +
+
+ + {/* Contrôles d'accessibilité */} +
+ +
+ + {/* Vue d'ensemble rapide */} + {phases.length > 0 && ( +
+ +
+ )} + + {/* Tableau principal responsive */} +
0 ? 'lg:col-8' : ''}`}> + +
+ + {/* Informations complémentaires sur mobile */} + {!isDesktop() && selectedPhase && ( +
+
+
Phase sélectionnée
+
+
+
+ +

{selectedPhase.nom}

+
+
+
+
+ +

{selectedPhase.statut}

+
+
+
+
+ +

{selectedPhase.pourcentageAvancement || 0}%

+
+
+
+
+ +

+ {selectedPhase.dateDebutPrevue ? + new Date(selectedPhase.dateDebutPrevue).toLocaleDateString('fr-FR') : + '-' + } +

+
+
+ {selectedPhase.description && ( +
+
+ +

{selectedPhase.description}

+
+
+ )} +
+
+
+ )} + + {/* Actions rapides pour mobile */} + {!isDesktop() && ( +
+
+
Actions rapides
+
+
+
+
+ )} + + {/* Statistiques rapides */} +
+
+
+
+
+ {phases.length} +
+
Total phases
+
+
+
+
+
+ {phases.filter(p => p.statut === 'TERMINEE').length} +
+
Terminées
+
+
+
+
+
+ {phases.filter(p => p.statut === 'EN_COURS').length} +
+
En cours
+
+
+
+
+
+ {phases.filter(p => p.critique).length} +
+
Critiques
+
+
+
+
+ + {/* Dialog de validation */} + setValidationDialogVisible(false)} + style={{ width: isDesktop() ? '800px' : '95vw' }} + modal + className="p-fluid" + > + {selectedPhase && ( + { + const prereq = phases.find(p => p.id === prereqId); + if (prereq) { + setSelectedPhase(prereq); + } + }} + /> + )} + +
+ ); +}; + +export default ResponsivePhasesPage; \ No newline at end of file diff --git a/app/(main)/chantiers/[id]/phases/page.tsx b/app/(main)/chantiers/[id]/phases/page.tsx new file mode 100644 index 0000000..c31305f --- /dev/null +++ b/app/(main)/chantiers/[id]/phases/page.tsx @@ -0,0 +1,1124 @@ +'use client'; + +import React, { useState, useRef, useEffect, useContext, useCallback } from 'react'; +import { useParams, useRouter } from 'next/navigation'; +import { LayoutContext } from '../../../../../layout/context/layoutcontext'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Dialog } from 'primereact/dialog'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { Calendar } from 'primereact/calendar'; +import { InputNumber } from 'primereact/inputnumber'; +import { Dropdown } from 'primereact/dropdown'; +import { Checkbox } from 'primereact/checkbox'; +import { Toast } from 'primereact/toast'; +import { Badge } from 'primereact/badge'; +import { Toolbar } from 'primereact/toolbar'; + +import PhasesTable from '../../../../../components/phases/PhasesTable'; +import usePhasesManager from '../../../../../hooks/usePhasesManager'; +import BudgetPlanningDialog from '../../../../../components/phases/BudgetPlanningDialog'; +import BudgetExecutionDialog from '../../../../../components/phases/BudgetExecutionDialog'; +import PhaseGenerationWizard from '../../../../../components/phases/PhaseGenerationWizard'; +import PhaseValidationPanel from '../../../../../components/phases/PhaseValidationPanel'; + +import { PhaseChantier, PhaseFormData, PhaseChantierFormData, StatutPhase } from '../../../../../types/btp-extended'; +import { Chantier } from '../../../../../types/btp'; +import chantierService from '../../../../../services/chantierService'; +import phaseService from '../../../../../services/phaseService'; +import { ConfirmDialog } from 'primereact/confirmdialog'; + +const PhasesPage: React.FC = () => { + const params = useParams(); + const router = useRouter(); + const chantierId = params?.id as string; + const { setBreadcrumbs } = useContext(LayoutContext); + const toast = useRef(null); + + // Hook de gestion des phases + const { + phases, + loading, + selectedPhase, + setSelectedPhase, + loadPhases, + createPhase, + updatePhase, + deletePhase, + startPhase, + updateProgress, + createSubPhase, + setToastRef + } = usePhasesManager({ chantierId }); + + // États locaux + const [chantier, setChantier] = useState(null); + const [globalFilter, setGlobalFilter] = useState(''); + const [operationLoading, setOperationLoading] = useState(false); + + // États pour les dialogues + const [showPhaseDialog, setShowPhaseDialog] = useState(false); + const [showSousPhaseDialog, setShowSousPhaseDialog] = useState(false); + const [showWizardDialog, setShowWizardDialog] = useState(false); + const [showValidationDialog, setShowValidationDialog] = useState(false); + const [showProgressDialog, setShowProgressDialog] = useState(false); + const [showBudgetPlanningDialog, setShowBudgetPlanningDialog] = useState(false); + const [showBudgetExecutionDialog, setShowBudgetExecutionDialog] = useState(false); + const [editingPhase, setEditingPhase] = useState(false); + const [parentPhaseForSubPhase, setParentPhaseForSubPhase] = useState(null); + + // États pour les formulaires + const [phaseForm, setPhaseForm] = useState({ + nom: '', + description: '', + dateDebutPrevue: '', + dateFinPrevue: '', + dureeEstimeeHeures: 8, + priorite: 'MOYENNE', + critique: false, + ordreExecution: 1, + budgetPrevu: 0, + coutReel: 0, + prerequisPhases: [], + competencesRequises: [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }); + + const [sousPhaseForm, setSousPhaseForm] = useState({ + nom: '', + description: '', + dateDebutPrevue: '', + dateFinPrevue: '', + dureeEstimeeHeures: 8, + priorite: 'MOYENNE', + critique: false, + ordreExecution: 1, + budgetPrevu: 0, + coutReel: 0, + prerequisPhases: [], + competencesRequises: [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }); + + // État pour l'avancement + const [avancement, setAvancement] = useState(0); + + // Breadcrumbs + useEffect(() => { + if (chantier) { + setBreadcrumbs([ + { + labels: ['Chantiers', chantier.nom, 'Phases'], + to: `/chantiers/${chantierId}/phases` + } + ]); + } else { + setBreadcrumbs([ + { + labels: ['Chantiers', 'Phases'], + to: `/chantiers/${chantierId}/phases` + } + ]); + } + }, [chantier, chantierId, setBreadcrumbs]); + + const loadChantier = useCallback(async () => { + if (!chantierId) return; + try { + const chantierData = await chantierService.getById(chantierId); + setChantier(chantierData); + } catch (error) { + console.error('Erreur lors du chargement du chantier:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les informations du chantier', + life: 5000 + }); + } + }, [chantierId]); + + // Initialisation du toast + useEffect(() => { + setToastRef(toast.current); + }, [setToastRef]); + + // Chargement des données + useEffect(() => { + if (chantierId) { + loadChantier(); + loadPhases(); + } + }, [chantierId]); + + // Gestionnaire pour les phases générées par l'assistant + const handlePhasesGenerated = async (phasesGenerees: any[]) => { + try { + console.log('Phases générées par l\'assistant:', phasesGenerees); + + toast.current?.show({ + severity: 'success', + summary: 'Phases générées', + detail: `${phasesGenerees.length} phases ont été créées avec succès`, + life: 5000 + }); + + // Attendre un peu pour que les données soient persistées + setTimeout(async () => { + console.log('Rechargement des phases après génération...'); + await loadPhases(); + }, 1000); + + } catch (error) { + console.error('Erreur lors de la gestion des phases générées:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de traiter les phases générées', + life: 3000 + }); + } + }; + + // Gestionnaires d'événements pour les callbacks du composant PhasesTable + + // Gestionnaires d'événements pour les callbacks du composant PhasesTable + const handleViewPhase = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setShowValidationDialog(true); + }; + + const handleEditPhase = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setEditingPhase(true); + setPhaseForm({ + nom: phase.nom, + description: phase.description || '', + dateDebutPrevue: phase.dateDebutPrevue || '', + dateFinPrevue: phase.dateFinPrevue || '', + dureeEstimeeHeures: phase.dureeEstimeeHeures || 8, + priorite: phase.priorite || 'MOYENNE', + critique: phase.critique || false, + ordreExecution: phase.ordreExecution || 1, + budgetPrevu: phase.budgetPrevu || 0, + coutReel: phase.coutReel || 0, + prerequisPhases: phase.prerequisPhases || [], + competencesRequises: phase.competencesRequises || [], + materielsNecessaires: phase.materielsNecessaires || [], + fournisseursRecommandes: phase.fournisseursRecommandes || [] + }); + setShowPhaseDialog(true); + }; + + const handleProgressPhase = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setAvancement(phase.pourcentageAvancement || 0); + setShowProgressDialog(true); + }; + + const handleBudgetPlanPhase = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setShowBudgetPlanningDialog(true); + }; + + const handleBudgetTrackPhase = (phase: PhaseChantier) => { + setSelectedPhase(phase); + setShowBudgetExecutionDialog(true); + }; + + const handleSubPhaseAdd = (parentPhase: PhaseChantier) => { + setParentPhaseForSubPhase(parentPhase); + setSelectedPhase(parentPhase); + setEditingPhase(false); + + const sousPhases = phases.filter(p => p.phaseParent === parentPhase.id); + setSousPhaseForm({ + nom: '', + description: '', + dateDebutPrevue: '', + dateFinPrevue: '', + dureeEstimeeHeures: 8, + priorite: 'MOYENNE', + critique: false, + ordreExecution: sousPhases.length + 1, + budgetPrevu: 0, + coutReel: 0, + prerequisPhases: [], + competencesRequises: [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }); + setShowSousPhaseDialog(true); + }; + + // Fonction pour sauvegarder la planification budgétaire + const handleSaveBudgetPlanning = async (budgetData: any) => { + if (!selectedPhase) return; + + try { + setOperationLoading(true); + + // Mettre à jour le budget prévu de la phase avec le prix calculé + const updatedPhaseData = { + ...selectedPhase, + budgetPrevu: budgetData.prixVenteCalcule, + // Stocker l'analyse détaillée en tant que métadonnées + analyseBudgetaire: { + totalMateriel: budgetData.totalMateriel, + totalMainOeuvre: budgetData.totalMainOeuvre, + totalSousTraitance: budgetData.totalSousTraitance, + totalTransport: budgetData.totalTransport, + totalAutres: budgetData.totalAutres, + totalHT: budgetData.totalHT, + margeObjectif: budgetData.margeObjectif, + tauxMarge: budgetData.tauxMarge, + dateAnalyse: new Date().toISOString() + } + }; + + // Appeler l'API pour mettre à jour la phase + await phaseService.update(selectedPhase.id!, updatedPhaseData); + await loadPhases(); + + toast.current?.show({ + severity: 'success', + summary: 'Budget planifié', + detail: `Le budget de la phase "${selectedPhase.nom}" a été mis à jour`, + life: 3000 + }); + + } catch (error) { + console.error('Erreur lors de la sauvegarde du budget:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de sauvegarder la planification budgétaire', + life: 3000 + }); + } finally { + setOperationLoading(false); + } + }; + + // Fonction pour sauvegarder l'exécution budgétaire + const handleSaveBudgetExecution = async (executionData: any) => { + if (!selectedPhase) return; + + try { + setOperationLoading(true); + + // Mettre à jour le coût réel de la phase + const updatedPhaseData = { + ...selectedPhase, + coutReel: executionData.coutTotal, + // Stocker l'analyse d'exécution en tant que métadonnées + analyseExecution: { + depensesValidees: executionData.depenses, + analyseEcarts: executionData.analyse, + ecartTotal: executionData.ecartTotal, + ecartPourcentage: executionData.ecartPourcentage, + dateAnalyse: executionData.dateAnalyse, + statut: executionData.ecartPourcentage > 10 ? 'DEPASSEMENT' : + executionData.ecartPourcentage > 5 ? 'ALERTE' : 'CONFORME' + } + }; + + // Appeler l'API pour mettre à jour la phase + await phaseService.update(selectedPhase.id!, updatedPhaseData); + await loadPhases(); + + toast.current?.show({ + severity: 'success', + summary: 'Exécution budgétaire mise à jour', + detail: `Les dépenses de la phase "${selectedPhase.nom}" ont été enregistrées`, + life: 3000 + }); + + } catch (error) { + console.error('Erreur lors de la sauvegarde de l\'exécution:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de sauvegarder l\'exécution budgétaire', + life: 3000 + }); + } finally { + setOperationLoading(false); + } + }; + + + // Fonction pour créer/modifier une phase principale + const handleSavePhase = async () => { + if (!phaseForm.nom.trim()) { + toast.current?.show({ + severity: 'warn', + summary: 'Données manquantes', + detail: 'Veuillez remplir le nom de la phase', + life: 3000 + }); + return; + } + + try { + setOperationLoading(true); + + const phaseData = { + nom: phaseForm.nom, + description: phaseForm.description, + statut: 'PLANIFIEE' as StatutPhase, + dateDebutPrevue: phaseForm.dateDebutPrevue, + dateFinPrevue: phaseForm.dateFinPrevue, + dureeEstimeeHeures: phaseForm.dureeEstimeeHeures, + priorite: phaseForm.priorite, + critique: phaseForm.critique, + ordreExecution: phaseForm.ordreExecution, + budgetPrevu: phaseForm.budgetPrevu, + coutReel: phaseForm.coutReel, + chantierId: chantierId, + prerequisPhases: phaseForm.prerequisPhases, + competencesRequises: phaseForm.competencesRequises, + materielsNecessaires: phaseForm.materielsNecessaires, + fournisseursRecommandes: phaseForm.fournisseursRecommandes + }; + + console.log('Données de la phase à créer:', phaseData); + console.log('ID du chantier:', chantierId); + + if (editingPhase && selectedPhase) { + // Modification + phaseData.id = selectedPhase.id; + await phaseService.update(selectedPhase.id!, phaseData); + + toast.current?.show({ + severity: 'success', + summary: 'Phase modifiée', + detail: `La phase "${phaseForm.nom}" a été modifiée`, + life: 3000 + }); + } else { + // Création + await phaseService.create(phaseData); + + toast.current?.show({ + severity: 'success', + summary: 'Phase créée', + detail: `La phase "${phaseForm.nom}" a été créée`, + life: 3000 + }); + } + + // Ajouter un petit délai pour s'assurer que le backend a bien persisté les données + await new Promise(resolve => setTimeout(resolve, 500)); + + await loadPhases(); + setShowPhaseDialog(false); + setEditingPhase(false); + setSelectedPhase(null); + + } catch (error: any) { + console.error('Erreur lors de la sauvegarde de la phase:', error); + + // Gérer le cas où le serveur backend n'est pas disponible + if (error.code === 'ECONNREFUSED' || error.message?.includes('Network Error') || error.response?.status === undefined) { + toast.current?.show({ + severity: 'warn', + summary: 'Serveur indisponible', + detail: 'Le serveur backend n\'est pas démarré. La phase sera créée quand le serveur sera disponible.', + life: 8000 + }); + + // En mode développement, simuler la création pour ne pas bloquer l'UI + if (process.env.NODE_ENV === 'development') { + const simulatedPhase: PhaseChantier = { + id: Math.random() * 1000000, // ID temporaire + nom: phaseForm.nom, + description: phaseForm.description, + statut: 'PLANIFIEE', + dateDebutPrevue: phaseForm.dateDebutPrevue, + dateFinPrevue: phaseForm.dateFinPrevue, + dureeEstimeeHeures: phaseForm.dureeEstimeeHeures, + priorite: phaseForm.priorite, + critique: phaseForm.critique, + ordreExecution: phaseForm.ordreExecution, + chantierId: chantierId, + prerequisPhases: phaseForm.prerequisPhases, + competencesRequises: phaseForm.competencesRequises, + materielsNecessaires: phaseForm.materielsNecessaires, + fournisseursRecommandes: phaseForm.fournisseursRecommandes, + dateCreation: new Date().toISOString(), + dateModification: new Date().toISOString() + }; + + // Ajouter la phase simulée à la liste locale + setPhases(prev => [...prev, simulatedPhase]); + setShowPhaseDialog(false); + setEditingPhase(false); + setSelectedPhase(null); + return; + } + } else { + let errorMessage = 'Erreur inconnue'; + + if (error.response?.status === 400) { + errorMessage = error.response?.data?.message || 'Données invalides. Vérifiez les champs obligatoires.'; + } else if (error.response?.status === 401) { + errorMessage = 'Vous n\'\u00eates pas autorisé à effectuer cette action.'; + } else if (error.response?.status === 404) { + errorMessage = 'Ressource non trouvée sur le serveur.'; + } else if (error.response?.status >= 500) { + errorMessage = 'Erreur interne du serveur. Veuillez réessayer plus tard.'; + } else { + errorMessage = error.response?.data?.message || error.message || 'Erreur inconnue'; + } + + console.error('Détails de l\'erreur:', { + status: error.response?.status, + data: error.response?.data, + config: error.config + }); + + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: `${editingPhase ? 'Impossible de modifier la phase' : 'Impossible de créer la phase'}: ${errorMessage}`, + life: 8000 + }); + } + } finally { + setOperationLoading(false); + } + }; + + // Fonction pour créer/modifier une sous-phase + const createSousPhase = async () => { + if (!selectedPhase || !sousPhaseForm.nom.trim()) { + toast.current?.show({ + severity: 'warn', + summary: 'Données manquantes', + detail: 'Veuillez remplir le nom de la sous-phase', + life: 3000 + }); + return; + } + + // Debug logs + console.log('createSousPhase - selectedPhase:', selectedPhase); + console.log('createSousPhase - sousPhaseForm:', sousPhaseForm); + console.log('createSousPhase - chantierId:', chantierId); + + try { + setOperationLoading(true); + + // Calculer l'ordre d'exécution pour éviter les doublons + let maxOrder = 0; + try { + if (phases && phases.length > 0) { + const ordres = phases + .map(p => p && typeof p.ordreExecution === 'number' ? p.ordreExecution : 0) + .filter(ordre => !isNaN(ordre)); + maxOrder = ordres.length > 0 ? Math.max(...ordres) : 0; + } + } catch (e) { + console.warn('Erreur lors du calcul de l\'ordre max:', e); + maxOrder = 0; + } + const nextOrder = maxOrder + 1; + + console.log('Ordre d\'exécution calculé:', nextOrder, 'Max actuel:', maxOrder); + + const phaseData: PhaseChantierFormData = { + nom: sousPhaseForm.nom, + description: sousPhaseForm.description, + statut: 'PLANIFIEE', + dateDebutPrevue: sousPhaseForm.dateDebutPrevue, + dateFinPrevue: sousPhaseForm.dateFinPrevue, + dureeEstimeeHeures: sousPhaseForm.dureeEstimeeHeures, + priorite: sousPhaseForm.priorite, + critique: sousPhaseForm.critique, + pourcentageAvancement: 0, + phaseParentId: selectedPhase.id, + chantierId: selectedPhase.chantierId || chantierId, + ordreExecution: nextOrder, // Utiliser l'ordre calculé + budgetPrevu: sousPhaseForm.budgetPrevu, + coutReel: sousPhaseForm.coutReel, + prerequisPhases: sousPhaseForm.prerequisPhases, + competencesRequises: sousPhaseForm.competencesRequises, + materielsNecessaires: sousPhaseForm.materielsNecessaires, + fournisseursRecommandes: sousPhaseForm.fournisseursRecommandes, + actif: true + }; + + if (editingPhase && selectedPhase.id) { + await phaseService.update(selectedPhase.id, phaseData); + toast.current?.show({ + severity: 'success', + summary: 'Sous-phase modifiée', + detail: 'La sous-phase a été mise à jour', + life: 3000 + }); + } else { + await phaseService.create(phaseData); + toast.current?.show({ + severity: 'success', + summary: 'Sous-phase créée', + detail: `La sous-phase "${phaseData.nom}" a été ajoutée`, + life: 3000 + }); + } + + await loadPhases(); + setShowSousPhaseDialog(false); + setEditingPhase(false); + + } catch (error) { + // Gestion d'erreur super simplifiée pour éviter les erreurs dans la gestion d'erreur + console.log('=== ERREUR CREATESOUXPHASE ==='); + console.log('Type:', typeof error); + console.log('Error object:', error); + + let errorMessage = 'Erreur lors de la création de la sous-phase'; + + // Tentative d'extraction du message de façon très sécurisée + if (error?.response?.data?.message) { + errorMessage = error.response.data.message; + } else if (error?.message) { + errorMessage = error.message; + } + + console.log('Message final:', errorMessage); + + // Affichage du toast de façon très sécurisée + if (toast && toast.current && typeof toast.current.show === 'function') { + toast.current.show({ + severity: 'error', + summary: 'Erreur', + detail: errorMessage, + life: 8000 + }); + } + } finally { + setOperationLoading(false); + } + }; + + + + // Toolbar + const toolbarStartTemplate = ( +
+
+ {chantier ? `Phases - ${chantier.nom}` : 'Gestion des phases'} +
+ !p.phaseParent).length} /> +
+ ); + + const toolbarEndTemplate = ( +
+ + + setGlobalFilter(e.target.value)} + placeholder="Rechercher..." + /> + +
+ ); + + // Footer du dialog de sous-phase + const sousPhaseDialogFooter = ( +
+
+ ); + + return ( +
+ + + +
+ + + + + +
+ + {/* Dialog pour créer/modifier une phase principale */} + { + setShowPhaseDialog(false); + setEditingPhase(false); + setPhaseForm({ + nom: '', + description: '', + dateDebutPrevue: '', + dateFinPrevue: '', + dureeEstimeeHeures: 8, + priorite: 'MOYENNE', + critique: false, + ordreExecution: 1, + prerequisPhases: [], + competencesRequises: [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }); + }} + footer={ +
+
+ } + style={{ width: '70vw', maxWidth: '900px' }} + modal + > +
+
+
+ + setPhaseForm(prev => ({ ...prev, nom: e.target.value }))} + className="w-full" + placeholder="Ex: Fondations, Gros œuvre, Finitions..." + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, description: e.target.value }))} + className="w-full" + rows={3} + placeholder="Description détaillée de la phase..." + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ + ...prev, + dateDebutPrevue: e.value ? e.value.toISOString().split('T')[0] : '' + }))} + className="w-full" + dateFormat="dd/mm/yy" + placeholder="Sélectionner une date" + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ + ...prev, + dateFinPrevue: e.value ? e.value.toISOString().split('T')[0] : '' + }))} + className="w-full" + dateFormat="dd/mm/yy" + placeholder="Sélectionner une date" + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, dureeEstimeeHeures: e.value || 0 }))} + className="w-full" + min={1} + suffix=" h" + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, ordreExecution: e.value || 1 }))} + className="w-full" + min={1} + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, priorite: e.value }))} + className="w-full" + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, budgetPrevu: e.value || 0 }))} + className="w-full" + min={0} + mode="currency" + currency="EUR" + locale="fr-FR" + placeholder="0,00 €" + /> +
+
+ +
+
+ + setPhaseForm(prev => ({ ...prev, coutReel: e.value || 0 }))} + className="w-full" + min={0} + mode="currency" + currency="EUR" + locale="fr-FR" + placeholder="0,00 €" + /> +
+
+ +
+
+ setPhaseForm(prev => ({ ...prev, critique: e.checked }))} + /> + +
+
+
+
+ + {/* Dialog pour créer/modifier une sous-phase */} + { + setShowSousPhaseDialog(false); + setEditingPhase(false); + }} + footer={sousPhaseDialogFooter} + style={{ width: '50vw' }} + modal + > +
+
+
+ + setSousPhaseForm(prev => ({ ...prev, nom: e.target.value }))} + className="w-full" + placeholder="Ex: Préparation du béton" + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ ...prev, description: e.target.value }))} + className="w-full" + rows={3} + placeholder="Description détaillée de la sous-phase" + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ + ...prev, + dateDebutPrevue: e.value ? e.value.toISOString().split('T')[0] : '' + }))} + className="w-full" + dateFormat="dd/mm/yy" + placeholder="Sélectionner une date" + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ + ...prev, + dateFinPrevue: e.value ? e.value.toISOString().split('T')[0] : '' + }))} + className="w-full" + dateFormat="dd/mm/yy" + placeholder="Sélectionner une date" + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ + ...prev, + dureeEstimeeHeures: e.value || 8 + }))} + className="w-full" + min={1} + max={1000} + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ ...prev, priorite: e.value }))} + className="w-full" + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ ...prev, budgetPrevu: e.value || 0 }))} + className="w-full" + min={0} + mode="currency" + currency="EUR" + locale="fr-FR" + placeholder="0,00 €" + /> +
+
+ +
+
+ + setSousPhaseForm(prev => ({ ...prev, coutReel: e.value || 0 }))} + className="w-full" + min={0} + mode="currency" + currency="EUR" + locale="fr-FR" + placeholder="0,00 €" + /> +
+
+ +
+
+ setSousPhaseForm(prev => ({ ...prev, critique: e.checked }))} + /> + +
+
+
+
+ + {/* Dialog de validation des prérequis */} + setShowValidationDialog(false)} + style={{ width: '90vw', maxWidth: '800px' }} + modal + > + {selectedPhase && ( + { + const prereq = phases.find(p => p.id === prereqId); + if (prereq) { + setSelectedPhase(prereq); + } + }} + /> + )} + + + {/* Dialog de planification budgétaire */} + setShowBudgetPlanningDialog(false)} + phase={selectedPhase} + onSave={handleSaveBudgetPlanning} + /> + + {/* Dialog d'exécution budgétaire */} + setShowBudgetExecutionDialog(false)} + phase={selectedPhase} + onSave={handleSaveBudgetExecution} + /> + + {/* Assistant de génération automatique de phases */} + {chantier && ( + setShowWizardDialog(false)} + chantier={chantier} + onGenerated={handlePhasesGenerated} + /> + )} +
+ ); +}; + +export default PhasesPage; \ No newline at end of file diff --git a/app/(main)/chantiers/en-cours/page.tsx b/app/(main)/chantiers/en-cours/page.tsx new file mode 100644 index 0000000..9cc00e5 --- /dev/null +++ b/app/(main)/chantiers/en-cours/page.tsx @@ -0,0 +1,337 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { InputText } from 'primereact/inputtext'; +import { Card } from 'primereact/card'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Tag } from 'primereact/tag'; +import { ProgressBar } from 'primereact/progressbar'; +import { Dialog } from 'primereact/dialog'; +import { Calendar } from 'primereact/calendar'; +import { InputNumber } from 'primereact/inputnumber'; +import { chantierService } from '../../../../services/api'; +import { formatDate, formatCurrency } from '../../../../utils/formatters'; +import type { Chantier } from '../../../../types/btp'; + +const ChantiersEnCoursPage = () => { + const [chantiers, setChantiers] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const [selectedChantiers, setSelectedChantiers] = useState([]); + const [updateDialog, setUpdateDialog] = useState(false); + const [selectedChantier, setSelectedChantier] = useState(null); + const [updateData, setUpdateData] = useState({ dateFinReelle: null, montantReel: 0 }); + const toast = useRef(null); + const dt = useRef>(null); + + useEffect(() => { + loadChantiers(); + }, []); + + const loadChantiers = async () => { + try { + setLoading(true); + const data = await chantierService.getAll(); + // Filtrer seulement les chantiers en cours + const chantiersEnCours = data.filter(chantier => chantier.statut === 'EN_COURS'); + setChantiers(chantiersEnCours); + } catch (error) { + console.error('Erreur lors du chargement des chantiers:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les chantiers en cours', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const calculateProgress = (chantier: Chantier) => { + if (!chantier.dateDebut || !chantier.dateFinPrevue) return 0; + + const now = new Date(); + const start = new Date(chantier.dateDebut); + const end = new Date(chantier.dateFinPrevue); + const totalDays = (end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24); + const elapsedDays = (now.getTime() - start.getTime()) / (1000 * 60 * 60 * 24); + + return Math.min(Math.max((elapsedDays / totalDays) * 100, 0), 100); + }; + + const isLate = (chantier: Chantier) => { + if (!chantier.dateFinPrevue) return false; + const today = new Date(); + const endDate = new Date(chantier.dateFinPrevue); + return today > endDate; + }; + + const markAsCompleted = (chantier: Chantier) => { + setSelectedChantier(chantier); + setUpdateData({ + dateFinReelle: new Date(), + montantReel: chantier.montantReel || chantier.montantPrevu || 0 + }); + setUpdateDialog(true); + }; + + const handleCompleteChantier = async () => { + if (!selectedChantier) return; + + try { + const updatedChantier = { + ...selectedChantier, + statut: 'TERMINE', + dateFinReelle: updateData.dateFinReelle, + montantReel: updateData.montantReel + }; + + await chantierService.update(selectedChantier.id, updatedChantier); + + // Retirer le chantier de la liste car il n'est plus "en cours" + setChantiers(prev => prev.filter(c => c.id !== selectedChantier.id)); + setUpdateDialog(false); + + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Chantier marqué comme terminé', + life: 3000 + }); + } catch (error) { + console.error('Erreur lors de la mise à jour:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de mettre à jour le chantier', + life: 3000 + }); + } + }; + + const exportCSV = () => { + dt.current?.exportCSV(); + }; + + const leftToolbarTemplate = () => { + return ( +
+
Chantiers en cours ({chantiers.length})
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( + + + + + +
+
+ Your Cart +
+
+ product +
+
+ Product Name + $123.00 +
+
Black | Large
+
+ + +
+
+
+
+
+ setValue(e.target.value)} placeholder="Promo code" className="w-full" /> + +
+
+
+
+ Subtotal + $123.00 +
+
+ Shipping + Free +
+
+ Total + $123.00 +
+
+
+ Country Flag + No additional duties or taxes. +
+
+ + + ); +} + +export default CheckoutForm; diff --git a/app/(main)/ecommerce/new-product/page.tsx b/app/(main)/ecommerce/new-product/page.tsx new file mode 100644 index 0000000..e462864 --- /dev/null +++ b/app/(main)/ecommerce/new-product/page.tsx @@ -0,0 +1,291 @@ +'use client'; +import { Button } from 'primereact/button'; +import { Chip } from 'primereact/chip'; +import { Dropdown } from 'primereact/dropdown'; +import { Editor } from 'primereact/editor'; +import { FileUpload, FileUploadSelectEvent, FileUploadUploadEvent, ItemTemplateOptions } from 'primereact/fileupload'; +import { InputSwitch } from 'primereact/inputswitch'; +import { InputText } from 'primereact/inputtext'; +import { classNames } from 'primereact/utils'; +import React, { useRef, useState } from 'react'; +import type { Demo } from '@/types'; + +function NewProduct() { + const colorOptions = [ + { name: 'Black', background: 'bg-gray-900' }, + { name: 'Orange', background: 'bg-orange-500' }, + { name: 'Navy', background: 'bg-blue-500' } + ]; + + const [product, setProduct] = useState({ + name: '', + price: '', + code: '', + sku: '', + status: 'Draft', + tags: ['Nike', 'Sneaker'], + category: 'Sneakers', + colors: [], + stock: 'Sneakers', + inStock: true, + description: '', + images: [] + }); + + const [selectedCategory, setSelectedCategory] = useState(product.category); + const [selectedStock, setSelectedStock] = useState(product.category); + const categoryOptions = ['Sneakers', 'Apparel', 'Socks']; + + const fileUploader = useRef(null); + + const chipTemplate = (tag: string) => { + return ( + + {tag} + onChipRemove(tag)}> + + + + ); + }; + + const onImageMouseOver = (ref: React.RefObject + + + + ); + }; + + return ( +
+ Create Product +
+
+
+
+ + setProduct((prevState) => ({ + ...prevState, + name: e.target.value + })) + } + placeholder="Product Name" + /> +
+
+ + setProduct((prevState) => ({ + ...prevState, + price: parseFloat(e.target.value) || undefined + })) + } + /> +
+
+ + setProduct((prevState) => ({ + ...prevState, + code: e.target.value + })) + } + /> +
+
+ + setProduct((prevState) => ({ + ...prevState, + sku: e.target.value + })) + } + /> +
+
+ +
+
+ +
+
+
+ +
+
+ Publish +
+
+ Status: + {product.status as string} + +
+
+
+ +
+ Tags +
+ {(product.tags as string[])?.map((tag, i) => { + return chipTemplate(tag)} />; + })} +
+
+ +
+ Category +
+ setSelectedCategory(e.value)} placeholder="Select a category"> +
+
+ +
+ Colors +
+ {colorOptions.map((color, i) => { + return ( +
{ + onColorSelect(color.name, i); + }} + > + {(product.colors as string[]).includes(color.name) ? : null} +
+ ); + })} +
+
+ +
+ Stock +
+ setSelectedStock(e.value)} placeholder="Select stock"> +
+
+ +
+ In stock + + setProduct((prevState) => ({ + ...prevState, + inStock: e.value as boolean + })) + } + > +
+ +
+ + +
+
+
+
+ ); +} + +export default NewProduct; diff --git a/app/(main)/ecommerce/order-history/page.tsx b/app/(main)/ecommerce/order-history/page.tsx new file mode 100644 index 0000000..c383a56 --- /dev/null +++ b/app/(main)/ecommerce/order-history/page.tsx @@ -0,0 +1,166 @@ +'use client'; +import { Divider } from 'primereact/divider'; +import { Ripple } from 'primereact/ripple'; +import React from 'react'; + +function OrderHistory() { + const orders = [ + { + orderNumber: '45123', + orderDate: '7 February 2023', + amount: '$123.00', + products: [ + { + name: 'Product Name Placeholder A Little Bit Long One', + color: 'White', + size: 'Small', + price: '$50', + deliveryDate: 'Delivered on 7 February 2023', + image: '/demo/images/ecommerce/order-history/orderhistory-1.png' + }, + { + name: 'Product Name Placeholder A Little Bit Long One', + color: 'White', + size: 'Small', + price: '$50', + deliveryDate: 'Delivered on 7 February 2023', + image: '/demo/images/ecommerce/order-history/orderhistory-2.png' + }, + { + name: 'Product Name Placeholder A Little Bit Long One', + color: 'White', + size: 'Small', + price: '$63', + deliveryDate: 'Delivered on 7 February 2023', + image: '/demo/images/ecommerce/order-history/orderhistory-3.png' + } + ] + }, + { + orderNumber: '45126', + orderDate: '9 February 2023', + amount: '$250.00', + products: [ + { + name: 'Product Name Placeholder A Little Bit Long One', + color: 'White', + size: 'Small', + price: '$80', + deliveryDate: 'Delivered on 9 February 2023', + image: '/demo/images/ecommerce/order-history/orderhistory-4.png' + }, + { + name: 'Product Name Placeholder A Little Bit Long One', + color: 'White', + size: 'Small', + price: '$20', + deliveryDate: 'Delivered on 9 February 2023', + image: '/demo/images/ecommerce/order-history/orderhistory-5.png' + }, + { + name: 'Product Name Placeholder A Little Bit Long One', + color: 'White', + size: 'Small', + price: '$150', + deliveryDate: 'Delivered on 9 February 2023', + image: '/demo/images/ecommerce/order-history/orderhistory-6.png' + } + ] + } + ]; + + return ( +
+
+
+ My Orders + Dignissim diam quis enim lobortis. +
+ + + + +
+ {orders.map((order, i) => { + return ( +
+
+
+ Order Number + {order.orderNumber} +
+ +
+ Order Date + {order.orderDate} +
+ +
+ Total Amount + {order.amount} +
+
+
+ {order.products.map((product, i) => { + return ( +
+
+ product +
+ {product.name} + + {product.color} | {product.size} + + + Buy Again | {product.price} + + +
+
+
+ + + + {product.deliveryDate} +
+ {i !== order.products.length - 1 && } +
+ ); + })} +
+ +
+ ); + })} +
+ ); +} + +export default OrderHistory; diff --git a/app/(main)/ecommerce/order-summary/page.tsx b/app/(main)/ecommerce/order-summary/page.tsx new file mode 100644 index 0000000..f9d93e8 --- /dev/null +++ b/app/(main)/ecommerce/order-summary/page.tsx @@ -0,0 +1,171 @@ +'use client'; +import { Button } from 'primereact/button'; +import { classNames } from 'primereact/utils'; +import React from 'react'; + +function OrderSummary() { + const products = [ + { + name: 'Cotton Sweatshirt', + size: 'Medium', + color: 'White', + price: '$12', + quantity: '1', + image: '/demo/images/ecommerce/ordersummary/order-summary-1-1.png' + }, + { + name: 'Regular Jeans', + size: 'Large', + color: 'Black', + price: '$24', + quantity: '1', + image: '/demo/images/ecommerce/ordersummary/order-summary-1-2.png' + } + ]; + + return ( + <> +
+ Thanks! +
Successful Order 🚀
+

Your order is on the way. It‘ll be shipped today. We‘ll inform you.

+
+ +
+
+ Order number: + 451234 +
+
+ + +
+
+
+
    + {products.map((product, i) => { + return ( +
  • + {product.name} +
    + {product.name} + + {product.color} | {product.size} + + Quantity: {product.quantity} +
    + {product.price} +
  • + ); + })} +
+
+
+
+ Shipping Address +
+ Celeste Slater + 606-3727 Ullamcorper. Roseville NH 11523 + (786) 713-8616 +
+ + Payment +
+ visa +
+ Visa Debit Card + **** **** **** 1234 +
+
+
+
+
    +
  • + Summary +
  • +
  • + Subtotal + $36.00 +
  • +
  • + Shipping + $5.00 +
  • +
  • + Tax + $4.00 +
  • +
  • + Total + $41.00 +
  • +
+
+
+
+ +
+
+ Thanks for your order! +
+
+ Order ID + 451234 +
+
+ Order Date + 7 Feb 2023 +
+
+
+
+ summary-1-2 +
+ Product Name +
Order Processing
+
+
+
+
+ Ordered + Processing + Shipping + Delivered +
+
+
+
+
+ Product Name + $21.00 +
+
+ Shipping Address +
+ Celeste Slater + 606-3727 Ullamcorper. Roseville NH 11523 + (786) 713-8616 +
+
+
+ Payment +
+ visa-2 +
+ Visa Debit Card + **** **** **** 1234 +
+
+
+
+
+ + ); +} + +export default OrderSummary; diff --git a/app/(main)/ecommerce/product-list/page.tsx b/app/(main)/ecommerce/product-list/page.tsx new file mode 100644 index 0000000..89e688c --- /dev/null +++ b/app/(main)/ecommerce/product-list/page.tsx @@ -0,0 +1,171 @@ +'use client'; +import { Button } from 'primereact/button'; +import React, { useState } from 'react'; + +function ProductList() { + const [products] = useState([ + { + price: '$140.00', + image: 'demo/images/ecommerce/product-list/product-list-4-1.png' + }, + { + price: '$82.00', + image: 'demo/images/ecommerce/product-list/product-list-4-2.png' + }, + { + price: '$54.00', + image: 'demo/images/ecommerce/product-list/product-list-4-3.png' + }, + { + price: '$72.00', + image: 'demo/images/ecommerce/product-list/product-list-4-4.png' + }, + { + price: '$99.00', + image: 'demo/images/ecommerce/product-list/product-list-4-5.png' + }, + { + price: '$89.00', + image: 'demo/images/ecommerce/product-list/product-list-4-6.png' + } + ]); + + const [products2, setProducts2] = useState([ + { + color: 'Bluegray', + image: 'demo/images/ecommerce/product-list/product-list-2-1.png' + }, + { + color: 'Indigo', + image: 'demo/images/ecommerce/product-list/product-list-2-2.png' + }, + { + color: 'Green', + image: 'demo/images/ecommerce/product-list/product-list-2-3.png' + }, + { + color: 'Blue', + image: 'demo/images/ecommerce/product-list/product-list-2-4.png' + } + ]); + + const onColorChange = (color: string, productIndex: number) => { + const _products2 = [...products2]; + _products2[productIndex]['color'] = color; + setProducts2(_products2); + }; + + return ( + <> +
+
Popular Products
+

Exclusive Selection

+
+ {products.map((product, i) => { + return ( +
+
+
+
+ + Category + + {i.toString()} +
+
+ Product Name + + + 5.0 + +
+

Enim nec dui nunc mattis enim ut tellus. Tincidunt arcu.

+ {product.price} +
+
+
+ ); + })} +
+
+ +
+
+ {products2.map((product, i) => { + return ( +
+
+ {i.toString()} + +
+
+ Product Name + $150.00 +
+
onColorChange('Bluegray', i)} + >
+
onColorChange('Indigo', i)} + >
+
onColorChange('Green', i)} + >
+
onColorChange('Blue', i)} + >
+
+ {product.color} +
+
+ ); + })} +
+
+ + ); +} + +export default ProductList; diff --git a/app/(main)/ecommerce/product-overview/page.tsx b/app/(main)/ecommerce/product-overview/page.tsx new file mode 100644 index 0000000..cc3f0cc --- /dev/null +++ b/app/(main)/ecommerce/product-overview/page.tsx @@ -0,0 +1,284 @@ +'use client'; +import { Button } from 'primereact/button'; +import { InputNumber } from 'primereact/inputnumber'; +import { TabPanel, TabView } from 'primereact/tabview'; +import { classNames } from 'primereact/utils'; +import React, { useEffect, useState } from 'react'; + +function ProductOverview() { + const [images, setImages] = useState([]); + const [selectedImageIndex, setSelectedImageIndex] = useState(0); + const [liked, setLiked] = useState(false); + const [quantity, setQuantity] = useState(1); + const [color, setColor] = useState('bluegray'); + const [size, setSize] = useState('M'); + + useEffect(() => { + setImages(['product-overview-3-1.png', 'product-overview-3-2.png', 'product-overview-3-3.png', 'product-overview-3-4.png']); + }, [selectedImageIndex]); + + return ( +
+
+
+
+
+ {images.map((image, i) => { + return ( + {i.toString()} setSelectedImageIndex(i)} + /> + ); + })} +
+
+ {images[selectedImageIndex]} +
+
+
+
+
Product Title Placeholder
+
+ $120 +
+ + + + + + + + + 24 reviews + +
+
+ +
Color
+
+
setColor('bluegray')} + >
+
setColor('green')} + >
+
setColor('blue')} + >
+
+ +
+ Size + + Size Guide + +
+
+
setSize('XS')} + > + XS +
+
setSize('S')} + > + S +
+
setSize('M')} + > + M +
+
setSize('L')} + > + L +
+
setSize('XL')} + > + XL +
+
+ +
Quantity
+
+ setQuantity(e.value ?? 0)} + decrementButtonClassName="p-button-text" + incrementButtonClassName="p-button-text" + incrementButtonIcon="pi pi-plus" + decrementButtonIcon="pi pi-minus" + > +
+ + setLiked(!liked)} + > +
+
+
+
+ + + +
Product Details
+

+ Volutpat maecenas volutpat blandit aliquam etiam erat velit scelerisque in. Duis ultricies lacus sed turpis tincidunt id. Sed tempus urna et pharetra. Metus vulputate eu scelerisque felis imperdiet proin fermentum. Venenatis + urna cursus eget nunc scelerisque viverra mauris in. Viverra justo nec ultrices dui sapien eget mi proin. Laoreet suspendisse interdum consectetur libero id faucibus. +

+ +
+
+ Highlights +
    +
  • Vulputate sapien nec.
  • +
  • Purus gravida quis blandit.
  • +
  • Nisi quis eleifend quam adipiscing.
  • +
  • Imperdiet proin fermentum.
  • +
+
+
+ Size and Fit +
    +
  • + Leo vel: Egestas congue. +
  • +
  • + Sociis natoque: Parturient montes nascetur. +
  • +
  • + Suspendisse in: Purus sit amet volutpat. +
  • +
+
+
+ Material & Care +
    +
  • + + Not dryer safe +
  • +
  • + + No chemical wash +
  • +
  • + + Iron medium heat +
  • +
  • + + Dry flat +
  • +
+
+
+
+ +
Customer Reviews
+
    +
  • + + + + + + + +
    Absolute Perfection!
    +

    + Blandit libero volutpat sed cras ornare arcu dui vivamus. Arcu dictum varius duis at consectetur lorem donec massa. Imperdiet proin fermentum leo vel orci porta non. Porttitor rhoncus dolor purus non. +

    + Darlene Robertson, 2 days ago +
  • +
  • + + + + + + + +
    Classy
    +

    Venenatis cras sed felis eget. Proin nibh nisl condimentum id venenatis a condimentum.

    + Kristin Watson, 2 days ago +
  • +
+
+ +
Shipping Placeholder
+

+ Mattis aliquam faucibus purus in massa tempor nec feugiat nisl. Justo donec enim diam vulputate ut pharetra. Tempus egestas sed sed risus. Feugiat sed lectus vestibulum mattis. Tristique nulla aliquet enim tortor at auctor + urna nunc. Habitant morbi tristique senectus et. Facilisi nullam vehicula ipsum. +

+ +
+
+ Shipping Costs +
    +
  • Japan - JPY 2,500.
  • +
  • Europe - EUR 10
  • +
  • Switzerland - CHF 10
  • +
  • Canada - CAD 25
  • +
  • USA - USD 20
  • +
  • Australia - AUD 30
  • +
  • United Kingdom - GBP 10
  • +
+
+
+ Return Policy +

Pharetra et ultrices neque ornare aenean euismod elementum nisi. Diam phasellus vestibulum lorem sed. Mattis molestie a iaculis at.

+
+
+
+
+
+ ); +} + +export default ProductOverview; diff --git a/app/(main)/ecommerce/shopping-cart/page.tsx b/app/(main)/ecommerce/shopping-cart/page.tsx new file mode 100644 index 0000000..787f619 --- /dev/null +++ b/app/(main)/ecommerce/shopping-cart/page.tsx @@ -0,0 +1,129 @@ +'use client'; +import { Button } from 'primereact/button'; +import { Dropdown } from 'primereact/dropdown'; +import React, { useState } from 'react'; + +function ShoppingCart() { + const quantityOptions = [ + { label: '1', value: 1 }, + { label: '2', value: 2 }, + { label: '3', value: 3 }, + { label: '4', value: 4 } + ]; + const [selectedQuantity, setselectedQuantity] = useState(1); + const [selectedQuantity2, setselectedQuantity2] = useState(1); + + return ( +
+
+
Your cart total is $82.00
+

FREE SHIPPING AND RETURN

+
+
    +
  • + shopping-cart-2-1 +
    +
    +
    + Product Name + Medium +
    +
    +
    + setselectedQuantity(e.value)}> +
    +
    + $20.00 + + Remove + +
    +
    +
    +
    + + + Order today. + + + + + Delivery by Dec 23. + + + + + Only 8 Available. + +
    +
    +
  • +
  • + shopping-cart-2-2 +
    +
    +
    + Product Name + Medium +
    +
    +
    + setselectedQuantity2(e.value)}> +
    +
    + $62.00 + + Remove + +
    +
    +
    +
    + + + Order today. + + + + + Delivery by Dec 23. + + + + + Only 2 Available. + +
    +
    +
  • +
+
+
+
    +
  • + Subtotal + $82.00 +
  • +
  • + Shipping + Free +
  • +
  • + VAT + $8.00 +
  • +
  • + Total + $90.00 +
  • +
  • + +
  • +
+
+
+ ); +} + +export default ShoppingCart; diff --git a/app/(main)/employes/[id]/page.tsx b/app/(main)/employes/[id]/page.tsx new file mode 100644 index 0000000..623d9a2 --- /dev/null +++ b/app/(main)/employes/[id]/page.tsx @@ -0,0 +1,364 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Tag } from 'primereact/tag'; +import { Toolbar } from 'primereact/toolbar'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Badge } from 'primereact/badge'; +import { useRouter, useParams } from 'next/navigation'; +import { apiClient } from '../../../../services/api-client'; + +interface EmployeDetail { + id: number; + nom: string; + prenom: string; + email: string; + telephone: string; + metier: string; + statut: string; + dateEmbauche: string; + salaire: number; + adresse: string; + numeroSecu: string; + niveauExperience: string; + competences: string[]; + certifications: string[]; + equipeId?: number; + equipeNom?: string; + chantierActuel?: string; + disponible: boolean; + planning: Array<{ + id: number; + chantierNom: string; + dateDebut: string; + dateFin: string; + statut: string; + }>; + historique: Array<{ + id: number; + chantierNom: string; + dateDebut: string; + dateFin: string; + role: string; + }>; +} + +const EmployeDetailPage = () => { + const [employe, setEmploye] = useState(null); + const [loading, setLoading] = useState(true); + const router = useRouter(); + const params = useParams(); + const employeId = params.id; + + useEffect(() => { + if (employeId) { + loadEmployeDetail(); + } + }, [employeId]); + + const loadEmployeDetail = async () => { + try { + setLoading(true); + console.log('🔄 Chargement du détail employé...', employeId); + const response = await apiClient.get(`/api/employes/${employeId}`); + console.log('✅ Détail employé chargé:', response.data); + setEmploye(response.data); + } catch (error) { + console.error('❌ Erreur lors du chargement du détail:', error); + } finally { + setLoading(false); + } + }; + + const toggleStatutEmploye = async () => { + if (!employe) return; + + try { + const newStatut = employe.statut === 'ACTIF' ? 'INACTIF' : 'ACTIF'; + const endpoint = newStatut === 'ACTIF' ? 'activer' : 'desactiver'; + + await apiClient.post(`/api/employes/${employe.id}/${endpoint}`); + + setEmploye({ ...employe, statut: newStatut }); + console.log(`✅ Statut employé ${newStatut.toLowerCase()}`); + } catch (error) { + console.error('❌ Erreur lors du changement de statut:', error); + } + }; + + const getStatutSeverity = (statut: string) => { + switch (statut) { + case 'ACTIF': return 'success'; + case 'INACTIF': return 'danger'; + case 'CONGE': return 'warning'; + case 'FORMATION': return 'info'; + default: return 'secondary'; + } + }; + + const getMetierColor = (metier: string) => { + const colors: { [key: string]: string } = { + 'MACON': 'info', + 'ELECTRICIEN': 'warning', + 'PLOMBIER': 'primary', + 'CHARPENTIER': 'success', + 'PEINTRE': 'secondary', + 'CHEF_EQUIPE': 'danger', + 'CONDUCTEUR': 'help' + }; + return colors[metier] || 'secondary'; + }; + + const leftToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+
+ ); + }; + + if (loading) { + return ( +
+
+ +
+ +
+
+
+
+ ); + } + + if (!employe) { + return ( +
+
+ +
+

Employé non trouvé

+
+
+
+
+ ); + } + + return ( +
+
+ +
+ + {/* En-tête employé */} +
+ +
+
+ +
+
+

{employe.prenom} {employe.nom}

+
+ + + + {employe.disponible ? ( + + ) : ( + + )} +
+
+

📧 {employe.email}

+

📞 {employe.telephone}

+ {employe.equipeNom &&

👥 Équipe: {employe.equipeNom}

} + {employe.chantierActuel &&

🏗️ Chantier actuel: {employe.chantierActuel}

} +
+
+
+
+
+ + {/* Onglets de détail */} +
+ + + +
+
+

Informations Personnelles

+
+ +

{employe.prenom} {employe.nom}

+
+
+ +

{employe.email}

+
+
+ +

{employe.telephone}

+
+
+ +

{employe.adresse || 'Non renseignée'}

+
+
+ +

{employe.numeroSecu || 'Non renseigné'}

+
+
+
+

Informations Professionnelles

+
+ +

+
+
+ +

+
+
+ +

{new Date(employe.dateEmbauche).toLocaleDateString('fr-FR')}

+
+
+ +

{employe.salaire ? `${employe.salaire.toLocaleString('fr-FR')} €` : 'Non renseigné'}

+
+
+ +

+
+
+
+
+ + +
+
+

Compétences

+ {employe.competences && employe.competences.length > 0 ? ( +
+ {employe.competences.map((comp, index) => ( + + ))} +
+ ) : ( +

Aucune compétence renseignée

+ )} +
+
+

Certifications

+ {employe.certifications && employe.certifications.length > 0 ? ( +
+ {employe.certifications.map((cert, index) => ( + + ))} +
+ ) : ( +

Aucune certification renseignée

+ )} +
+
+
+ + + + + new Date(rowData.dateDebut).toLocaleDateString('fr-FR')} + /> + new Date(rowData.dateFin).toLocaleDateString('fr-FR')} + /> + } + /> + + + + + + + new Date(rowData.dateDebut).toLocaleDateString('fr-FR')} + /> + new Date(rowData.dateFin).toLocaleDateString('fr-FR')} + /> + + + +
+
+
+
+ ); +}; + +export default EmployeDetailPage; diff --git a/app/(main)/employes/actifs/page.tsx b/app/(main)/employes/actifs/page.tsx new file mode 100644 index 0000000..7d97db1 --- /dev/null +++ b/app/(main)/employes/actifs/page.tsx @@ -0,0 +1,264 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { InputText } from 'primereact/inputtext'; +import { Tag } from 'primereact/tag'; +import { Card } from 'primereact/card'; +import { Toolbar } from 'primereact/toolbar'; +import { Badge } from 'primereact/badge'; +import { useRouter } from 'next/navigation'; +import { apiClient } from '../../../../services/api-client'; + +interface EmployeActif { + id: number; + nom: string; + prenom: string; + email: string; + telephone: string; + metier: string; + statut: string; + dateEmbauche: string; + equipeId?: number; + equipeNom?: string; + competences: string[]; + certifications: string[]; + niveauExperience: string; + disponible: boolean; + chantierActuel?: string; +} + +const EmployesActifsPage = () => { + const [employes, setEmployes] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const router = useRouter(); + + useEffect(() => { + loadEmployesActifs(); + }, []); + + const loadEmployesActifs = async () => { + try { + setLoading(true); + console.log('🔄 Chargement des employés actifs...'); + const response = await apiClient.get('/api/employes/actifs'); + console.log('✅ Employés actifs chargés:', response.data); + setEmployes(response.data || []); + } catch (error) { + console.error('❌ Erreur lors du chargement des employés actifs:', error); + setEmployes([]); + } finally { + setLoading(false); + } + }; + + const metierBodyTemplate = (rowData: EmployeActif) => { + const getMetierColor = (metier: string) => { + const colors: { [key: string]: string } = { + 'MACON': 'info', + 'ELECTRICIEN': 'warning', + 'PLOMBIER': 'primary', + 'CHARPENTIER': 'success', + 'PEINTRE': 'secondary', + 'CHEF_EQUIPE': 'danger', + 'CONDUCTEUR': 'help' + }; + return colors[metier] || 'secondary'; + }; + + return ; + }; + + const disponibiliteBodyTemplate = (rowData: EmployeActif) => { + return ( +
+ + {rowData.disponible ? 'Disponible' : 'Occupé'} + {rowData.chantierActuel && ( + + )} +
+ ); + }; + + const equipeBodyTemplate = (rowData: EmployeActif) => { + if (rowData.equipeNom) { + return ; + } + return Non assigné; + }; + + const experienceBodyTemplate = (rowData: EmployeActif) => { + const getExperienceColor = (niveau: string) => { + switch (niveau) { + case 'DEBUTANT': return 'info'; + case 'INTERMEDIAIRE': return 'warning'; + case 'EXPERIMENTE': return 'success'; + case 'EXPERT': return 'danger'; + default: return 'secondary'; + } + }; + + return ; + }; + + const competencesBodyTemplate = (rowData: EmployeActif) => { + return ( +
+ {rowData.competences?.slice(0, 2).map((comp, index) => ( + + ))} + {rowData.competences?.length > 2 && ( + + )} +
+ ); + }; + + const certificationsBodyTemplate = (rowData: EmployeActif) => { + if (!rowData.certifications || rowData.certifications.length === 0) { + return Aucune; + } + + return ( +
+ {rowData.certifications.slice(0, 2).map((cert, index) => ( + + ))} + {rowData.certifications.length > 2 && ( + + )} +
+ ); + }; + + const actionBodyTemplate = (rowData: EmployeActif) => { + return ( +
+
+ ); + }; + + const leftToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+ + + setGlobalFilter(e.target.value)} + /> + +
+ ); + }; + + const header = ( +
+

Employés Actifs ({employes.length})

+
+ e.disponible).length} severity="success" /> + Disponibles + !e.disponible).length} severity="warning" /> + Occupés +
+
+ ); + + return ( +
+
+ + + + + + + + + + + + + + + + +
+
+ ); +}; + +export default EmployesActifsPage; diff --git a/app/(main)/employes/disponibles/page.tsx b/app/(main)/employes/disponibles/page.tsx new file mode 100644 index 0000000..dad0257 --- /dev/null +++ b/app/(main)/employes/disponibles/page.tsx @@ -0,0 +1,307 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { InputText } from 'primereact/inputtext'; +import { Tag } from 'primereact/tag'; +import { Card } from 'primereact/card'; +import { Toolbar } from 'primereact/toolbar'; +import { Calendar } from 'primereact/calendar'; +import { Dropdown } from 'primereact/dropdown'; +import { Badge } from 'primereact/badge'; +import { useRouter } from 'next/navigation'; +import { apiClient } from '../../../../services/api-client'; + +interface EmployeDisponible { + id: number; + nom: string; + prenom: string; + email: string; + telephone: string; + metier: string; + niveauExperience: string; + competences: string[]; + certifications: string[]; + equipeId?: number; + equipeNom?: string; + prochainChantier?: string; + dateProchainChantier?: string; + disponibleJusquau?: string; +} + +const EmployesDisponiblesPage = () => { + const [employes, setEmployes] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const [dateRecherche, setDateRecherche] = useState(null); + const [metierFiltre, setMetierFiltre] = useState(''); + const router = useRouter(); + + const metierOptions = [ + { label: 'Tous les métiers', value: '' }, + { label: 'Maçon', value: 'MACON' }, + { label: 'Électricien', value: 'ELECTRICIEN' }, + { label: 'Plombier', value: 'PLOMBIER' }, + { label: 'Charpentier', value: 'CHARPENTIER' }, + { label: 'Peintre', value: 'PEINTRE' }, + { label: 'Chef d\'équipe', value: 'CHEF_EQUIPE' }, + { label: 'Conducteur', value: 'CONDUCTEUR' } + ]; + + useEffect(() => { + loadEmployesDisponibles(); + }, [dateRecherche, metierFiltre]); + + const loadEmployesDisponibles = async () => { + try { + setLoading(true); + console.log('🔄 Chargement des employés disponibles...'); + + let url = '/api/employes/disponibles'; + const params = new URLSearchParams(); + + if (dateRecherche) { + params.append('date', dateRecherche.toISOString().split('T')[0]); + } + if (metierFiltre) { + params.append('metier', metierFiltre); + } + + if (params.toString()) { + url += `?${params.toString()}`; + } + + const response = await apiClient.get(url); + console.log('✅ Employés disponibles chargés:', response.data); + setEmployes(response.data || []); + } catch (error) { + console.error('❌ Erreur lors du chargement des employés disponibles:', error); + setEmployes([]); + } finally { + setLoading(false); + } + }; + + const metierBodyTemplate = (rowData: EmployeDisponible) => { + const getMetierColor = (metier: string) => { + const colors: { [key: string]: string } = { + 'MACON': 'info', + 'ELECTRICIEN': 'warning', + 'PLOMBIER': 'primary', + 'CHARPENTIER': 'success', + 'PEINTRE': 'secondary', + 'CHEF_EQUIPE': 'danger', + 'CONDUCTEUR': 'help' + }; + return colors[metier] || 'secondary'; + }; + + return ; + }; + + const experienceBodyTemplate = (rowData: EmployeDisponible) => { + const getExperienceColor = (niveau: string) => { + switch (niveau) { + case 'DEBUTANT': return 'info'; + case 'INTERMEDIAIRE': return 'warning'; + case 'EXPERIMENTE': return 'success'; + case 'EXPERT': return 'danger'; + default: return 'secondary'; + } + }; + + return ; + }; + + const disponibiliteBodyTemplate = (rowData: EmployeDisponible) => { + return ( +
+
+ + Disponible +
+ {rowData.disponibleJusquau && ( + + Jusqu'au {new Date(rowData.disponibleJusquau).toLocaleDateString('fr-FR')} + + )} +
+ ); + }; + + const prochainChantierBodyTemplate = (rowData: EmployeDisponible) => { + if (rowData.prochainChantier) { + return ( +
+ + {rowData.dateProchainChantier && ( + + Début: {new Date(rowData.dateProchainChantier).toLocaleDateString('fr-FR')} + + )} +
+ ); + } + return Aucun; + }; + + const competencesBodyTemplate = (rowData: EmployeDisponible) => { + return ( +
+ {rowData.competences?.slice(0, 3).map((comp, index) => ( + + ))} + {rowData.competences?.length > 3 && ( + + )} +
+ ); + }; + + const actionBodyTemplate = (rowData: EmployeDisponible) => { + return ( +
+
+ ); + }; + + const leftToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+ setDateRecherche(e.value as Date)} + placeholder="Date de recherche" + dateFormat="dd/mm/yy" + showIcon + /> + setMetierFiltre(e.value)} + placeholder="Filtrer par métier" + /> + + + setGlobalFilter(e.target.value)} + /> + +
+ ); + }; + + const header = ( +
+

Employés Disponibles ({employes.length})

+
+ !e.prochainChantier).length} severity="success" /> + Libres + e.prochainChantier).length} severity="warning" /> + Avec prochain chantier +
+
+ ); + + return ( +
+
+ + + + + + + + + + + + + + + +
+
+ ); +}; + +export default EmployesDisponiblesPage; diff --git a/app/(main)/employes/nouveau/page.tsx b/app/(main)/employes/nouveau/page.tsx new file mode 100644 index 0000000..10996ef --- /dev/null +++ b/app/(main)/employes/nouveau/page.tsx @@ -0,0 +1,353 @@ +'use client'; + +import React, { useState } from 'react'; +import { Card } from 'primereact/card'; +import { InputText } from 'primereact/inputtext'; +import { Dropdown } from 'primereact/dropdown'; +import { InputNumber } from 'primereact/inputnumber'; +import { Calendar } from 'primereact/calendar'; +import { MultiSelect } from 'primereact/multiselect'; +import { Button } from 'primereact/button'; +import { Toast } from 'primereact/toast'; +import { useRouter } from 'next/navigation'; +import { apiClient } from '../../../../services/api-client'; + +interface NouvelEmploye { + nom: string; + prenom: string; + email: string; + telephone: string; + metier: string; + statut: string; + dateEmbauche: Date | null; + salaire: number | null; + competences: string[]; + certifications: string[]; + adresse: string; + numeroSecu: string; + niveauExperience: string; +} + +const NouvelEmployePage = () => { + const [employe, setEmploye] = useState({ + nom: '', + prenom: '', + email: '', + telephone: '', + metier: '', + statut: 'ACTIF', + dateEmbauche: null, + salaire: null, + competences: [], + certifications: [], + adresse: '', + numeroSecu: '', + niveauExperience: 'DEBUTANT' + }); + + const [loading, setLoading] = useState(false); + const router = useRouter(); + + const statutOptions = [ + { label: 'Actif', value: 'ACTIF' }, + { label: 'Inactif', value: 'INACTIF' }, + { label: 'Formation', value: 'FORMATION' } + ]; + + const metierOptions = [ + { label: 'Maçon', value: 'MACON' }, + { label: 'Électricien', value: 'ELECTRICIEN' }, + { label: 'Plombier', value: 'PLOMBIER' }, + { label: 'Charpentier', value: 'CHARPENTIER' }, + { label: 'Peintre', value: 'PEINTRE' }, + { label: 'Chef d\'équipe', value: 'CHEF_EQUIPE' }, + { label: 'Conducteur', value: 'CONDUCTEUR' }, + { label: 'Couvreur', value: 'COUVREUR' }, + { label: 'Carreleur', value: 'CARRELEUR' }, + { label: 'Menuisier', value: 'MENUISIER' } + ]; + + const niveauExperienceOptions = [ + { label: 'Débutant', value: 'DEBUTANT' }, + { label: 'Intermédiaire', value: 'INTERMEDIAIRE' }, + { label: 'Expérimenté', value: 'EXPERIMENTE' }, + { label: 'Expert', value: 'EXPERT' } + ]; + + const competencesOptions = [ + { label: 'Maçonnerie', value: 'MACONNERIE' }, + { label: 'Électricité', value: 'ELECTRICITE' }, + { label: 'Plomberie', value: 'PLOMBERIE' }, + { label: 'Charpente', value: 'CHARPENTE' }, + { label: 'Peinture', value: 'PEINTURE' }, + { label: 'Carrelage', value: 'CARRELAGE' }, + { label: 'Menuiserie', value: 'MENUISERIE' }, + { label: 'Couverture', value: 'COUVERTURE' }, + { label: 'Isolation', value: 'ISOLATION' }, + { label: 'Cloisons sèches', value: 'CLOISONS_SECHES' }, + { label: 'Terrassement', value: 'TERRASSEMENT' }, + { label: 'Conduite d\'engins', value: 'CONDUITE_ENGINS' } + ]; + + const certificationsOptions = [ + { label: 'CACES R482', value: 'CACES_R482' }, + { label: 'CACES R489', value: 'CACES_R489' }, + { label: 'Habilitation électrique', value: 'HABILITATION_ELECTRIQUE' }, + { label: 'Travail en hauteur', value: 'TRAVAIL_HAUTEUR' }, + { label: 'Soudure', value: 'SOUDURE' }, + { label: 'Échafaudage', value: 'ECHAFAUDAGE' }, + { label: 'Amiante', value: 'AMIANTE' }, + { label: 'Plomb', value: 'PLOMB' } + ]; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + + if (!employe.nom || !employe.prenom || !employe.email || !employe.metier) { + console.error('❌ Champs obligatoires manquants'); + return; + } + + try { + setLoading(true); + console.log('🔄 Création de l\'employé...', employe); + + const employeData = { + ...employe, + dateEmbauche: employe.dateEmbauche?.toISOString().split('T')[0] + }; + + const response = await apiClient.post('/api/employes', employeData); + console.log('✅ Employé créé avec succès:', response.data); + + router.push('/employes'); + } catch (error) { + console.error('❌ Erreur lors de la création:', error); + } finally { + setLoading(false); + } + }; + + const handleCancel = () => { + router.push('/employes'); + }; + + return ( +
+
+ +
+
+ {/* Informations personnelles */} +
+

Informations personnelles

+
+ +
+ + setEmploye({...employe, nom: e.target.value})} + required + className="w-full" + /> +
+ +
+ + setEmploye({...employe, prenom: e.target.value})} + required + className="w-full" + /> +
+ +
+ + setEmploye({...employe, email: e.target.value})} + required + className="w-full" + /> +
+ +
+ + setEmploye({...employe, telephone: e.target.value})} + className="w-full" + /> +
+ +
+ + setEmploye({...employe, adresse: e.target.value})} + className="w-full" + /> +
+ +
+ + setEmploye({...employe, numeroSecu: e.target.value})} + className="w-full" + /> +
+ + {/* Informations professionnelles */} +
+

Informations professionnelles

+
+ +
+ + setEmploye({...employe, metier: e.value})} + placeholder="Sélectionner un métier" + className="w-full" + /> +
+ +
+ + setEmploye({...employe, niveauExperience: e.value})} + className="w-full" + /> +
+ +
+ + setEmploye({...employe, statut: e.value})} + className="w-full" + /> +
+ +
+ + setEmploye({...employe, dateEmbauche: e.value as Date})} + dateFormat="dd/mm/yy" + className="w-full" + /> +
+ +
+ + setEmploye({...employe, salaire: e.value})} + mode="currency" + currency="EUR" + locale="fr-FR" + className="w-full" + /> +
+ +
+ + setEmploye({...employe, competences: e.value})} + placeholder="Sélectionner les compétences" + className="w-full" + display="chip" + /> +
+ +
+ + setEmploye({...employe, certifications: e.value})} + placeholder="Sélectionner les certifications" + className="w-full" + display="chip" + /> +
+ + {/* Boutons d'action */} +
+
+
+
+
+
+
+
+ +
+ ); +}; + +export default NouvelEmployePage; diff --git a/app/(main)/employes/page.tsx b/app/(main)/employes/page.tsx new file mode 100644 index 0000000..7416af1 --- /dev/null +++ b/app/(main)/employes/page.tsx @@ -0,0 +1,314 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import RoleProtectedPage from '@/components/RoleProtectedPage'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { InputText } from 'primereact/inputtext'; +import { Dropdown } from 'primereact/dropdown'; +import { Tag } from 'primereact/tag'; +import { Card } from 'primereact/card'; +import { Toolbar } from 'primereact/toolbar'; +import { Dialog } from 'primereact/dialog'; +import { Toast } from 'primereact/toast'; +import { ConfirmDialog } from 'primereact/confirmdialog'; +import { useRouter } from 'next/navigation'; +import { apiClient } from '../../../services/api-client'; + +interface Employe { + id: number; + nom: string; + prenom: string; + email: string; + telephone: string; + metier: string; + statut: 'ACTIF' | 'INACTIF' | 'CONGE' | 'FORMATION'; + dateEmbauche: string; + salaire: number; + equipeId?: number; + competences: string[]; + certifications: string[]; +} + +const EmployesPageContent = () => { + const [employes, setEmployes] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const [selectedEmployes, setSelectedEmployes] = useState([]); + const [deleteDialog, setDeleteDialog] = useState(false); + const [employeToDelete, setEmployeToDelete] = useState(null); + const router = useRouter(); + + const statutOptions = [ + { label: 'Tous', value: null }, + { label: 'Actif', value: 'ACTIF' }, + { label: 'Inactif', value: 'INACTIF' }, + { label: 'Congé', value: 'CONGE' }, + { label: 'Formation', value: 'FORMATION' } + ]; + + const metierOptions = [ + { label: 'Tous', value: null }, + { label: 'Maçon', value: 'MACON' }, + { label: 'Électricien', value: 'ELECTRICIEN' }, + { label: 'Plombier', value: 'PLOMBIER' }, + { label: 'Charpentier', value: 'CHARPENTIER' }, + { label: 'Peintre', value: 'PEINTRE' }, + { label: 'Chef d\'équipe', value: 'CHEF_EQUIPE' }, + { label: 'Conducteur', value: 'CONDUCTEUR' } + ]; + + useEffect(() => { + loadEmployes(); + }, []); + + const loadEmployes = async () => { + try { + setLoading(true); + console.log('🔄 Chargement des employés...'); + const response = await apiClient.get('/api/employes'); + console.log('✅ Employés chargés:', response.data); + setEmployes(response.data || []); + } catch (error) { + console.error('❌ Erreur lors du chargement des employés:', error); + setEmployes([]); + } finally { + setLoading(false); + } + }; + + const confirmDeleteEmploye = (employe: Employe) => { + setEmployeToDelete(employe); + setDeleteDialog(true); + }; + + const deleteEmploye = async () => { + if (employeToDelete) { + try { + await apiClient.delete(`/api/employes/${employeToDelete.id}`); + setEmployes(employes.filter(e => e.id !== employeToDelete.id)); + setDeleteDialog(false); + setEmployeToDelete(null); + console.log('✅ Employé supprimé avec succès'); + } catch (error) { + console.error('❌ Erreur lors de la suppression:', error); + } + } + }; + + const toggleStatutEmploye = async (employe: Employe) => { + try { + const newStatut = employe.statut === 'ACTIF' ? 'INACTIF' : 'ACTIF'; + const endpoint = newStatut === 'ACTIF' ? 'activer' : 'desactiver'; + + await apiClient.post(`/api/employes/${employe.id}/${endpoint}`); + + setEmployes(employes.map(e => + e.id === employe.id ? { ...e, statut: newStatut } : e + )); + + console.log(`✅ Statut employé ${newStatut.toLowerCase()}`); + } catch (error) { + console.error('❌ Erreur lors du changement de statut:', error); + } + }; + + const statutBodyTemplate = (rowData: Employe) => { + const getSeverity = (statut: string) => { + switch (statut) { + case 'ACTIF': return 'success'; + case 'INACTIF': return 'danger'; + case 'CONGE': return 'warning'; + case 'FORMATION': return 'info'; + default: return 'secondary'; + } + }; + + return ; + }; + + const actionBodyTemplate = (rowData: Employe) => { + return ( +
+
+ ); + }; + + const competencesBodyTemplate = (rowData: Employe) => { + return ( +
+ {rowData.competences?.slice(0, 3).map((comp, index) => ( + + ))} + {rowData.competences?.length > 3 && ( + + )} +
+ ); + }; + + const leftToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+ + + setGlobalFilter(e.target.value)} + /> + +
+ ); + }; + + const header = ( +
+

Gestion des Employés

+ + + setGlobalFilter(e.target.value)} + /> + +
+ ); + + return ( +
+
+ + + + setSelectedEmployes(e.value)} + responsiveLayout="scroll" + > + + + + + + + + + + + +
+ + setDeleteDialog(false)} + message={`Êtes-vous sûr de vouloir supprimer l'employé ${employeToDelete?.prenom} ${employeToDelete?.nom} ?`} + header="Confirmation de suppression" + icon="pi pi-exclamation-triangle" + accept={deleteEmploye} + reject={() => setDeleteDialog(false)} + acceptLabel="Oui" + rejectLabel="Non" + acceptClassName="p-button-danger" + /> + + +
+ ); +}; + +const EmployesPage = () => { + return ( + + + + ); +}; + +export default EmployesPage; diff --git a/app/(main)/employes/stats/page.tsx b/app/(main)/employes/stats/page.tsx new file mode 100644 index 0000000..d1f8e4f --- /dev/null +++ b/app/(main)/employes/stats/page.tsx @@ -0,0 +1,340 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { Card } from 'primereact/card'; +import { Chart } from 'primereact/chart'; +import { Button } from 'primereact/button'; +import { Toolbar } from 'primereact/toolbar'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Tag } from 'primereact/tag'; +import { useRouter } from 'next/navigation'; +import { apiClient } from '../../../../services/api-client'; + +interface StatistiquesEmployes { + totalEmployes: number; + employesActifs: number; + employesInactifs: number; + employesEnConge: number; + employesEnFormation: number; + repartitionParMetier: { [key: string]: number }; + repartitionParExperience: { [key: string]: number }; + repartitionParEquipe: { [key: string]: number }; + employesSansCertification: number; + employesAvecCertifications: number; + moyenneAgeEmployes: number; + ancienneteMoyenne: number; + tauxDisponibilite: number; + topCompetences: Array<{ competence: string; nombre: number }>; + topCertifications: Array<{ certification: string; nombre: number }>; +} + +const StatistiquesEmployesPage = () => { + const [stats, setStats] = useState(null); + const [loading, setLoading] = useState(true); + const [chartOptions] = useState({ + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'bottom' + } + } + }); + const router = useRouter(); + + useEffect(() => { + loadStatistiques(); + }, []); + + const loadStatistiques = async () => { + try { + setLoading(true); + console.log('🔄 Chargement des statistiques employés...'); + const response = await apiClient.get('/api/employes/statistiques'); + console.log('✅ Statistiques employés chargées:', response.data); + setStats(response.data); + } catch (error) { + console.error('❌ Erreur lors du chargement des statistiques:', error); + } finally { + setLoading(false); + } + }; + + const getStatutChartData = () => { + if (!stats) return {}; + + return { + labels: ['Actifs', 'Inactifs', 'En congé', 'En formation'], + datasets: [{ + data: [ + stats.employesActifs, + stats.employesInactifs, + stats.employesEnConge, + stats.employesEnFormation + ], + backgroundColor: [ + '#4CAF50', + '#F44336', + '#FF9800', + '#2196F3' + ], + borderWidth: 2 + }] + }; + }; + + const getMetierChartData = () => { + if (!stats) return {}; + + return { + labels: Object.keys(stats.repartitionParMetier), + datasets: [{ + data: Object.values(stats.repartitionParMetier), + backgroundColor: [ + '#FF6384', + '#36A2EB', + '#FFCE56', + '#4BC0C0', + '#9966FF', + '#FF9F40', + '#FF6384', + '#C9CBCF' + ], + borderWidth: 2 + }] + }; + }; + + const getExperienceChartData = () => { + if (!stats) return {}; + + return { + labels: Object.keys(stats.repartitionParExperience), + datasets: [{ + label: 'Nombre d\'employés', + data: Object.values(stats.repartitionParExperience), + backgroundColor: '#36A2EB', + borderColor: '#36A2EB', + borderWidth: 1 + }] + }; + }; + + const leftToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( + + + + + + + + + +
+

+ Bienvenue sur BTP Xpress +

+

Votre plateforme de gestion BTP moderne

+ + Commencer + +
+ +
+
+
+
+ Gestion de Projets + Planifiez, suivez et gérez tous vos projets BTP en temps réel avec nos outils intégrés. +
+
+
+
+ Gestion Financière + Suivez vos coûts, budgets et rentabilité avec des tableaux de bord détaillés et intuitifs. +
+
+
+
+ Ressources Humaines + Gérez vos équipes, plannings et compétences pour optimiser votre productivité. +
+
+
+
+ Conformité Réglementaire + Respectez automatiquement les normes et réglementations du secteur BTP. +
+
+
+
+ Collaboration + Facilitez la communication entre tous les acteurs de vos projets de construction. +
+
+
+
+ Reporting Avancé + Générez des rapports détaillés pour le suivi de performance et la prise de décision. +
+
+
+
+ + +
+
+ atlantis +
+
+ atlantis +
+
+ atlantis +
+
+ atlantis +
+ +
+ atlantis +
+
+ +
+
+
+

Features

+
+
+

Curabitur ullamcorper molesti

+

+ Ut eget ante id libero scelerisque sagittis. Aliquam porta quam at eros ornare, nec volutpat purus ornare. Curabitur vestibulum pharetra dui, feugiat venenatis augue accumsan in. Fusce ullamcorper efficitur dui + vestibulum imperdiet. Morbi rhoncus commodo est, vel molestie sapien dapibus et. Nam a blandit urna. Maecenas porttitor et neque eu vehicula. Nunc dictum posuere elementum. +

+
+
+
+
+
+
+

Features

+
+
+

Curabitur ullamcorper molesti

+

+ Ut eget ante id libero scelerisque sagittis. Aliquam porta quam at eros ornare, nec volutpat purus ornare. Curabitur vestibulum pharetra dui, feugiat venenatis augue accumsan in. Fusce ullamcorper efficitur dui + vestibulum imperdiet. Morbi rhoncus commodo est, vel molestie sapien dapibus et. Nam a blandit urna. Maecenas porttitor et neque eu vehicula. Nunc dictum posuere elementum. +

+
+
+
+ CONVERSATION RATE +
+
+
+ + 0.6% +
+
0.81%
+
+
+ absolute +
+ +
+ AVG. ORDER VALUE +
+
+
+ + 4,2% +
+
$306.2
+
+
+ absolute +
+ +
+ ORDER QUANTITY +
+
+
+ + 2,1% +
+
1,620
+
+
+ quantity +
+
+
+ +
+
+
+
+
+ beats +
+
+

9,395 Users

+
$7,927,105
+
+
+
+
+
+
+ nasa +
+
+

9,673 Users

+
$8,362,478
+
+
+
+
+
+
+ north-face +
+
+

7,613 Users

+
$5,697,883
+
+
+
+
+
+
+ go-pro +
+
+

7,813 Users

+
$6,471,594
+
+
+
+
+ +
+

Curabitur ullamcorper molesti

+

+ Proin maximus sem non congue ultricies. Aenean porttitor nulla suscipit, laoreet nunc eget, pharetra felis. Etiam ac velit sit amet metus tristique ultrices. Interdum et malesuada fames ac ante ipsum primis in + faucibus. Vestibulum placerat nunc vitae ipsum bibendum pulvinar. +

+
+
+ +
+
+

Curabitur ullamcorper molesti

+
    +
  • Donec ac justo vitae lorem vehicula lobortis.
  • +
  • Aenean nibh ante, auctor in faucibus id
  • +
  • Orci varius natoque penatibus et magnis
  • +
  • Ut et dapibus mauris.
  • +
  • Fusce aliquet eget nisl sed imperdiet.
  • +
+
+
+ atlantis + atlantis +
+
+
+ +
+

Pricing

+

+ Proin maximus sem non congue ultricies. Aenean porttitor nulla suscipit, laoreet nunc eget, pharetra felis. Etiam ac velit sit amet metus tristique ultrices. Interdum et malesuada fames ac ante ipsum primis in faucibus. +

+ +
+
+
+
+ Basic +

+ $5 +

+
+
    +
  • Responsive Layout
  • +
  • Unlimited Push Messages
  • +
  • 50 Support Ticket
  • +
  • Free Shipping
  • +
  • 10GB Storage
  • +
+
+ +
+
+
+
+
+
+ Standart +

+ $25 +

+
+
    +
  • Responsive Layout
  • +
  • Unlimited Push Messages
  • +
  • 50 Support Ticket
  • +
  • Free Shipping
  • +
  • 10GB Storage
  • +
+
+ +
+
+
+
+
+
+ Professional +

+ $50 +

+
+
    +
  • Responsive Layout
  • +
  • Unlimited Push Messages
  • +
  • 50 Support Ticket
  • +
  • Free Shipping
  • +
  • 10GB Storage
  • +
+
+ +
+
+
+
+
+ + +
+
+ + ); +}; + +export default LandingPage; diff --git a/app/(main)/pages/aboutus/page.tsx b/app/(main)/pages/aboutus/page.tsx new file mode 100644 index 0000000..c22b83f --- /dev/null +++ b/app/(main)/pages/aboutus/page.tsx @@ -0,0 +1,140 @@ +'use client'; + +import React, { useState } from 'react'; + +function AboutUs() { + const [visibleMember, setVisibleMember] = useState(null); + + return ( + <> +
+
+
+ Image +
+
+
About us
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est + laborum. +

+

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo + enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, + consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. +

+

+ Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae + consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? +

+
+
+
+ Our Team +
Faucibus ornare suspendisse sed nisi. Nisl rhoncus mattis rhoncus urna neque viverra justo nec.
+
+
+
setVisibleMember(0)} onMouseLeave={() => setVisibleMember(-1)}> + Team 1 + {visibleMember === 0 && ( +
+
+ Jeff Davies + Software Developer + +
+
+ )} +
+
+
+
setVisibleMember(1)} onMouseLeave={() => setVisibleMember(-1)}> + Team 2 + {visibleMember === 1 && ( +
+
+ Kristin Watson + UI/UX Designer + +
+
+ )} +
+
+
+
setVisibleMember(2)} onMouseLeave={() => setVisibleMember(-1)}> + Team 3 + {visibleMember === 2 && ( +
+
+ Jenna Williams + Marketing Specialist + +
+
+ )} +
+
+
+
setVisibleMember(3)} onMouseLeave={() => setVisibleMember(-1)}> + Team 4 + {visibleMember === 3 && ( +
+
+ Joe Clifford + Customer Relations + +
+
+ )} +
+
+
+
+
+ + ); +} + +export default AboutUs; diff --git a/app/(main)/pages/access/page.tsx b/app/(main)/pages/access/page.tsx new file mode 100644 index 0000000..7735ae5 --- /dev/null +++ b/app/(main)/pages/access/page.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import Link from 'next/link'; + +function Access() { + return ( +
+ diamond-layout + +
+
ACCESS DENIED
+
You do not have the necessary permissions.
+ Go to Dashboard +
+
+ ); +} + +export default Access; diff --git a/app/(main)/pages/contact/page.tsx b/app/(main)/pages/contact/page.tsx new file mode 100644 index 0000000..11eaac3 --- /dev/null +++ b/app/(main)/pages/contact/page.tsx @@ -0,0 +1,87 @@ +'use client'; + +import React, { useState, useContext } from 'react'; + +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { Button } from 'primereact/button'; +import { classNames } from 'primereact/utils'; +import { LayoutContext } from '../../../../layout/context/layoutcontext'; + +function Contact() { + const [name, setName] = useState(''); + const [email, setEmail] = useState(''); + const [message, setMessage] = useState(''); + const [content] = useState([ + { icon: 'pi pi-fw pi-phone', title: 'Phone', info: '1 (833) 597-7538' }, + { + icon: 'pi pi-fw pi-map-marker', + title: 'Our Head Office', + info: 'Churchill-laan 16 II, 1052 CD, Amsterdam' + }, + { icon: 'pi pi-fw pi-print', title: 'Fax', info: '3 (833) 297-1548' } + ]); + + const { layoutConfig } = useContext(LayoutContext); + return ( +
+
+

Contact Us

+
+
+
+
+ {content.map((item, i) => { + return ( +
+ + {item.title} + {item.info} +
+ ); + })} +
+
+ +
+

Send Us Email

+
+
+ + + + setName(e.target.value)} placeholder="Name" className="w-full px-7 text-900 font-semibold" style={{ height: '3.5rem' }} /> + +
+ +
+ + + + setEmail(e.target.value)} placeholder="Email" className="w-full px-7 text-900 font-semibold" style={{ height: '3.5rem' }} /> + +
+ +
+ + setMessage(event.target.value)} /> + +
+
+
+
+ ); +} + +export default Contact; diff --git a/app/(main)/pages/crud/page.tsx b/app/(main)/pages/crud/page.tsx new file mode 100644 index 0000000..235e58d --- /dev/null +++ b/app/(main)/pages/crud/page.tsx @@ -0,0 +1,429 @@ +'use client'; + +import { Button } from 'primereact/button'; +import { Column } from 'primereact/column'; +import { DataTable } from 'primereact/datatable'; +import { Dialog } from 'primereact/dialog'; +import { FileUpload } from 'primereact/fileupload'; +import { InputNumber } from 'primereact/inputnumber'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { RadioButton } from 'primereact/radiobutton'; +import { Rating } from 'primereact/rating'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { classNames } from 'primereact/utils'; +import React, { useEffect, useRef, useState } from 'react'; +import { ProductService } from '../../../../demo/service/ProductService'; +import type { Demo } from '@/types'; + +const Crud = () => { + let emptyProduct: Demo.Product = { + id: null, + name: '', + image: null, + description: '', + category: null, + price: 0, + quantity: 0, + rating: 0, + inventoryStatus: 'INSTOCK' + }; + + const [products, setProducts] = useState(null); + const [productDialog, setProductDialog] = useState(false); + const [deleteProductDialog, setDeleteProductDialog] = useState(false); + const [deleteProductsDialog, setDeleteProductsDialog] = useState(false); + const [product, setProduct] = useState(emptyProduct); + const [selectedProducts, setSelectedProducts] = useState(null); + const [submitted, setSubmitted] = useState(false); + const [globalFilter, setGlobalFilter] = useState(null); + const toast = useRef(null); + const dt = useRef(null); + + useEffect(() => { + ProductService.getProducts().then((data) => setProducts(data)); + }, []); + + const formatCurrency = (value) => { + return value.toLocaleString('en-US', { + style: 'currency', + currency: 'USD' + }); + }; + + const openNew = () => { + setProduct(emptyProduct); + setSubmitted(false); + setProductDialog(true); + }; + + const hideDialog = () => { + setSubmitted(false); + setProductDialog(false); + }; + + const hideDeleteProductDialog = () => { + setDeleteProductDialog(false); + }; + + const hideDeleteProductsDialog = () => { + setDeleteProductsDialog(false); + }; + + const saveProduct = () => { + setSubmitted(true); + + if (product.name.trim()) { + let _products = [...products]; + let _product = { ...product }; + if (product.id) { + const index = findIndexById(product.id); + + _products[index] = _product; + toast.current.show({ + severity: 'success', + summary: 'Successful', + detail: 'Product Updated', + life: 3000 + }); + } else { + _product.id = createId(); + _product.code = createId(); + _product.image = 'product-placeholder.svg'; + _products.push(_product); + toast.current.show({ + severity: 'success', + summary: 'Successful', + detail: 'Product Created', + life: 3000 + }); + } + + setProducts(_products); + setProductDialog(false); + setProduct(emptyProduct); + } + }; + + const editProduct = (product) => { + setProduct({ ...product }); + setProductDialog(true); + }; + + const confirmDeleteProduct = (product) => { + setProduct(product); + setDeleteProductDialog(true); + }; + + const deleteProduct = () => { + let _products = products.filter((val) => val.id !== product.id); + setProducts(_products); + setDeleteProductDialog(false); + setProduct(emptyProduct); + toast.current.show({ + severity: 'success', + summary: 'Successful', + detail: 'Product Deleted', + life: 3000 + }); + }; + + const findIndexById = (id) => { + let index = -1; + for (let i = 0; i < products.length; i++) { + if (products[i].id === id) { + index = i; + break; + } + } + + return index; + }; + + const createId = () => { + let id = ''; + let chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + for (let i = 0; i < 5; i++) { + id += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return id; + }; + + const exportCSV = () => { + dt.current.exportCSV(); + }; + + const confirmDeleteSelected = () => { + setDeleteProductsDialog(true); + }; + + const deleteSelectedProducts = () => { + let _products = products.filter((val) => !selectedProducts.includes(val)); + setProducts(_products); + setDeleteProductsDialog(false); + setSelectedProducts(null); + toast.current.show({ + severity: 'success', + summary: 'Successful', + detail: 'Products Deleted', + life: 3000 + }); + }; + + const onCategoryChange = (e) => { + let _product = { ...product }; + _product['category'] = e.value; + setProduct(_product); + }; + + const onInputChange = (e, name) => { + const val = (e.target && e.target.value) || ''; + let _product = { ...product }; + _product[`${name}`] = val; + + setProduct(_product); + }; + + const onInputNumberChange = (e, name) => { + const val = e.value || 0; + let _product = { ...product }; + _product[`${name}`] = val; + + setProduct(_product); + }; + + const leftToolbarTemplate = () => { + return ( + +
+
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( + + + + + ); + }; + + const customizedMarker = (item: CustomEvent) => { + return ( + + + + ); + }; + + return ( +
+
+
+
+
Left Align
+ item.status} /> +
+
+
+
+
Right Align
+ item.status} /> +
+
+
+
+
Alternate Align
+ item.status} /> +
+
+ +
+
+
Opposite Content
+ item.status} content={(item) => {item.date}} /> +
+
+ +
+
+
Customized
+ +
+
+
+
+
Horizontal
+
Top Align
+ item} /> + +
Bottom Align
+ item} /> + +
Alternate Align
+ item} opposite={ } /> +
+
+
+
+ ); +}; + +export default TimelineDemo; diff --git a/app/(main)/phases-chantier/dashboard/page.tsx b/app/(main)/phases-chantier/dashboard/page.tsx new file mode 100644 index 0000000..16d1962 --- /dev/null +++ b/app/(main)/phases-chantier/dashboard/page.tsx @@ -0,0 +1,472 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Card } from 'primereact/card'; +import { Chart } from 'primereact/chart'; +import { ProgressBar } from 'primereact/progressbar'; +import { Tag } from 'primereact/tag'; +import { Button } from 'primereact/button'; +import { Toast } from 'primereact/toast'; +import { DataView } from 'primereact/dataview'; +import { Knob } from 'primereact/knob'; +import { Timeline } from 'primereact/timeline'; +import { Dropdown } from 'primereact/dropdown'; +import { Calendar } from 'primereact/calendar'; +import { Badge } from 'primereact/badge'; +import { Panel } from 'primereact/panel'; +import { Page } from '@/types'; +import phaseChantierService from '@/services/phaseChantierService'; +import { PhaseChantier } from '@/types/btp-extended'; + +const PhasesDashboardPage: Page = () => { + const [phases, setPhases] = useState([]); + const [loading, setLoading] = useState(true); + const [selectedPeriod, setSelectedPeriod] = useState('semaine'); + const [chartData, setChartData] = useState({}); + const [avancementData, setAvancementData] = useState({}); + const [budgetData, setBudgetData] = useState({}); + const [timelineData, setTimelineData] = useState([]); + + const toast = useRef(null); + + const periodOptions = [ + { label: 'Cette semaine', value: 'semaine' }, + { label: 'Ce mois', value: 'mois' }, + { label: 'Ce trimestre', value: 'trimestre' } + ]; + + useEffect(() => { + loadDashboardData(); + }, [selectedPeriod]); + + const loadDashboardData = async () => { + try { + setLoading(true); + // Charger les phases actives (exemple avec chantierId = 1) + const data = await phaseChantierService.getByChantier(1); + setPhases(data || []); + + // Préparer les données pour les graphiques + prepareChartData(data || []); + prepareTimelineData(data || []); + } catch (error) { + console.error('Erreur lors du chargement des données:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les données du tableau de bord', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const prepareChartData = (data: PhaseChantier[]) => { + const documentStyle = getComputedStyle(document.documentElement); + + // Graphique de répartition par statut + const statutCounts = data.reduce((acc, phase) => { + acc[phase.statut] = (acc[phase.statut] || 0) + 1; + return acc; + }, {} as Record); + + const statutData = { + labels: Object.keys(statutCounts).map(statut => + phaseChantierService.getStatutLabel(statut as any) + ), + datasets: [{ + data: Object.values(statutCounts), + backgroundColor: [ + documentStyle.getPropertyValue('--blue-500'), + documentStyle.getPropertyValue('--green-500'), + documentStyle.getPropertyValue('--yellow-500'), + documentStyle.getPropertyValue('--orange-500'), + documentStyle.getPropertyValue('--red-500'), + documentStyle.getPropertyValue('--gray-500'), + ], + hoverBackgroundColor: [ + documentStyle.getPropertyValue('--blue-400'), + documentStyle.getPropertyValue('--green-400'), + documentStyle.getPropertyValue('--yellow-400'), + documentStyle.getPropertyValue('--orange-400'), + documentStyle.getPropertyValue('--red-400'), + documentStyle.getPropertyValue('--gray-400'), + ] + }] + }; + + // Graphique d'avancement moyen + const avancementMoyen = data.length > 0 + ? data.reduce((sum, phase) => sum + (phase.pourcentageAvancement || 0), 0) / data.length + : 0; + + // Graphique budget vs coût + const budgetVsCout = { + labels: data.map(phase => phase.nom?.substring(0, 15) + '...'), + datasets: [ + { + label: 'Budget prévu', + backgroundColor: documentStyle.getPropertyValue('--blue-500'), + borderColor: documentStyle.getPropertyValue('--blue-500'), + data: data.map(phase => phase.budgetPrevu || 0) + }, + { + label: 'Coût réel', + backgroundColor: documentStyle.getPropertyValue('--red-500'), + borderColor: documentStyle.getPropertyValue('--red-500'), + data: data.map(phase => phase.coutReel || 0) + } + ] + }; + + setChartData(statutData); + setAvancementData({ value: avancementMoyen }); + setBudgetData(budgetVsCout); + }; + + const prepareTimelineData = (data: PhaseChantier[]) => { + // Créer une timeline des prochaines échéances + const prochaines = data + .filter(phase => phase.dateFinPrevue && phase.statut !== 'TERMINEE') + .sort((a, b) => new Date(a.dateFinPrevue!).getTime() - new Date(b.dateFinPrevue!).getTime()) + .slice(0, 5) + .map(phase => { + const dateEcheance = new Date(phase.dateFinPrevue!); + const maintenant = new Date(); + const joursRestants = Math.ceil((dateEcheance.getTime() - maintenant.getTime()) / (1000 * 60 * 60 * 24)); + + return { + phase: phase.nom, + date: dateEcheance.toLocaleDateString('fr-FR'), + joursRestants, + statut: phase.statut, + avancement: phase.pourcentageAvancement || 0, + critique: phase.critique, + color: joursRestants < 0 ? '#FF6B6B' : joursRestants < 7 ? '#FFA726' : '#66BB6A', + icon: joursRestants < 0 ? 'pi pi-exclamation-triangle' : + joursRestants < 7 ? 'pi pi-clock' : 'pi pi-calendar' + }; + }); + + setTimelineData(prochaines); + }; + + const calculateKPIs = () => { + const stats = phaseChantierService.calculateStatistiques(phases); + const phasesEnRetard = phases.filter(phase => phaseChantierService.isEnRetard(phase)).length; + const phasesCritiques = phases.filter(phase => phase.critique).length; + const budgetUtilise = (stats.coutTotal / stats.budgetTotal) * 100; + + return { + avancementGlobal: stats.avancementMoyen, + respectDelais: ((phases.length - phasesEnRetard) / phases.length) * 100, + budgetUtilise, + phasesCritiques, + stats + }; + }; + + const kpis = calculateKPIs(); + + const phaseItemTemplate = (phase: PhaseChantier) => { + const retard = phaseChantierService.isEnRetard(phase); + const avancement = phase.pourcentageAvancement || 0; + + return ( +
+ +
+
+
+
{phase.nom}
+

+ {phase.chantier?.nom || 'Chantier non défini'} +

+
+
+ + {phase.critique && ( + + )} + {retard && ( + + )} +
+
+ +
+
+
+ Avancement + {avancement.toFixed(1)}% +
+ + +
+
+
Début prévu
+
+ {phase.dateDebutPrevue ? + new Date(phase.dateDebutPrevue).toLocaleDateString('fr-FR') : + 'Non défini' + } +
+
+
+
Fin prévue
+
+ {phase.dateFinPrevue ? + new Date(phase.dateFinPrevue).toLocaleDateString('fr-FR') : + 'Non défini' + } +
+
+
+
+ +
+
+
Budget
+
+ {new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + notation: 'compact' + }).format(phase.budgetPrevu || 0)} +
+
+
+
+
+
+
+ ); + }; + + const chartOptions = { + plugins: { + legend: { + position: 'bottom' as const, + labels: { + usePointStyle: true, + padding: 20 + } + } + }, + maintainAspectRatio: false + }; + + const budgetChartOptions = { + plugins: { + legend: { + position: 'top' as const + } + }, + responsive: true, + scales: { + x: { + ticks: { + maxRotation: 45 + } + }, + y: { + beginAtZero: true, + ticks: { + callback: function(value: any) { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + notation: 'compact' + }).format(value); + } + } + } + } + }; + + return ( +
+
+ + + {/* Header avec filtres */} +
+

Tableau de Bord - Phases

+
+ setSelectedPeriod(e.value)} + className="w-12rem" + /> +
+
+ + {/* KPIs principaux */} +
+
+ + +
Avancement Global
+

+ {kpis.avancementGlobal.toFixed(1)}% terminé +

+
+
+
+ + +
Respect des Délais
+

+ {kpis.respectDelais.toFixed(1)}% dans les temps +

+
+
+
+ + 100 ? "#F44336" : "#FF9800"} + rangeColor="#FFF3E0" + /> +
Budget Utilisé
+

+ {kpis.budgetUtilise.toFixed(1)}% du budget +

+
+
+
+ +
+ {kpis.phasesCritiques} +
+
Phases Critiques
+

+ Nécessitent une attention +

+
+
+
+ +
+ {/* Graphiques */} +
+
+
+ + + +
+
+ + + +
+
+
+ + {/* Timeline des prochaines échéances */} +
+ + ( + + + + )} + content={(item) => ( + +
+
{item.phase}
+
+ {item.date} • {item.joursRestants >= 0 ? + `${item.joursRestants} jours restants` : + `${Math.abs(item.joursRestants)} jours de retard` + } +
+ +
+ {item.avancement.toFixed(1)}% + {item.critique && ( + + )} +
+
+
+ )} + /> +
+
+
+ + {/* Vue des phases actives */} + + p.statut === 'EN_COURS')} + layout="grid" + itemTemplate={phaseItemTemplate} + paginator + rows={6} + emptyMessage="Aucune phase active" + /> + +
+
+ ); +}; + +export default PhasesDashboardPage; \ No newline at end of file diff --git a/app/(main)/phases-chantier/page.tsx b/app/(main)/phases-chantier/page.tsx new file mode 100644 index 0000000..286c31c --- /dev/null +++ b/app/(main)/phases-chantier/page.tsx @@ -0,0 +1,706 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { Toast } from 'primereact/toast'; +import { Dialog } from 'primereact/dialog'; +import { InputText } from 'primereact/inputtext'; +import { Dropdown } from 'primereact/dropdown'; +import { Calendar } from 'primereact/calendar'; +import { Slider } from 'primereact/slider'; +import { Tag } from 'primereact/tag'; +import { Card } from 'primereact/card'; +import { ProgressBar } from 'primereact/progressbar'; +import { Toolbar } from 'primereact/toolbar'; +import { Badge } from 'primereact/badge'; +import { Divider } from 'primereact/divider'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { InputNumber } from 'primereact/inputnumber'; +import { confirmDialog } from 'primereact/confirmdialog'; +import { ConfirmDialog } from 'primereact/confirmdialog'; +import { Page } from '@/types'; +import phaseChantierService from '@/services/phaseChantierService'; +import { PhaseChantier, StatutPhase } from '@/types/btp-extended'; +import { + ActionButtonGroup, + ViewButton, + EditButton, + DeleteButton, + StartButton +} from '../../../components/ui/ActionButton'; + +const PhasesChantierPage: Page = () => { + const [phases, setPhases] = useState([]); + const [loading, setLoading] = useState(true); + const [selectedPhases, setSelectedPhases] = useState([]); + const [phaseDialog, setPhaseDialog] = useState(false); + const [deletePhaseDialog, setDeletePhaseDialog] = useState(false); + const [currentPhase, setCurrentPhase] = useState(null); + const [submitted, setSubmitted] = useState(false); + const [globalFilter, setGlobalFilter] = useState(''); + const [expandedRows, setExpandedRows] = useState(null); + const [filters, setFilters] = useState({ + statut: '', + chantierId: '', + enRetard: false + }); + + const toast = useRef(null); + const dt = useRef>(null); + + // État pour le formulaire de phase + const [formData, setFormData] = useState({ + nom: '', + description: '', + dateDebutPrevue: null as Date | null, + dateFinPrevue: null as Date | null, + budgetPrevu: 0, + statut: 'PLANIFIEE' as StatutPhase, + critique: false, + notes: '' + }); + + const statutOptions = [ + { label: 'Planifiée', value: 'PLANIFIEE' }, + { label: 'En attente', value: 'EN_ATTENTE' }, + { label: 'En cours', value: 'EN_COURS' }, + { label: 'En pause', value: 'EN_PAUSE' }, + { label: 'Terminée', value: 'TERMINEE' }, + { label: 'Annulée', value: 'ANNULEE' }, + { label: 'En retard', value: 'EN_RETARD' } + ]; + + useEffect(() => { + loadPhases(); + }, []); + + const loadPhases = async () => { + try { + setLoading(true); + // Pour l'exemple, on charge toutes les phases. + // En production, on pourrait charger par chantier spécifique + const data = await phaseChantierService.getByChantier(1); // ID exemple + setPhases(data || []); + } catch (error) { + console.error('Erreur lors du chargement des phases:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les phases', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const openNew = () => { + setCurrentPhase(null); + setFormData({ + nom: '', + description: '', + dateDebutPrevue: null, + dateFinPrevue: null, + budgetPrevu: 0, + statut: 'PLANIFIEE', + critique: false, + notes: '' + }); + setSubmitted(false); + setPhaseDialog(true); + }; + + const editPhase = (phase: PhaseChantier) => { + setCurrentPhase(phase); + setFormData({ + nom: phase.nom || '', + description: phase.description || '', + dateDebutPrevue: phase.dateDebutPrevue ? new Date(phase.dateDebutPrevue) : null, + dateFinPrevue: phase.dateFinPrevue ? new Date(phase.dateFinPrevue) : null, + budgetPrevu: phase.budgetPrevu || 0, + statut: phase.statut, + critique: phase.critique || false, + notes: phase.notes || '' + }); + setSubmitted(false); + setPhaseDialog(true); + }; + + const confirmDeletePhase = (phase: PhaseChantier) => { + setCurrentPhase(phase); + setDeletePhaseDialog(true); + }; + + const deletePhase = async () => { + try { + if (currentPhase?.id) { + await phaseChantierService.delete(currentPhase.id); + await loadPhases(); + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Phase supprimée avec succès', + life: 3000 + }); + } + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Erreur lors de la suppression', + life: 3000 + }); + } + setDeletePhaseDialog(false); + setCurrentPhase(null); + }; + + const hideDialog = () => { + setSubmitted(false); + setPhaseDialog(false); + }; + + const hideDeleteDialog = () => { + setDeletePhaseDialog(false); + }; + + const savePhase = async () => { + setSubmitted(true); + + if (formData.nom.trim()) { + try { + const phaseData = { + ...formData, + dateDebutPrevue: formData.dateDebutPrevue?.toISOString(), + dateFinPrevue: formData.dateFinPrevue?.toISOString(), + chantierId: 1 // ID exemple - en production, viendrait du contexte + }; + + if (currentPhase?.id) { + await phaseChantierService.update(currentPhase.id, phaseData); + } else { + await phaseChantierService.create(phaseData); + } + + await loadPhases(); + hideDialog(); + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: currentPhase ? 'Phase modifiée avec succès' : 'Phase créée avec succès', + life: 3000 + }); + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Erreur lors de la sauvegarde', + life: 3000 + }); + } + } + }; + + const onInputChange = (e: React.ChangeEvent, name: string) => { + const val = e.target.value || ''; + setFormData(prev => ({ ...prev, [name]: val })); + }; + + const onNumberInputChange = (value: number | null, name: string) => { + setFormData(prev => ({ ...prev, [name]: value || 0 })); + }; + + const onDateChange = (value: Date | null, name: string) => { + setFormData(prev => ({ ...prev, [name]: value })); + }; + + const onDropdownChange = (e: any, name: string) => { + setFormData(prev => ({ ...prev, [name]: e.value })); + }; + + // Actions sur les phases + const startPhase = async (phase: PhaseChantier) => { + try { + if (phase.id) { + await phaseChantierService.start(phase.id); + await loadPhases(); + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Phase démarrée', + life: 3000 + }); + } + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Erreur lors du démarrage', + life: 3000 + }); + } + }; + + const completePhase = async (phase: PhaseChantier) => { + try { + if (phase.id) { + await phaseChantierService.complete(phase.id); + await loadPhases(); + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Phase terminée', + life: 3000 + }); + } + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Erreur lors de la finalisation', + life: 3000 + }); + } + }; + + const suspendPhase = async (phase: PhaseChantier) => { + try { + if (phase.id) { + await phaseChantierService.suspend(phase.id); + await loadPhases(); + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Phase suspendue', + life: 3000 + }); + } + } catch (error) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Erreur lors de la suspension', + life: 3000 + }); + } + }; + + // Templates pour les colonnes + const actionBodyTemplate = (rowData: PhaseChantier) => { + return ( + + editPhase(rowData)} + tooltip="Modifier" + /> + confirmDeletePhase(rowData)} + tooltip="Supprimer" + /> + {rowData.statut === 'PLANIFIEE' && ( + startPhase(rowData)} + tooltip="Démarrer" + /> + )} + {rowData.statut === 'EN_COURS' && ( + <> + + + + + + + ); +} + +export default ProfileCreate; diff --git a/app/(main)/profile/list/page.tsx b/app/(main)/profile/list/page.tsx new file mode 100644 index 0000000..a0e1229 --- /dev/null +++ b/app/(main)/profile/list/page.tsx @@ -0,0 +1,149 @@ +'use client'; +import { useRouter } from 'next/navigation'; +import { FilterMatchMode, FilterOperator } from 'primereact/api'; +import { Button } from 'primereact/button'; +import { Column } from 'primereact/column'; +import { DataTable, DataTableFilterMeta } from 'primereact/datatable'; +import { InputText } from 'primereact/inputtext'; +import { ProgressBar } from 'primereact/progressbar'; +import React, { useEffect, useRef, useState } from 'react'; +import { CustomerService } from '../../../../demo/service/CustomerService'; +import type { Demo } from '@/types'; + +function List() { + const [customers, setCustomers] = useState([]); + const [filters, setFilters] = useState({}); + const [loading, setLoading] = useState(true); + const [globalFilterValue, setGlobalFilterValue] = useState(''); + const router = useRouter(); + const dt = useRef(null); + + const getCustomers = (data: Demo.Customer[]) => { + return [...(data || [])].map((d) => { + d.date = new Date(d.date); + return d; + }); + }; + + const formatDate = (value: Date) => { + return value.toLocaleDateString('en-US', { + day: '2-digit', + month: '2-digit', + year: 'numeric' + }); + }; + const clearFilter = () => { + initFilters(); + }; + + const initFilters = () => { + setFilters({ + global: { value: null, matchMode: FilterMatchMode.CONTAINS }, + name: { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] + }, + 'country.name': { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] + }, + representative: { value: null, matchMode: FilterMatchMode.IN }, + date: { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] + }, + activity: { value: null, matchMode: FilterMatchMode.BETWEEN } + }); + setGlobalFilterValue(''); + }; + + useEffect(() => { + CustomerService.getCustomersLarge().then((data) => { + setCustomers(getCustomers(data)); + setLoading(false); + }); + initFilters(); + }, []); + + const onGlobalFilterChange = (e: React.ChangeEvent) => { + const { value } = e.target; + let _filters = { ...filters }; + (_filters['global'] as any).value = value; + setFilters(_filters); + setGlobalFilterValue(value); + }; + + const renderHeader = () => { + return ( +
+ + + + +
+ ); + }; + + const nameBodyTemplate = (customer: Demo.Customer) => { + return ( + <> + Name + {customer.name} + + ); + }; + + const countryBodyTemplate = (customer: Demo.Customer) => { + return ( + <> + {customer.country.name} + {customer.country.name} + + ); + }; + + const createdByBodyTemplate = (customer: Demo.Customer) => { + return ( +
+ {customer.representative.name} + {customer.representative.name} +
+ ); + }; + + const dateBodyTemplate = (customer: Demo.Customer) => { + return formatDate(customer.date); + }; + + const activityBodyTemplate = (customer: Demo.Customer) => { + return ; + }; + + const header = renderHeader(); + + return ( +
+ + + + + + + +
+ ); +} + +export default List; diff --git a/app/(main)/rapports/ca/page.tsx b/app/(main)/rapports/ca/page.tsx new file mode 100644 index 0000000..3ad3ca0 --- /dev/null +++ b/app/(main)/rapports/ca/page.tsx @@ -0,0 +1,647 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Chart } from 'primereact/chart'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Dropdown } from 'primereact/dropdown'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Knob } from 'primereact/knob'; +import { ProgressBar } from 'primereact/progressbar'; +import { Tag } from 'primereact/tag'; + +interface CAData { + periode: string; + chiffreAffaires: number; + objectif: number; + factures: number; + devis: number; + croissance: number; + tauxReussite: number; +} + +interface CADetail { + id: string; + date: Date; + client: string; + chantier: string; + montant: number; + type: 'FACTURE' | 'DEVIS_ACCEPTE' | 'AVENANT'; + statut: 'PAYE' | 'EN_ATTENTE' | 'RETARD'; + mode: 'VIREMENT' | 'CHEQUE' | 'ESPECES' | 'CARTE'; +} + +const ChiffreAffairesPage = () => { + const [loading, setLoading] = useState(true); + const [caData, setCaData] = useState([]); + const [caDetails, setCaDetails] = useState([]); + const [dateDebut, setDateDebut] = useState(new Date(new Date().getFullYear(), 0, 1)); + const [dateFin, setDateFin] = useState(new Date()); + const [selectedPeriod, setSelectedPeriod] = useState('annee'); + const [selectedView, setSelectedView] = useState('mensuel'); + const [globalFilter, setGlobalFilter] = useState(''); + const [activeIndex, setActiveIndex] = useState(0); + const toast = useRef(null); + const dt = useRef>(null); + + const periodOptions = [ + { label: 'Cette semaine', value: 'semaine' }, + { label: 'Ce mois', value: 'mois' }, + { label: 'Ce trimestre', value: 'trimestre' }, + { label: 'Cette année', value: 'annee' }, + { label: 'Personnalisé', value: 'custom' } + ]; + + const viewOptions = [ + { label: 'Vue Mensuelle', value: 'mensuel' }, + { label: 'Vue Trimestrielle', value: 'trimestriel' }, + { label: 'Vue Annuelle', value: 'annuel' } + ]; + + useEffect(() => { + loadCAData(); + }, [dateDebut, dateFin, selectedView]); + + const loadCAData = async () => { + try { + setLoading(true); + + // Données mockées + const mockCAData: CAData[] = [ + { periode: 'Janvier 2024', chiffreAffaires: 145000, objectif: 150000, factures: 12, devis: 8, croissance: 12.5, tauxReussite: 75 }, + { periode: 'Février 2024', chiffreAffaires: 165000, objectif: 160000, factures: 15, devis: 10, croissance: 13.8, tauxReussite: 82 }, + { periode: 'Mars 2024', chiffreAffaires: 180000, objectif: 170000, factures: 18, devis: 12, croissance: 9.1, tauxReussite: 85 }, + { periode: 'Avril 2024', chiffreAffaires: 175000, objectif: 175000, factures: 16, devis: 11, croissance: -2.8, tauxReussite: 78 }, + { periode: 'Mai 2024', chiffreAffaires: 195000, objectif: 180000, factures: 20, devis: 14, croissance: 11.4, tauxReussite: 88 }, + { periode: 'Juin 2024', chiffreAffaires: 210000, objectif: 185000, factures: 22, devis: 16, croissance: 7.7, tauxReussite: 90 } + ]; + + const mockCADetails: CADetail[] = [ + { + id: '1', + date: new Date('2024-06-15'), + client: 'Kouassi Jean', + chantier: 'Résidence Les Palmiers', + montant: 25000, + type: 'FACTURE', + statut: 'PAYE', + mode: 'VIREMENT' + }, + { + id: '2', + date: new Date('2024-06-10'), + client: 'Traoré Fatou', + chantier: 'Immeuble Commercial', + montant: 35000, + type: 'FACTURE', + statut: 'EN_ATTENTE', + mode: 'VIREMENT' + }, + { + id: '3', + date: new Date('2024-06-08'), + client: 'Diabaté Mamadou', + chantier: 'Villa Moderne', + montant: 18000, + type: 'DEVIS_ACCEPTE', + statut: 'PAYE', + mode: 'CHEQUE' + }, + { + id: '4', + date: new Date('2024-06-05'), + client: 'Koné Mariame', + chantier: 'Rénovation Bureau', + montant: 12000, + type: 'FACTURE', + statut: 'RETARD', + mode: 'VIREMENT' + }, + { + id: '5', + date: new Date('2024-06-02'), + client: 'Ouattara Ibrahim', + chantier: 'Garage Automobile', + montant: 28000, + type: 'AVENANT', + statut: 'PAYE', + mode: 'VIREMENT' + } + ]; + + setCaData(mockCAData); + setCaDetails(mockCADetails); + } catch (error) { + console.error('Erreur lors du chargement:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les données du chiffre d\'affaires', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const onPeriodChange = (e: any) => { + setSelectedPeriod(e.value); + + const now = new Date(); + let debut = new Date(); + + switch (e.value) { + case 'semaine': + debut = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 7); + break; + case 'mois': + debut = new Date(now.getFullYear(), now.getMonth(), 1); + break; + case 'trimestre': + debut = new Date(now.getFullYear(), Math.floor(now.getMonth() / 3) * 3, 1); + break; + case 'annee': + debut = new Date(now.getFullYear(), 0, 1); + break; + default: + return; + } + + setDateDebut(debut); + setDateFin(now); + }; + + const exportPDF = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export PDF', + detail: 'Génération du rapport PDF...', + life: 3000 + }); + }; + + const exportExcel = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export Excel', + detail: 'Génération du rapport Excel...', + life: 3000 + }); + }; + + const leftToolbarTemplate = () => { + return ( +
+ + setSelectedView(e.value)} + placeholder="Vue" + /> + {selectedPeriod === 'custom' && ( + <> + setDateDebut(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date début" + /> + setDateFin(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date fin" + /> + + )} +
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+
+ ); + }; + + // Calculs pour les indicateurs + const totalCA = caData.reduce((sum, item) => sum + item.chiffreAffaires, 0); + const totalObjectif = caData.reduce((sum, item) => sum + item.objectif, 0); + const totalFactures = caData.reduce((sum, item) => sum + item.factures, 0); + const moyenneCroissance = caData.length > 0 ? caData.reduce((sum, item) => sum + item.croissance, 0) / caData.length : 0; + const tauxAtteinte = totalObjectif > 0 ? (totalCA / totalObjectif) * 100 : 0; + + // Données pour les graphiques + const chartData = { + labels: caData.map(item => item.periode), + datasets: [ + { + label: 'Chiffre d\'affaires', + data: caData.map(item => item.chiffreAffaires), + borderColor: '#3B82F6', + backgroundColor: 'rgba(59, 130, 246, 0.1)', + tension: 0.4, + fill: true + }, + { + label: 'Objectif', + data: caData.map(item => item.objectif), + borderColor: '#EF4444', + backgroundColor: 'rgba(239, 68, 68, 0.1)', + borderDash: [5, 5], + tension: 0.4, + fill: false + } + ] + }; + + const barChartData = { + labels: caData.map(item => item.periode), + datasets: [ + { + label: 'Factures', + data: caData.map(item => item.factures), + backgroundColor: '#10B981', + borderColor: '#047857', + borderWidth: 1 + }, + { + label: 'Devis', + data: caData.map(item => item.devis), + backgroundColor: '#F59E0B', + borderColor: '#D97706', + borderWidth: 1 + } + ] + }; + + const chartOptions = { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'bottom' as const + } + }, + scales: { + y: { + beginAtZero: true, + ticks: { + callback: function(value: any) { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(value); + } + } + } + } + }; + + const formatCurrency = (amount: number) => { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR' + }).format(amount); + }; + + const typeBodyTemplate = (rowData: CADetail) => { + let severity: "success" | "warning" | "danger" | "info" = 'info'; + let label = rowData.type; + + switch (rowData.type) { + case 'FACTURE': + severity = 'success'; + label = 'Facture'; + break; + case 'DEVIS_ACCEPTE': + severity = 'info'; + label = 'Devis Accepté'; + break; + case 'AVENANT': + severity = 'warning'; + label = 'Avenant'; + break; + } + + return ; + }; + + const statutBodyTemplate = (rowData: CADetail) => { + let severity: "success" | "warning" | "danger" = 'success'; + let label = rowData.statut; + + switch (rowData.statut) { + case 'PAYE': + severity = 'success'; + label = 'Payé'; + break; + case 'EN_ATTENTE': + severity = 'warning'; + label = 'En attente'; + break; + case 'RETARD': + severity = 'danger'; + label = 'En retard'; + break; + } + + return ; + }; + + const montantBodyTemplate = (rowData: CADetail) => { + return formatCurrency(rowData.montant); + }; + + const dateBodyTemplate = (rowData: CADetail) => { + return rowData.date.toLocaleDateString('fr-FR'); + }; + + const header = ( +
+
Détail des Transactions
+ + + setGlobalFilter(e.target.value)} + className="p-inputtext p-component" + /> + +
+ ); + + return ( +
+
+ + + + + setActiveIndex(e.index)}> + +
+ {/* Indicateurs principaux */} +
+ +
+ +
+
+ {formatCurrency(totalCA)} +
+
+ Chiffre d'Affaires +
+
+
+ +
+ +
+ +
+
+ {formatCurrency(totalObjectif)} +
+
+ Objectif +
+
+
+ +
+ +
+ +
+
+ {totalFactures} +
+
+ Factures +
+
+
+ +
+ +
+ +
+
+ {moyenneCroissance.toFixed(1)}% +
+
+ Croissance Moyenne +
+
+
+ + {/* Taux d'atteinte objectif */} +
+ +
+ = 100 ? "#10B981" : tauxAtteinte >= 80 ? "#F59E0B" : "#EF4444"} + rangeColor="#E5E7EB" + textColor="#374151" + /> +
+ {tauxAtteinte.toFixed(1)}% de l'objectif atteint +
+
+
+
+ + {/* Performance mensuelle */} +
+ +
+ {caData.slice(-3).map((month, index) => ( +
+
+ {month.periode} + = 0 ? 'text-green-500' : 'text-red-500'}`}> + {month.croissance >= 0 ? '+' : ''}{month.croissance.toFixed(1)}% + +
+ +
+ {formatCurrency(month.chiffreAffaires)} + Obj: {formatCurrency(month.objectif)} +
+
+ ))} +
+
+
+ + {/* Graphique évolution */} +
+ + + +
+ + {/* Graphique factures/devis */} +
+ + + +
+
+
+ + +
+
+ + + + + + + + + + + +
+
+
+ + +
+
+ + + + formatCurrency(rowData.chiffreAffaires)} + sortable + /> + formatCurrency(rowData.objectif)} + sortable + /> + { + const ecart = rowData.chiffreAffaires - rowData.objectif; + return ( + = 0 ? 'text-green-500' : 'text-red-500'}> + {formatCurrency(ecart)} + + ); + }} + sortable + /> + { + const taux = (rowData.chiffreAffaires / rowData.objectif) * 100; + return ( + = 100 ? 'text-green-500' : taux >= 80 ? 'text-orange-500' : 'text-red-500'}> + {taux.toFixed(1)}% + + ); + }} + sortable + /> + ( + = 0 ? 'text-green-500' : 'text-red-500'}> + {rowData.croissance >= 0 ? '+' : ''}{rowData.croissance.toFixed(1)}% + + )} + sortable + /> + ( + + )} + /> + + +
+
+
+
+
+
+
+ ); +}; + +export default ChiffreAffairesPage; \ No newline at end of file diff --git a/app/(main)/rapports/clients/page.tsx b/app/(main)/rapports/clients/page.tsx new file mode 100644 index 0000000..7e37811 --- /dev/null +++ b/app/(main)/rapports/clients/page.tsx @@ -0,0 +1,887 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Chart } from 'primereact/chart'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Dropdown } from 'primereact/dropdown'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Rating } from 'primereact/rating'; +import { Tag } from 'primereact/tag'; +import { InputText } from 'primereact/inputtext'; +import { ProgressBar } from 'primereact/progressbar'; + +interface ClientAnalyse { + id: string; + nom: string; + prenom: string; + entreprise: string; + email: string; + telephone: string; + dateCreation: Date; + dernierContact: Date; + nbChantiers: number; + chantiersActifs: number; + chantiersTermines: number; + chiffreAffairesTotal: number; + chiffreAffairesAnnee: number; + moyennePanier: number; + satisfactionMoyenne: number; + delaiPaiementMoyen: number; + statut: 'ACTIF' | 'INACTIF' | 'PROSPECT' | 'VIP'; + segment: 'PREMIUM' | 'STANDARD' | 'ECONOMIQUE'; + risque: 'FAIBLE' | 'MOYEN' | 'ELEVE'; + fidelite: number; + recommandations: number; +} + +interface SegmentAnalyse { + segment: string; + nbClients: number; + chiffreAffaires: number; + pourcentageCA: number; + panierMoyen: number; + satisfaction: number; + fidelite: number; +} + +interface TendanceClient { + mois: string; + nouveauxClients: number; + clientsActifs: number; + clientsPerdus: number; + chiffreAffaires: number; + satisfaction: number; +} + +const SuiviClientsPage = () => { + const [loading, setLoading] = useState(true); + const [clients, setClients] = useState([]); + const [segments, setSegments] = useState([]); + const [tendances, setTendances] = useState([]); + const [selectedClients, setSelectedClients] = useState([]); + const [dateDebut, setDateDebut] = useState(new Date(new Date().getFullYear(), 0, 1)); + const [dateFin, setDateFin] = useState(new Date()); + const [selectedPeriod, setSelectedPeriod] = useState('annee'); + const [selectedSegment, setSelectedSegment] = useState('tous'); + const [globalFilter, setGlobalFilter] = useState(''); + const [activeIndex, setActiveIndex] = useState(0); + const toast = useRef(null); + const dt = useRef>(null); + + const periodOptions = [ + { label: 'Ce mois', value: 'mois' }, + { label: 'Ce trimestre', value: 'trimestre' }, + { label: 'Cette année', value: 'annee' }, + { label: 'Personnalisé', value: 'custom' } + ]; + + const segmentOptions = [ + { label: 'Tous les segments', value: 'tous' }, + { label: 'Premium', value: 'PREMIUM' }, + { label: 'Standard', value: 'STANDARD' }, + { label: 'Économique', value: 'ECONOMIQUE' } + ]; + + useEffect(() => { + loadClientData(); + }, [dateDebut, dateFin, selectedSegment]); + + const loadClientData = async () => { + try { + setLoading(true); + + // Données mockées + const mockClients: ClientAnalyse[] = [ + { + id: '1', + nom: 'Kouassi', + prenom: 'Jean', + entreprise: 'Entreprise Kouassi', + email: 'jean.kouassi@email.com', + telephone: '07 12 34 56 78', + dateCreation: new Date('2023-01-15'), + dernierContact: new Date('2024-06-10'), + nbChantiers: 8, + chantiersActifs: 2, + chantiersTermines: 6, + chiffreAffairesTotal: 2500000, + chiffreAffairesAnnee: 950000, + moyennePanier: 312500, + satisfactionMoyenne: 4.5, + delaiPaiementMoyen: 28, + statut: 'VIP', + segment: 'PREMIUM', + risque: 'FAIBLE', + fidelite: 92, + recommandations: 3 + }, + { + id: '2', + nom: 'Traoré', + prenom: 'Fatou', + entreprise: 'Traoré SARL', + email: 'fatou.traore@email.com', + telephone: '07 98 76 54 32', + dateCreation: new Date('2023-06-20'), + dernierContact: new Date('2024-05-25'), + nbChantiers: 3, + chantiersActifs: 1, + chantiersTermines: 2, + chiffreAffairesTotal: 850000, + chiffreAffairesAnnee: 420000, + moyennePanier: 283333, + satisfactionMoyenne: 4.2, + delaiPaiementMoyen: 32, + statut: 'ACTIF', + segment: 'STANDARD', + risque: 'FAIBLE', + fidelite: 78, + recommandations: 1 + }, + { + id: '3', + nom: 'Diabaté', + prenom: 'Mamadou', + entreprise: 'Diabaté & Fils', + email: 'mamadou.diabate@email.com', + telephone: '07 55 44 33 22', + dateCreation: new Date('2024-02-10'), + dernierContact: new Date('2024-06-05'), + nbChantiers: 2, + chantiersActifs: 1, + chantiersTermines: 1, + chiffreAffairesTotal: 320000, + chiffreAffairesAnnee: 320000, + moyennePanier: 160000, + satisfactionMoyenne: 3.8, + delaiPaiementMoyen: 45, + statut: 'ACTIF', + segment: 'ECONOMIQUE', + risque: 'MOYEN', + fidelite: 65, + recommandations: 0 + }, + { + id: '4', + nom: 'Koné', + prenom: 'Mariame', + entreprise: 'Bureau Koné', + email: 'mariame.kone@email.com', + telephone: '07 11 22 33 44', + dateCreation: new Date('2023-09-05'), + dernierContact: new Date('2024-01-20'), + nbChantiers: 1, + chantiersActifs: 0, + chantiersTermines: 1, + chiffreAffairesTotal: 220000, + chiffreAffairesAnnee: 0, + moyennePanier: 220000, + satisfactionMoyenne: 4.8, + delaiPaiementMoyen: 15, + statut: 'INACTIF', + segment: 'STANDARD', + risque: 'ELEVE', + fidelite: 45, + recommandations: 1 + }, + { + id: '5', + nom: 'Ouattara', + prenom: 'Ibrahim', + entreprise: 'Garage Ouattara', + email: 'ibrahim.ouattara@email.com', + telephone: '07 66 77 88 99', + dateCreation: new Date('2024-04-15'), + dernierContact: new Date('2024-06-15'), + nbChantiers: 1, + chantiersActifs: 1, + chantiersTermines: 0, + chiffreAffairesTotal: 180000, + chiffreAffairesAnnee: 180000, + moyennePanier: 180000, + satisfactionMoyenne: 4.0, + delaiPaiementMoyen: 30, + statut: 'PROSPECT', + segment: 'ECONOMIQUE', + risque: 'FAIBLE', + fidelite: 0, + recommandations: 0 + } + ]; + + const mockSegments: SegmentAnalyse[] = [ + { + segment: 'PREMIUM', + nbClients: 1, + chiffreAffaires: 2500000, + pourcentageCA: 61.0, + panierMoyen: 312500, + satisfaction: 4.5, + fidelite: 92 + }, + { + segment: 'STANDARD', + nbClients: 2, + chiffreAffaires: 1070000, + pourcentageCA: 26.1, + panierMoyen: 251667, + satisfaction: 4.5, + fidelite: 61.5 + }, + { + segment: 'ECONOMIQUE', + nbClients: 2, + chiffreAffaires: 500000, + pourcentageCA: 12.2, + panierMoyen: 170000, + satisfaction: 3.9, + fidelite: 32.5 + } + ]; + + const mockTendances: TendanceClient[] = [ + { mois: 'Jan 2024', nouveauxClients: 2, clientsActifs: 3, clientsPerdus: 0, chiffreAffaires: 350000, satisfaction: 4.2 }, + { mois: 'Fév 2024', nouveauxClients: 1, clientsActifs: 4, clientsPerdus: 0, chiffreAffaires: 420000, satisfaction: 4.3 }, + { mois: 'Mar 2024', nouveauxClients: 0, clientsActifs: 4, clientsPerdus: 1, chiffreAffaires: 380000, satisfaction: 4.1 }, + { mois: 'Avr 2024', nouveauxClients: 1, clientsActifs: 4, clientsPerdus: 0, chiffreAffaires: 480000, satisfaction: 4.4 }, + { mois: 'Mai 2024', nouveauxClients: 1, clientsActifs: 5, clientsPerdus: 0, chiffreAffaires: 520000, satisfaction: 4.3 }, + { mois: 'Jun 2024', nouveauxClients: 0, clientsActifs: 4, clientsPerdus: 1, chiffreAffaires: 450000, satisfaction: 4.2 } + ]; + + setClients(selectedSegment === 'tous' ? mockClients : mockClients.filter(c => c.segment === selectedSegment)); + setSegments(mockSegments); + setTendances(mockTendances); + } catch (error) { + console.error('Erreur lors du chargement:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les données clients', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const onPeriodChange = (e: any) => { + setSelectedPeriod(e.value); + + const now = new Date(); + let debut = new Date(); + + switch (e.value) { + case 'mois': + debut = new Date(now.getFullYear(), now.getMonth(), 1); + break; + case 'trimestre': + debut = new Date(now.getFullYear(), Math.floor(now.getMonth() / 3) * 3, 1); + break; + case 'annee': + debut = new Date(now.getFullYear(), 0, 1); + break; + default: + return; + } + + setDateDebut(debut); + setDateFin(now); + }; + + const exportPDF = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export PDF', + detail: 'Génération du rapport PDF...', + life: 3000 + }); + }; + + const exportExcel = () => { + dt.current?.exportCSV(); + }; + + const leftToolbarTemplate = () => { + return ( +
+ + setSelectedSegment(e.value)} + placeholder="Segment" + /> + {selectedPeriod === 'custom' && ( + <> + setDateDebut(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date début" + /> + setDateFin(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date fin" + /> + + )} +
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const formatCurrency = (amount: number) => { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR' + }).format(amount); + }; + + const statutBodyTemplate = (rowData: ClientAnalyse) => { + let severity: "success" | "warning" | "danger" | "info" = 'info'; + let label = rowData.statut; + + switch (rowData.statut) { + case 'VIP': + severity = 'success'; + label = 'VIP'; + break; + case 'ACTIF': + severity = 'info'; + label = 'Actif'; + break; + case 'INACTIF': + severity = 'warning'; + label = 'Inactif'; + break; + case 'PROSPECT': + severity = 'danger'; + label = 'Prospect'; + break; + } + + return ; + }; + + const segmentBodyTemplate = (rowData: ClientAnalyse) => { + let severity: "success" | "warning" | "danger" = 'success'; + let label = rowData.segment; + + switch (rowData.segment) { + case 'PREMIUM': + severity = 'success'; + label = 'Premium'; + break; + case 'STANDARD': + severity = 'warning'; + label = 'Standard'; + break; + case 'ECONOMIQUE': + severity = 'danger'; + label = 'Économique'; + break; + } + + return ; + }; + + const risqueBodyTemplate = (rowData: ClientAnalyse) => { + let severity: "success" | "warning" | "danger" = 'success'; + let label = rowData.risque; + + switch (rowData.risque) { + case 'FAIBLE': + severity = 'success'; + label = 'Faible'; + break; + case 'MOYEN': + severity = 'warning'; + label = 'Moyen'; + break; + case 'ELEVE': + severity = 'danger'; + label = 'Élevé'; + break; + } + + return ; + }; + + const satisfactionBodyTemplate = (rowData: ClientAnalyse) => { + return ; + }; + + const fideliteBodyTemplate = (rowData: ClientAnalyse) => { + return ( +
+ + {rowData.fidelite}% +
+ ); + }; + + const dateBodyTemplate = (rowData: ClientAnalyse) => { + return rowData.dateCreation.toLocaleDateString('fr-FR'); + }; + + const dernierContactBodyTemplate = (rowData: ClientAnalyse) => { + const daysDiff = Math.floor((new Date().getTime() - rowData.dernierContact.getTime()) / (1000 * 3600 * 24)); + const color = daysDiff > 90 ? 'text-red-500' : daysDiff > 30 ? 'text-orange-500' : 'text-green-500'; + return ( +
+
{rowData.dernierContact.toLocaleDateString('fr-FR')}
+ Il y a {daysDiff} jours +
+ ); + }; + + const header = ( +
+
Analyse Clients
+ + + setGlobalFilter(e.currentTarget.value)} + /> + +
+ ); + + // Calculs pour les indicateurs globaux + const totalClients = clients.length; + const clientsActifs = clients.filter(c => c.statut === 'ACTIF' || c.statut === 'VIP').length; + const totalCA = clients.reduce((sum, c) => sum + c.chiffreAffairesAnnee, 0); + const panierMoyenGlobal = totalClients > 0 ? totalCA / totalClients : 0; + const satisfactionMoyenne = totalClients > 0 ? clients.reduce((sum, c) => sum + c.satisfactionMoyenne, 0) / totalClients : 0; + const fideliteMoyenne = totalClients > 0 ? clients.reduce((sum, c) => sum + c.fidelite, 0) / totalClients : 0; + + // Données pour les graphiques + const segmentChartData = { + labels: segments.map(s => s.segment), + datasets: [ + { + data: segments.map(s => s.pourcentageCA), + backgroundColor: ['#10B981', '#F59E0B', '#EF4444'], + hoverBackgroundColor: ['#059669', '#D97706', '#DC2626'] + } + ] + }; + + const tendanceChartData = { + labels: tendances.map(t => t.mois), + datasets: [ + { + label: 'Nouveaux Clients', + data: tendances.map(t => t.nouveauxClients), + borderColor: '#10B981', + backgroundColor: 'rgba(16, 185, 129, 0.1)', + tension: 0.4, + fill: true + }, + { + label: 'Clients Actifs', + data: tendances.map(t => t.clientsActifs), + borderColor: '#3B82F6', + backgroundColor: 'rgba(59, 130, 246, 0.1)', + tension: 0.4, + fill: true + }, + { + label: 'Clients Perdus', + data: tendances.map(t => t.clientsPerdus), + borderColor: '#EF4444', + backgroundColor: 'rgba(239, 68, 68, 0.1)', + tension: 0.4, + fill: true + } + ] + }; + + const caClientChartData = { + labels: tendances.map(t => t.mois), + datasets: [ + { + label: 'CA par Client', + data: tendances.map(t => t.chiffreAffaires / Math.max(t.clientsActifs, 1)), + backgroundColor: '#8B5CF6', + borderColor: '#7C3AED', + borderWidth: 1 + } + ] + }; + + const chartOptions = { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'bottom' as const + } + } + }; + + return ( +
+
+ + + + + setActiveIndex(e.index)}> + +
+ {/* Indicateurs principaux */} +
+ +
+ +
+
+ {totalClients} +
+
+ Total Clients +
+
+
+ +
+ +
+ +
+
+ {clientsActifs} +
+
+ Clients Actifs +
+
+
+ +
+ +
+ +
+
+ {formatCurrency(panierMoyenGlobal)} +
+
+ Panier Moyen +
+
+
+ +
+ +
+ +
+
+ {satisfactionMoyenne.toFixed(1)}/5 +
+
+ Satisfaction Moyenne +
+
+
+ + {/* Analyse par segment */} +
+ + + + + formatCurrency(rowData.chiffreAffaires)} + /> + `${rowData.pourcentageCA.toFixed(1)}%`} + /> + formatCurrency(rowData.panierMoyen)} + /> + ( + + )} + /> + ( +
+ + {rowData.fidelite.toFixed(1)}% +
+ )} + /> +
+
+
+ + {/* Graphiques */} +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+
+ + +
+
+ + setSelectedClients(e.value)} + dataKey="id" + paginator + rows={10} + rowsPerPageOptions={[5, 10, 25]} + className="datatable-responsive" + paginatorTemplate="FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown" + currentPageReportTemplate="Affichage de {first} à {last} sur {totalRecords} clients" + globalFilter={globalFilter} + emptyMessage="Aucun client trouvé." + header={header} + loading={loading} + > + + + + + + + + + + + + formatCurrency(rowData.chiffreAffairesTotal)} + sortable + /> + formatCurrency(rowData.chiffreAffairesAnnee)} + sortable + /> + formatCurrency(rowData.moyennePanier)} + sortable + /> + + `${rowData.delaiPaiementMoyen}j`} sortable /> + + + + + +
+
+
+ + +
+
+ +
+
+
+ {clients.filter(c => c.risque === 'FAIBLE').length} +
+
Risque Faible
+
+
+
+ {clients.filter(c => c.risque === 'MOYEN').length} +
+
Risque Moyen
+
+
+
+ {clients.filter(c => c.risque === 'ELEVE').length} +
+
Risque Élevé
+
+
+
+
+ +
+ + c.fidelite <= 25).length, + clients.filter(c => c.fidelite > 25 && c.fidelite <= 50).length, + clients.filter(c => c.fidelite > 50 && c.fidelite <= 75).length, + clients.filter(c => c.fidelite > 75).length + ], + backgroundColor: ['#EF4444', '#F59E0B', '#3B82F6', '#10B981'], + borderColor: ['#DC2626', '#D97706', '#2563EB', '#059669'], + borderWidth: 1 + } + ] + }} + options={chartOptions} + style={{ height: '300px' }} + /> + +
+ +
+ +
+

+ Analyse de la relation entre la valeur client (CA) et leur niveau de fidélité +

+
+ {clients.map((client, index) => ( +
+ +
{client.prenom} {client.nom}
+
{client.entreprise}
+
+
+
CA Total
+
{formatCurrency(client.chiffreAffairesTotal)}
+
+
+
Fidélité
+
{client.fidelite}%
+
+
+
+ +
+
+ {segmentBodyTemplate(client)} + {' '} + {risqueBodyTemplate(client)} +
+
+
+ ))} +
+
+
+
+
+
+
+
+
+
+ ); +}; + +export default SuiviClientsPage; \ No newline at end of file diff --git a/app/(main)/rapports/equipes/page.tsx b/app/(main)/rapports/equipes/page.tsx new file mode 100644 index 0000000..718647b --- /dev/null +++ b/app/(main)/rapports/equipes/page.tsx @@ -0,0 +1,984 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Chart } from 'primereact/chart'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Dropdown } from 'primereact/dropdown'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Rating } from 'primereact/rating'; +import { Tag } from 'primereact/tag'; +import { InputText } from 'primereact/inputtext'; +import { ProgressBar } from 'primereact/progressbar'; +import { Knob } from 'primereact/knob'; + +interface Employe { + id: string; + nom: string; + prenom: string; + poste: string; + equipe: string; + dateEmbauche: Date; + statut: 'ACTIF' | 'CONGE' | 'ARRET' | 'FORMATION'; + heuresTravaillees: number; + heuresObjectif: number; + chantiersAssignes: number; + chantiersTermines: number; + tauxReussite: number; + evaluationPerformance: number; + salaireBase: number; + primes: number; + specialites: string[]; + certifications: string[]; + formation: number; // heures de formation + securite: number; // score sécurité + satisfaction: number; // satisfaction client +} + +interface EquipePerformance { + nom: string; + chef: string; + nbMembres: number; + heuresTravaillees: number; + productivite: number; + chantiersAssignes: number; + chantiersTermines: number; + tauxReussite: number; + budgetRespect: number; + delaiRespect: number; + securiteScore: number; + satisfactionClient: number; + coutTotal: number; + chiffreAffaires: number; + rentabilite: number; +} + +interface IndicateurRH { + nom: string; + valeurActuelle: number; + objectif: number; + unite: string; + tendance: 'HAUSSE' | 'BAISSE' | 'STABLE'; + couleur: string; +} + +const PerformanceEquipesPage = () => { + const [loading, setLoading] = useState(true); + const [employes, setEmployes] = useState([]); + const [equipes, setEquipes] = useState([]); + const [indicateursRH, setIndicateursRH] = useState([]); + const [selectedEmployes, setSelectedEmployes] = useState([]); + const [dateDebut, setDateDebut] = useState(new Date(new Date().getFullYear(), 0, 1)); + const [dateFin, setDateFin] = useState(new Date()); + const [selectedPeriod, setSelectedPeriod] = useState('annee'); + const [selectedEquipe, setSelectedEquipe] = useState('toutes'); + const [globalFilter, setGlobalFilter] = useState(''); + const [activeIndex, setActiveIndex] = useState(0); + const toast = useRef(null); + const dt = useRef>(null); + + const periodOptions = [ + { label: 'Ce mois', value: 'mois' }, + { label: 'Ce trimestre', value: 'trimestre' }, + { label: 'Cette année', value: 'annee' }, + { label: 'Personnalisé', value: 'custom' } + ]; + + const equipeOptions = [ + { label: 'Toutes les équipes', value: 'toutes' }, + { label: 'Équipe Gros Œuvre', value: 'gros-oeuvre' }, + { label: 'Équipe Second Œuvre', value: 'second-oeuvre' }, + { label: 'Équipe Finitions', value: 'finitions' }, + { label: 'Équipe Maintenance', value: 'maintenance' } + ]; + + useEffect(() => { + loadPerformanceData(); + }, [dateDebut, dateFin, selectedEquipe]); + + const loadPerformanceData = async () => { + try { + setLoading(true); + + // Données mockées employés + const mockEmployes: Employe[] = [ + { + id: '1', + nom: 'Martin', + prenom: 'Jean', + poste: 'Chef d\'équipe', + equipe: 'gros-oeuvre', + dateEmbauche: new Date('2022-01-15'), + statut: 'ACTIF', + heuresTravaillees: 1680, + heuresObjectif: 1800, + chantiersAssignes: 8, + chantiersTermines: 7, + tauxReussite: 87.5, + evaluationPerformance: 4.5, + salaireBase: 3200, + primes: 450, + specialites: ['Maçonnerie', 'Coffrage', 'Management'], + certifications: ['CACES R389', 'Sauveteur Secouriste'], + formation: 35, + securite: 95, + satisfaction: 4.3 + }, + { + id: '2', + nom: 'Dubois', + prenom: 'Marie', + poste: 'Maçon', + equipe: 'gros-oeuvre', + dateEmbauche: new Date('2023-03-20'), + statut: 'ACTIF', + heuresTravaillees: 1620, + heuresObjectif: 1750, + chantiersAssignes: 6, + chantiersTermines: 6, + tauxReussite: 100, + evaluationPerformance: 4.2, + salaireBase: 2800, + primes: 320, + specialites: ['Maçonnerie', 'Carrelage'], + certifications: ['Sauveteur Secouriste'], + formation: 28, + securite: 92, + satisfaction: 4.5 + }, + { + id: '3', + nom: 'Durand', + prenom: 'Pierre', + poste: 'Électricien', + equipe: 'second-oeuvre', + dateEmbauche: new Date('2021-09-10'), + statut: 'ACTIF', + heuresTravaillees: 1750, + heuresObjectif: 1800, + chantiersAssignes: 10, + chantiersTermines: 9, + tauxReussite: 90, + evaluationPerformance: 4.7, + salaireBase: 3000, + primes: 500, + specialites: ['Électricité', 'Domotique', 'Photovoltaïque'], + certifications: ['Habilitation B2V', 'QualiPV'], + formation: 42, + securite: 98, + satisfaction: 4.6 + }, + { + id: '4', + nom: 'Bernard', + prenom: 'Sophie', + poste: 'Plombier', + equipe: 'second-oeuvre', + dateEmbauche: new Date('2023-01-08'), + statut: 'FORMATION', + heuresTravaillees: 1580, + heuresObjectif: 1750, + chantiersAssignes: 5, + chantiersTermines: 4, + tauxReussite: 80, + evaluationPerformance: 3.8, + salaireBase: 2700, + primes: 180, + specialites: ['Plomberie', 'Chauffage'], + certifications: ['PGN'], + formation: 65, + securite: 88, + satisfaction: 4.1 + }, + { + id: '5', + nom: 'Moreau', + prenom: 'Luc', + poste: 'Peintre', + equipe: 'finitions', + dateEmbauche: new Date('2022-06-15'), + statut: 'ACTIF', + heuresTravaillees: 1650, + heuresObjectif: 1750, + chantiersAssignes: 12, + chantiersTermines: 11, + tauxReussite: 91.7, + evaluationPerformance: 4.1, + salaireBase: 2600, + primes: 275, + specialites: ['Peinture', 'Papier peint', 'Décoration'], + certifications: ['Peinture écologique'], + formation: 18, + securite: 90, + satisfaction: 4.4 + } + ]; + + const mockEquipes: EquipePerformance[] = [ + { + nom: 'Équipe Gros Œuvre', + chef: 'Jean Martin', + nbMembres: 6, + heuresTravaillees: 9800, + productivite: 92, + chantiersAssignes: 15, + chantiersTermines: 14, + tauxReussite: 93.3, + budgetRespect: 88, + delaiRespect: 85, + securiteScore: 94, + satisfactionClient: 4.3, + coutTotal: 125000, + chiffreAffaires: 180000, + rentabilite: 30.6 + }, + { + nom: 'Équipe Second Œuvre', + chef: 'Pierre Durand', + nbMembres: 8, + heuresTravaillees: 13600, + productivite: 95, + chantiersAssignes: 20, + chantiersTermines: 18, + tauxReussite: 90, + budgetRespect: 92, + delaiRespect: 88, + securiteScore: 96, + satisfactionClient: 4.5, + coutTotal: 168000, + chiffreAffaires: 250000, + rentabilite: 32.8 + }, + { + nom: 'Équipe Finitions', + chef: 'Luc Moreau', + nbMembres: 4, + heuresTravaillees: 6800, + productivite: 89, + chantiersAssignes: 25, + chantiersTermines: 23, + tauxReussite: 92, + budgetRespect: 90, + delaiRespect: 95, + securiteScore: 91, + satisfactionClient: 4.6, + coutTotal: 88000, + chiffreAffaires: 135000, + rentabilite: 34.8 + }, + { + nom: 'Équipe Maintenance', + chef: 'Anne Petit', + nbMembres: 3, + heuresTravaillees: 5100, + productivite: 87, + chantiersAssignes: 18, + chantiersTermines: 17, + tauxReussite: 94.4, + budgetRespect: 95, + delaiRespect: 98, + securiteScore: 97, + satisfactionClient: 4.2, + coutTotal: 65000, + chiffreAffaires: 95000, + rentabilite: 31.6 + } + ]; + + const mockIndicateursRH: IndicateurRH[] = [ + { nom: 'Productivité Globale', valeurActuelle: 93.2, objectif: 95, unite: '%', tendance: 'HAUSSE', couleur: '#10B981' }, + { nom: 'Taux de Réussite', valeurActuelle: 92.4, objectif: 90, unite: '%', tendance: 'STABLE', couleur: '#3B82F6' }, + { nom: 'Respect Délais', valeurActuelle: 91.5, objectif: 95, unite: '%', tendance: 'HAUSSE', couleur: '#F59E0B' }, + { nom: 'Score Sécurité', valeurActuelle: 94.5, objectif: 95, unite: '%', tendance: 'HAUSSE', couleur: '#EF4444' }, + { nom: 'Satisfaction Client', valeurActuelle: 4.4, objectif: 4.5, unite: '/5', tendance: 'STABLE', couleur: '#8B5CF6' }, + { nom: 'Heures Formation', valeurActuelle: 37.6, objectif: 40, unite: 'h', tendance: 'HAUSSE', couleur: '#06B6D4' } + ]; + + setEmployes(selectedEquipe === 'toutes' ? mockEmployes : mockEmployes.filter(e => e.equipe === selectedEquipe)); + setEquipes(mockEquipes); + setIndicateursRH(mockIndicateursRH); + } catch (error) { + console.error('Erreur lors du chargement:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les données de performance', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const onPeriodChange = (e: any) => { + setSelectedPeriod(e.value); + + const now = new Date(); + let debut = new Date(); + + switch (e.value) { + case 'mois': + debut = new Date(now.getFullYear(), now.getMonth(), 1); + break; + case 'trimestre': + debut = new Date(now.getFullYear(), Math.floor(now.getMonth() / 3) * 3, 1); + break; + case 'annee': + debut = new Date(now.getFullYear(), 0, 1); + break; + default: + return; + } + + setDateDebut(debut); + setDateFin(now); + }; + + const exportPDF = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export PDF', + detail: 'Génération du rapport PDF...', + life: 3000 + }); + }; + + const exportExcel = () => { + dt.current?.exportCSV(); + }; + + const leftToolbarTemplate = () => { + return ( +
+ + setSelectedEquipe(e.value)} + placeholder="Équipe" + /> + {selectedPeriod === 'custom' && ( + <> + setDateDebut(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date début" + /> + setDateFin(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date fin" + /> + + )} +
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const formatCurrency = (amount: number) => { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR' + }).format(amount); + }; + + const statutBodyTemplate = (rowData: Employe) => { + let severity: "success" | "warning" | "danger" | "info" = 'success'; + let label = rowData.statut; + + switch (rowData.statut) { + case 'ACTIF': + severity = 'success'; + label = 'Actif'; + break; + case 'CONGE': + severity = 'info'; + label = 'Congé'; + break; + case 'ARRET': + severity = 'danger'; + label = 'Arrêt'; + break; + case 'FORMATION': + severity = 'warning'; + label = 'Formation'; + break; + } + + return ; + }; + + const performanceBodyTemplate = (rowData: Employe) => { + return ; + }; + + const productiviteBodyTemplate = (rowData: Employe) => { + const productivite = (rowData.heuresTravaillees / rowData.heuresObjectif) * 100; + const color = productivite >= 95 ? 'text-green-600' : productivite >= 80 ? 'text-orange-600' : 'text-red-600'; + return ( +
+ + {productivite.toFixed(1)}% +
+ ); + }; + + const reussiteBodyTemplate = (rowData: Employe) => { + const color = rowData.tauxReussite >= 90 ? 'text-green-600' : + rowData.tauxReussite >= 75 ? 'text-orange-600' : 'text-red-600'; + return {rowData.tauxReussite.toFixed(1)}%; + }; + + const securiteBodyTemplate = (rowData: Employe) => { + return ( +
+ + {rowData.securite}% +
+ ); + }; + + const specialitesBodyTemplate = (rowData: Employe) => { + return rowData.specialites.slice(0, 2).map((spec, index) => ( + + )); + }; + + const dateEmbaucheBodyTemplate = (rowData: Employe) => { + const anciennete = Math.floor((new Date().getTime() - rowData.dateEmbauche.getTime()) / (1000 * 3600 * 24 * 365)); + return ( +
+
{rowData.dateEmbauche.toLocaleDateString('fr-FR')}
+ {anciennete} an{anciennete > 1 ? 's' : ''} +
+ ); + }; + + const salaireBodyTemplate = (rowData: Employe) => { + return ( +
+
{formatCurrency(rowData.salaireBase)}
+ {rowData.primes > 0 && ( + +{formatCurrency(rowData.primes)} primes + )} +
+ ); + }; + + const header = ( +
+
Performance des Équipes
+ + + setGlobalFilter(e.currentTarget.value)} + /> + +
+ ); + + // Calculs pour les indicateurs globaux + const totalEmployes = employes.length; + const employesActifs = employes.filter(e => e.statut === 'ACTIF').length; + const heuresTotal = employes.reduce((sum, e) => sum + e.heuresTravaillees, 0); + const heuresObjectifTotal = employes.reduce((sum, e) => sum + e.heuresObjectif, 0); + const productiviteGlobale = heuresObjectifTotal > 0 ? (heuresTotal / heuresObjectifTotal) * 100 : 0; + const performanceMoyenne = totalEmployes > 0 ? employes.reduce((sum, e) => sum + e.evaluationPerformance, 0) / totalEmployes : 0; + + // Données pour les graphiques + const equipePerformanceData = { + labels: equipes.map(e => e.nom), + datasets: [ + { + label: 'Productivité (%)', + data: equipes.map(e => e.productivite), + backgroundColor: '#3B82F6', + borderColor: '#1D4ED8', + borderWidth: 1 + }, + { + label: 'Taux Réussite (%)', + data: equipes.map(e => e.tauxReussite), + backgroundColor: '#10B981', + borderColor: '#047857', + borderWidth: 1 + } + ] + }; + + const rentabiliteEquipeData = { + labels: equipes.map(e => e.nom), + datasets: [ + { + data: equipes.map(e => e.rentabilite), + backgroundColor: ['#10B981', '#3B82F6', '#F59E0B', '#EF4444'], + hoverBackgroundColor: ['#059669', '#2563EB', '#D97706', '#DC2626'] + } + ] + }; + + const tendanceFormationData = { + labels: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun'], + datasets: [ + { + label: 'Heures Formation', + data: [32, 28, 35, 42, 38, 45], + borderColor: '#8B5CF6', + backgroundColor: 'rgba(139, 92, 246, 0.1)', + tension: 0.4, + fill: true + } + ] + }; + + const chartOptions = { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'bottom' as const + } + } + }; + + return ( +
+
+ + + + + setActiveIndex(e.index)}> + +
+ {/* Indicateurs principaux */} +
+ +
+ +
+
+ {totalEmployes} +
+
+ Total Employés +
+
+
+ +
+ +
+ +
+
+ {employesActifs} +
+
+ Employés Actifs +
+
+
+ +
+ +
+ +
+
+ {productiviteGlobale.toFixed(1)}% +
+
+ Productivité Globale +
+
+
+ +
+ +
+ +
+
+ {performanceMoyenne.toFixed(1)}/5 +
+
+ Performance Moyenne +
+
+
+ + {/* Indicateurs RH */} +
+ +
+ {indicateursRH.map((indicateur, index) => ( +
+
+
+ {indicateur.nom} + +
+ +
+
{indicateur.valeurActuelle}{indicateur.unite}
+
+ Objectif: {indicateur.objectif}{indicateur.unite} +
+
+
+
+ ))} +
+
+
+ + {/* Performance par équipe */} +
+ + + + + + ( +
+ + {rowData.productivite}% +
+ )} + /> + `${rowData.tauxReussite.toFixed(1)}%`} + /> + `${rowData.delaiRespect}%`} + /> + `${rowData.securiteScore}%`} + /> + ( + + )} + /> + `${rowData.rentabilite.toFixed(1)}%`} + /> +
+
+
+ + {/* Graphiques */} +
+ + + +
+ +
+ + + +
+
+
+ + +
+
+ + setSelectedEmployes(e.value)} + dataKey="id" + paginator + rows={10} + rowsPerPageOptions={[5, 10, 25]} + className="datatable-responsive" + paginatorTemplate="FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown" + currentPageReportTemplate="Affichage de {first} à {last} sur {totalRecords} employés" + globalFilter={globalFilter} + emptyMessage="Aucun employé trouvé." + header={header} + loading={loading} + > + + + + + + + + + `${rowData.chantiersTermines}/${rowData.chantiersAssignes}`} sortable /> + + + + + + + + +
+
+
+ + +
+
+ + + +
+ +
+ + `${e.prenom} ${e.nom}`), + datasets: [ + { + label: 'Heures Formation', + data: employes.map(e => e.formation), + backgroundColor: '#8B5CF6', + borderColor: '#7C3AED', + borderWidth: 1 + } + ] + }} + options={chartOptions} + style={{ height: '300px' }} + /> + +
+ +
+ + + + + + rowData.specialites.join(', ')} + /> + rowData.certifications.join(', ')} + /> + ( +
+ + {rowData.formation}h / 80h objectif +
+ )} + /> + +
+
+
+
+
+ + +
+
+ +
+
+ {formatCurrency(employes.reduce((sum, e) => sum + e.salaireBase + e.primes, 0))} +
+
+ Salaires + Primes mensuel +
+
+
+
+ +
+ +
+
+ {heuresTotal > 0 ? + (employes.reduce((sum, e) => sum + e.salaireBase + e.primes, 0) / heuresTotal).toFixed(2) : + '0.00' + }€ +
+
+ Coût horaire moyen +
+
+
+
+ +
+ +
+
+ +12.5% +
+
+ Amélioration productivité +
+
+
+
+ +
+ + + + + + formatCurrency(rowData.salaireBase)} + sortable + /> + formatCurrency(rowData.primes)} + sortable + /> + formatCurrency(rowData.salaireBase + rowData.primes)} + sortable + /> + + `${((rowData.salaireBase + rowData.primes) / rowData.heuresTravaillees).toFixed(2)}€` + } + /> + + { + const ca = rowData.chantiersTermines * 50000; // CA estimé + const cout = rowData.salaireBase + rowData.primes; + const rentabilite = ca > 0 ? ((ca - cout) / ca) * 100 : 0; + return `${rentabilite.toFixed(1)}%`; + }} + /> + + +
+
+
+
+
+
+
+ ); +}; + +export default PerformanceEquipesPage; \ No newline at end of file diff --git a/app/(main)/rapports/page.tsx b/app/(main)/rapports/page.tsx new file mode 100644 index 0000000..46061ca --- /dev/null +++ b/app/(main)/rapports/page.tsx @@ -0,0 +1,703 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Chart } from 'primereact/chart'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Dropdown } from 'primereact/dropdown'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Knob } from 'primereact/knob'; +import { ProgressBar } from 'primereact/progressbar'; +import { Badge } from 'primereact/badge'; +import { chantierService, clientService, factureService, devisService } from '../../../services/api'; +import { formatCurrency, formatDate } from '../../../utils/formatters'; +import type { Chantier, Client, Facture, Devis } from '../../../types/btp'; + +interface ReportData { + chantiers: Chantier[]; + clients: Client[]; + factures: Facture[]; + devis: Devis[]; +} + +interface ChantierStats { + total: number; + planifies: number; + enCours: number; + termines: number; + annules: number; + enRetard: number; +} + +interface FinancialStats { + chiffreAffaires: number; + benefices: number; + facturesEnAttente: number; + devisEnAttente: number; + tauxReussite: number; +} + +const RapportsPage = () => { + const [reportData, setReportData] = useState({ + chantiers: [], + clients: [], + factures: [], + devis: [] + }); + const [loading, setLoading] = useState(true); + const [dateDebut, setDateDebut] = useState(new Date(new Date().getFullYear(), 0, 1)); + const [dateFin, setDateFin] = useState(new Date()); + const [selectedPeriod, setSelectedPeriod] = useState('annee'); + const [activeIndex, setActiveIndex] = useState(0); + const [chantierStats, setChantierStats] = useState({ + total: 0, + planifies: 0, + enCours: 0, + termines: 0, + annules: 0, + enRetard: 0 + }); + const [financialStats, setFinancialStats] = useState({ + chiffreAffaires: 0, + benefices: 0, + facturesEnAttente: 0, + devisEnAttente: 0, + tauxReussite: 0 + }); + const [chartData, setChartData] = useState({}); + const [chartOptions, setChartOptions] = useState({}); + const toast = useRef(null); + + const periodOptions = [ + { label: 'Cette semaine', value: 'semaine' }, + { label: 'Ce mois', value: 'mois' }, + { label: 'Ce trimestre', value: 'trimestre' }, + { label: 'Cette année', value: 'annee' }, + { label: 'Personnalisé', value: 'custom' } + ]; + + useEffect(() => { + loadReportData(); + }, [dateDebut, dateFin]); + + useEffect(() => { + calculateStats(); + generateChartData(); + }, [reportData]); + + const loadReportData = async () => { + try { + setLoading(true); + + // Simuler des données de rapport + const mockChantiers: Chantier[] = [ + { + id: '1', + nom: 'Résidence Les Palmiers', + description: 'Construction de 20 appartements', + adresse: '123 Rue des Palmiers, Abidjan', + dateDebut: new Date('2024-01-15'), + dateFinPrevue: new Date('2024-06-15'), + dateFinReelle: new Date('2024-06-20'), + statut: 'TERMINE', + montantPrevu: 850000, + montantReel: 820000, + actif: true, + client: { + id: '1', + nom: 'Kouassi', + prenom: 'Jean', + email: 'jean.kouassi@email.com', + telephone: '07 12 34 56 78', + adresse: '456 Rue de la Paix', + codePostal: '00225', + ville: 'Abidjan', + entreprise: 'Entreprise Kouassi', + dateCreation: new Date('2024-01-01'), + dateModification: new Date('2024-01-01'), + actif: true + } + }, + { + id: '2', + nom: 'Immeuble Commercial', + description: 'Bureaux commerciaux', + adresse: '789 Boulevard Principal, Abidjan', + dateDebut: new Date('2024-03-01'), + dateFinPrevue: new Date('2024-12-31'), + dateFinReelle: null, + statut: 'EN_COURS', + montantPrevu: 1200000, + montantReel: 600000, + actif: true, + client: { + id: '2', + nom: 'Traoré', + prenom: 'Fatou', + email: 'fatou.traore@email.com', + telephone: '07 98 76 54 32', + adresse: '321 Avenue du Commerce', + codePostal: '00225', + ville: 'Abidjan', + entreprise: 'Traoré SARL', + dateCreation: new Date('2024-02-01'), + dateModification: new Date('2024-02-01'), + actif: true + } + } + ]; + + setReportData({ + chantiers: mockChantiers, + clients: [], + factures: [], + devis: [] + }); + + } catch (error) { + console.error('Erreur lors du chargement des données:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les données', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const calculateStats = () => { + const { chantiers } = reportData; + + const stats: ChantierStats = { + total: chantiers.length, + planifies: chantiers.filter(c => c.statut === 'PLANIFIE').length, + enCours: chantiers.filter(c => c.statut === 'EN_COURS').length, + termines: chantiers.filter(c => c.statut === 'TERMINE').length, + annules: chantiers.filter(c => c.statut === 'ANNULE').length, + enRetard: chantiers.filter(c => { + if (!c.dateFinPrevue) return false; + const now = new Date(); + return new Date(c.dateFinPrevue) < now && c.statut !== 'TERMINE'; + }).length + }; + + setChantierStats(stats); + + const financialStats: FinancialStats = { + chiffreAffaires: chantiers.reduce((sum, c) => sum + (c.montantReel || 0), 0), + benefices: chantiers.reduce((sum, c) => sum + ((c.montantReel || 0) - (c.montantPrevu || 0)), 0), + facturesEnAttente: 0, + devisEnAttente: 0, + tauxReussite: Math.round((stats.termines / Math.max(stats.total, 1)) * 100) + }; + + setFinancialStats(financialStats); + }; + + const generateChartData = () => { + const { chantiers } = reportData; + + // Graphique en secteurs - Statuts des chantiers + const pieData = { + labels: ['Planifiés', 'En cours', 'Terminés', 'Annulés'], + datasets: [ + { + data: [ + chantierStats.planifies, + chantierStats.enCours, + chantierStats.termines, + chantierStats.annules + ], + backgroundColor: [ + '#3B82F6', + '#10B981', + '#6B7280', + '#EF4444' + ], + borderColor: [ + '#1D4ED8', + '#047857', + '#374151', + '#DC2626' + ], + borderWidth: 1 + } + ] + }; + + // Graphique en barres - Évolution mensuelle + const barData = { + labels: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc'], + datasets: [ + { + label: 'Chiffre d\'affaires', + data: [120000, 150000, 180000, 200000, 250000, 300000, 280000, 320000, 350000, 380000, 400000, 450000], + backgroundColor: '#3B82F6', + borderColor: '#1D4ED8', + borderWidth: 1 + }, + { + label: 'Bénéfices', + data: [20000, 25000, 30000, 35000, 40000, 45000, 42000, 48000, 52000, 55000, 58000, 62000], + backgroundColor: '#10B981', + borderColor: '#047857', + borderWidth: 1 + } + ] + }; + + setChartData({ pie: pieData, bar: barData }); + + const options = { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'bottom' + } + } + }; + + setChartOptions(options); + }; + + const onPeriodChange = (e: any) => { + setSelectedPeriod(e.value); + + const now = new Date(); + let debut = new Date(); + + switch (e.value) { + case 'semaine': + debut = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 7); + break; + case 'mois': + debut = new Date(now.getFullYear(), now.getMonth(), 1); + break; + case 'trimestre': + debut = new Date(now.getFullYear(), Math.floor(now.getMonth() / 3) * 3, 1); + break; + case 'annee': + debut = new Date(now.getFullYear(), 0, 1); + break; + default: + return; + } + + setDateDebut(debut); + setDateFin(now); + }; + + const exportPDF = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export PDF', + detail: 'Génération du rapport PDF...', + life: 3000 + }); + }; + + const exportExcel = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export Excel', + detail: 'Génération du rapport Excel...', + life: 3000 + }); + }; + + const leftToolbarTemplate = () => { + return ( +
+ + {selectedPeriod === 'custom' && ( + <> + setDateDebut(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date début" + /> + setDateFin(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date fin" + /> + + )} +
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const renderVueEnsemble = () => { + return ( +
+ {/* Indicateurs principaux */} +
+ +
+ +
+
+ {chantierStats.total} +
+
+ Chantiers Total +
+
+
+ +
+ +
+ +
+
+ {chantierStats.termines} +
+
+ Chantiers Terminés +
+
+
+ +
+ +
+ +
+
+ {chantierStats.enCours} +
+
+ En Cours +
+
+
+ +
+ +
+ +
+
+ {chantierStats.enRetard} +
+
+ En Retard +
+
+
+ + {/* Indicateurs financiers */} +
+ +
+
+
+
+ {formatCurrency(financialStats.chiffreAffaires)} +
+
+ Chiffre d'Affaires +
+
+
+
+
+
+ {formatCurrency(financialStats.benefices)} +
+
+ Bénéfices +
+
+
+
+
+
+ +
+ +
+ +
+ Projets Terminés avec Succès +
+
+
+
+ + {/* Graphiques */} +
+ + + +
+ +
+ + + +
+
+ ); + }; + + const renderRapportChantiers = () => { + return ( +
+
+ + + + rowData.client ? + `${rowData.client.prenom} ${rowData.client.nom}` : + 'Non défini' + } + /> + formatDate(rowData.dateDebut)} + sortable + /> + formatDate(rowData.dateFinPrevue)} + sortable + /> + ( + + )} + /> + formatCurrency(rowData.montantPrevu)} + sortable + /> + formatCurrency(rowData.montantReel || 0)} + sortable + /> + { + const progress = rowData.statut === 'TERMINE' ? 100 : + rowData.statut === 'EN_COURS' ? 50 : + rowData.statut === 'PLANIFIE' ? 0 : 0; + return ; + }} + /> + + +
+
+ ); + }; + + const renderRapportFinancier = () => { + return ( +
+
+ +
+
+ {formatCurrency(financialStats.chiffreAffaires)} +
+
+ Total des revenus +
+
+
+
+ +
+ +
+
+ {formatCurrency(financialStats.benefices)} +
+
+ Total des bénéfices +
+
+
+
+ +
+ +
+
+ {financialStats.chiffreAffaires > 0 ? + `${Math.round((financialStats.benefices / financialStats.chiffreAffaires) * 100)}%` : + '0%' + } +
+
+ Marge bénéficiaire +
+
+
+
+ +
+ + + + formatCurrency(rowData.montantPrevu)} + sortable + /> + formatCurrency(rowData.montantReel || 0)} + sortable + /> + { + const ecart = (rowData.montantReel || 0) - rowData.montantPrevu; + return ( + = 0 ? 'text-green-500' : 'text-red-500'}> + {formatCurrency(ecart)} + + ); + }} + /> + { + const rentabilite = rowData.montantPrevu > 0 ? + (((rowData.montantReel || 0) - rowData.montantPrevu) / rowData.montantPrevu * 100) : 0; + return ( + = 0 ? 'text-green-500' : 'text-red-500'}> + {rentabilite.toFixed(1)}% + + ); + }} + /> + + +
+
+ ); + }; + + return ( +
+
+ + + + + setActiveIndex(e.index)}> + + {renderVueEnsemble()} + + + + {renderRapportChantiers()} + + + + {renderRapportFinancier()} + + + +
+
+ ); +}; + +export default RapportsPage; \ No newline at end of file diff --git a/app/(main)/rapports/rentabilite/page.tsx b/app/(main)/rapports/rentabilite/page.tsx new file mode 100644 index 0000000..0197bf9 --- /dev/null +++ b/app/(main)/rapports/rentabilite/page.tsx @@ -0,0 +1,786 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Chart } from 'primereact/chart'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Dropdown } from 'primereact/dropdown'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { ProgressBar } from 'primereact/progressbar'; +import { Tag } from 'primereact/tag'; +import { InputText } from 'primereact/inputtext'; + +interface RentabiliteChantier { + id: string; + nom: string; + client: string; + dateDebut: Date; + dateFin?: Date; + statut: 'PLANIFIE' | 'EN_COURS' | 'TERMINE' | 'ANNULE'; + budgetInitial: number; + coutReel: number; + chiffreAffaires: number; + margeAbsolue: number; + margeRelative: number; + rentabilite: number; + tempsPrevu: number; + tempsReel: number; + efficaciteTempo: number; + risques: 'FAIBLE' | 'MOYEN' | 'ELEVE'; + phase: string; +} + +interface CoutCategorie { + categorie: string; + budgetPrevu: number; + coutReel: number; + ecart: number; + pourcentage: number; +} + +interface IndicateurPerformance { + nom: string; + valeur: number; + objectif: number; + unite: string; + tendance: 'HAUSSE' | 'BAISSE' | 'STABLE'; +} + +const RentabilitePage = () => { + const [loading, setLoading] = useState(true); + const [chantiers, setChantiers] = useState([]); + const [coutCategories, setCoutCategories] = useState([]); + const [indicateurs, setIndicateurs] = useState([]); + const [selectedChantiers, setSelectedChantiers] = useState([]); + const [dateDebut, setDateDebut] = useState(new Date(new Date().getFullYear(), 0, 1)); + const [dateFin, setDateFin] = useState(new Date()); + const [selectedPeriod, setSelectedPeriod] = useState('annee'); + const [globalFilter, setGlobalFilter] = useState(''); + const [activeIndex, setActiveIndex] = useState(0); + const toast = useRef(null); + const dt = useRef>(null); + + const periodOptions = [ + { label: 'Ce mois', value: 'mois' }, + { label: 'Ce trimestre', value: 'trimestre' }, + { label: 'Cette année', value: 'annee' }, + { label: 'Personnalisé', value: 'custom' } + ]; + + useEffect(() => { + loadRentabiliteData(); + }, [dateDebut, dateFin]); + + const loadRentabiliteData = async () => { + try { + setLoading(true); + + // Données mockées + const mockChantiers: RentabiliteChantier[] = [ + { + id: '1', + nom: 'Résidence Les Palmiers', + client: 'Kouassi Jean', + dateDebut: new Date('2024-01-15'), + dateFin: new Date('2024-06-20'), + statut: 'TERMINE', + budgetInitial: 800000, + coutReel: 750000, + chiffreAffaires: 950000, + margeAbsolue: 200000, + margeRelative: 21.05, + rentabilite: 26.67, + tempsPrevu: 150, + tempsReel: 155, + efficaciteTempo: 96.77, + risques: 'FAIBLE', + phase: 'Terminé' + }, + { + id: '2', + nom: 'Immeuble Commercial', + client: 'Traoré Fatou', + dateDebut: new Date('2024-03-01'), + statut: 'EN_COURS', + budgetInitial: 1200000, + coutReel: 600000, + chiffreAffaires: 700000, + margeAbsolue: 100000, + margeRelative: 14.29, + rentabilite: 16.67, + tempsPrevu: 300, + tempsReel: 180, + efficaciteTempo: 60.00, + risques: 'MOYEN', + phase: 'Gros œuvre' + }, + { + id: '3', + nom: 'Villa Moderne', + client: 'Diabaté Mamadou', + dateDebut: new Date('2024-04-10'), + statut: 'EN_COURS', + budgetInitial: 450000, + coutReel: 280000, + chiffreAffaires: 320000, + margeAbsolue: 40000, + margeRelative: 12.50, + rentabilite: 14.29, + tempsPrevu: 120, + tempsReel: 85, + efficaciteTempo: 70.83, + risques: 'ELEVE', + phase: 'Second œuvre' + }, + { + id: '4', + nom: 'Rénovation Bureau', + client: 'Koné Mariame', + dateDebut: new Date('2024-05-01'), + dateFin: new Date('2024-05-25'), + statut: 'TERMINE', + budgetInitial: 180000, + coutReel: 165000, + chiffreAffaires: 220000, + margeAbsolue: 55000, + margeRelative: 25.00, + rentabilite: 33.33, + tempsPrevu: 25, + tempsReel: 24, + efficaciteTempo: 104.17, + risques: 'FAIBLE', + phase: 'Terminé' + } + ]; + + const mockCoutCategories: CoutCategorie[] = [ + { categorie: 'Matériaux', budgetPrevu: 1500000, coutReel: 1420000, ecart: -80000, pourcentage: 45.2 }, + { categorie: 'Main d\'œuvre', budgetPrevu: 900000, coutReel: 950000, ecart: 50000, pourcentage: 30.3 }, + { categorie: 'Équipement', budgetPrevu: 400000, coutReel: 380000, ecart: -20000, pourcentage: 12.1 }, + { categorie: 'Transport', budgetPrevu: 200000, coutReel: 220000, ecart: 20000, pourcentage: 7.0 }, + { categorie: 'Autres', budgetPrevu: 180000, coutReel: 170000, ecart: -10000, pourcentage: 5.4 } + ]; + + const mockIndicateurs: IndicateurPerformance[] = [ + { nom: 'Marge moyenne', valeur: 18.71, objectif: 20.0, unite: '%', tendance: 'HAUSSE' }, + { nom: 'Délai respect', valeur: 85.5, objectif: 90.0, unite: '%', tendance: 'STABLE' }, + { nom: 'Efficacité coût', valeur: 92.3, objectif: 95.0, unite: '%', tendance: 'HAUSSE' }, + { nom: 'Satisfaction client', valeur: 88.0, objectif: 85.0, unite: '%', tendance: 'HAUSSE' } + ]; + + setChantiers(mockChantiers); + setCoutCategories(mockCoutCategories); + setIndicateurs(mockIndicateurs); + } catch (error) { + console.error('Erreur lors du chargement:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les données de rentabilité', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const onPeriodChange = (e: any) => { + setSelectedPeriod(e.value); + + const now = new Date(); + let debut = new Date(); + + switch (e.value) { + case 'mois': + debut = new Date(now.getFullYear(), now.getMonth(), 1); + break; + case 'trimestre': + debut = new Date(now.getFullYear(), Math.floor(now.getMonth() / 3) * 3, 1); + break; + case 'annee': + debut = new Date(now.getFullYear(), 0, 1); + break; + default: + return; + } + + setDateDebut(debut); + setDateFin(now); + }; + + const exportPDF = () => { + toast.current?.show({ + severity: 'info', + summary: 'Export PDF', + detail: 'Génération du rapport PDF...', + life: 3000 + }); + }; + + const exportExcel = () => { + dt.current?.exportCSV(); + }; + + const leftToolbarTemplate = () => { + return ( +
+ + {selectedPeriod === 'custom' && ( + <> + setDateDebut(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date début" + /> + setDateFin(e.value || new Date())} + dateFormat="dd/mm/yy" + placeholder="Date fin" + /> + + )} +
+ ); + }; + + const rightToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const formatCurrency = (amount: number) => { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR' + }).format(amount); + }; + + const statutBodyTemplate = (rowData: RentabiliteChantier) => { + let severity: "success" | "warning" | "danger" | "info" = 'info'; + let label = rowData.statut; + + switch (rowData.statut) { + case 'TERMINE': + severity = 'success'; + label = 'Terminé'; + break; + case 'EN_COURS': + severity = 'warning'; + label = 'En cours'; + break; + case 'PLANIFIE': + severity = 'info'; + label = 'Planifié'; + break; + case 'ANNULE': + severity = 'danger'; + label = 'Annulé'; + break; + } + + return ; + }; + + const risqueBodyTemplate = (rowData: RentabiliteChantier) => { + let severity: "success" | "warning" | "danger" = 'success'; + let label = rowData.risques; + + switch (rowData.risques) { + case 'FAIBLE': + severity = 'success'; + label = 'Faible'; + break; + case 'MOYEN': + severity = 'warning'; + label = 'Moyen'; + break; + case 'ELEVE': + severity = 'danger'; + label = 'Élevé'; + break; + } + + return ; + }; + + const margeBodyTemplate = (rowData: RentabiliteChantier) => { + const color = rowData.margeRelative >= 20 ? 'text-green-600' : + rowData.margeRelative >= 10 ? 'text-orange-600' : 'text-red-600'; + return {rowData.margeRelative.toFixed(2)}%; + }; + + const rentabiliteBodyTemplate = (rowData: RentabiliteChantier) => { + const color = rowData.rentabilite >= 25 ? 'text-green-600' : + rowData.rentabilite >= 15 ? 'text-orange-600' : 'text-red-600'; + return {rowData.rentabilite.toFixed(2)}%; + }; + + const efficaciteBodyTemplate = (rowData: RentabiliteChantier) => { + return ( +
+ = 95 ? '#10B981' : + rowData.efficaciteTempo >= 80 ? '#F59E0B' : '#EF4444'} + /> + {rowData.efficaciteTempo.toFixed(1)}% +
+ ); + }; + + const dateBodyTemplate = (rowData: RentabiliteChantier) => { + return rowData.dateDebut.toLocaleDateString('fr-FR'); + }; + + const header = ( +
+
Rentabilité des Chantiers
+ + + setGlobalFilter(e.currentTarget.value)} + /> + +
+ ); + + // Calculs pour les indicateurs globaux + const totalChiffreAffaires = chantiers.reduce((sum, c) => sum + c.chiffreAffaires, 0); + const totalCouts = chantiers.reduce((sum, c) => sum + c.coutReel, 0); + const margeGlobale = totalChiffreAffaires - totalCouts; + const tauxMargeGlobal = totalChiffreAffaires > 0 ? (margeGlobale / totalChiffreAffaires) * 100 : 0; + const nbChantiersRentables = chantiers.filter(c => c.rentabilite >= 15).length; + const tauxRentabilite = chantiers.length > 0 ? (nbChantiersRentables / chantiers.length) * 100 : 0; + + // Données pour les graphiques + const rentabiliteChartData = { + labels: chantiers.map(c => c.nom), + datasets: [ + { + label: 'Rentabilité (%)', + data: chantiers.map(c => c.rentabilite), + backgroundColor: chantiers.map(c => + c.rentabilite >= 25 ? '#10B981' : + c.rentabilite >= 15 ? '#F59E0B' : '#EF4444' + ), + borderColor: chantiers.map(c => + c.rentabilite >= 25 ? '#047857' : + c.rentabilite >= 15 ? '#D97706' : '#DC2626' + ), + borderWidth: 1 + } + ] + }; + + const coutRepartitionData = { + labels: coutCategories.map(c => c.categorie), + datasets: [ + { + data: coutCategories.map(c => c.pourcentage), + backgroundColor: ['#3B82F6', '#10B981', '#F59E0B', '#EF4444', '#8B5CF6'], + hoverBackgroundColor: ['#2563EB', '#059669', '#D97706', '#DC2626', '#7C3AED'] + } + ] + }; + + const chartOptions = { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + position: 'bottom' as const + } + } + }; + + return ( +
+
+ + + + + setActiveIndex(e.index)}> + +
+ {/* Indicateurs principaux */} +
+ +
+ +
+
+ {formatCurrency(margeGlobale)} +
+
+ Marge Globale +
+
+
+ +
+ +
+ +
+
+ {tauxMargeGlobal.toFixed(1)}% +
+
+ Taux de Marge +
+
+
+ +
+ +
+ +
+
+ {nbChantiersRentables}/{chantiers.length} +
+
+ Chantiers Rentables +
+
+
+ +
+ +
+ +
+
+ {tauxRentabilite.toFixed(1)}% +
+
+ Taux Rentabilité +
+
+
+ + {/* Indicateurs de performance */} +
+ +
+ {indicateurs.map((indicateur, index) => ( +
+
+
+ {indicateur.nom} + +
+ = indicateur.objectif ? '#10B981' : '#F59E0B'} + /> +
+ {indicateur.valeur}{indicateur.unite} + Obj: {indicateur.objectif}{indicateur.unite} +
+
+
+ ))} +
+
+
+ + {/* Graphiques */} +
+ + + +
+ +
+ + + +
+
+
+ + +
+
+ + setSelectedChantiers(e.value)} + dataKey="id" + paginator + rows={10} + rowsPerPageOptions={[5, 10, 25]} + className="datatable-responsive" + paginatorTemplate="FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown" + currentPageReportTemplate="Affichage de {first} à {last} sur {totalRecords} chantiers" + globalFilter={globalFilter} + emptyMessage="Aucun chantier trouvé." + header={header} + loading={loading} + > + + + + + + + formatCurrency(rowData.budgetInitial)} + sortable + /> + formatCurrency(rowData.coutReel)} + sortable + /> + formatCurrency(rowData.chiffreAffaires)} + sortable + /> + formatCurrency(rowData.margeAbsolue)} + sortable + /> + + + + + + +
+
+
+ + +
+
+ + + + formatCurrency(rowData.budgetPrevu)} + sortable + /> + formatCurrency(rowData.coutReel)} + sortable + /> + ( + = 0 ? 'text-red-500' : 'text-green-500'}> + {formatCurrency(rowData.ecart)} + + )} + sortable + /> + `${rowData.pourcentage.toFixed(1)}%`} + sortable + /> + { + const performance = rowData.budgetPrevu > 0 ? + ((rowData.budgetPrevu - rowData.coutReel) / rowData.budgetPrevu) * 100 : 0; + return ( +
+ = 0 ? '#10B981' : '#EF4444'} + /> + = 0 ? 'text-green-500' : 'text-red-500'}> + {performance >= 0 ? 'Économie' : 'Dépassement'}: {Math.abs(performance).toFixed(1)}% + +
+ ); + }} + /> +
+
+
+ +
+ + + +
+ +
+ + c.categorie), + datasets: [ + { + label: 'Budget Prévu', + data: coutCategories.map(c => c.budgetPrevu), + backgroundColor: '#3B82F6', + borderColor: '#1D4ED8', + borderWidth: 1 + }, + { + label: 'Coût Réel', + data: coutCategories.map(c => c.coutReel), + backgroundColor: '#EF4444', + borderColor: '#DC2626', + borderWidth: 1 + } + ] + }} + options={{ + ...chartOptions, + scales: { + y: { + beginAtZero: true, + ticks: { + callback: function(value: any) { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(value); + } + } + } + } + }} + style={{ height: '400px' }} + /> + +
+
+
+
+
+
+
+ ); +}; + +export default RentabilitePage; \ No newline at end of file diff --git a/app/(main)/stock/commandes/page.tsx b/app/(main)/stock/commandes/page.tsx new file mode 100644 index 0000000..1b7f67a --- /dev/null +++ b/app/(main)/stock/commandes/page.tsx @@ -0,0 +1,839 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Button } from 'primereact/button'; +import { InputText } from 'primereact/inputtext'; +import { Card } from 'primereact/card'; +import { Dialog } from 'primereact/dialog'; +import { Toast } from 'primereact/toast'; +import { Toolbar } from 'primereact/toolbar'; +import { Tag } from 'primereact/tag'; +import { InputNumber } from 'primereact/inputnumber'; +import { Dropdown } from 'primereact/dropdown'; +import { Calendar } from 'primereact/calendar'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { confirmDialog } from 'primereact/confirmdialog'; +import { ConfirmDialog } from 'primereact/confirmdialog'; + +interface OrderItem { + id: string; + reference: string; + nom: string; + quantiteCommandee: number; + quantiteRecue: number; + prixUnitaire: number; + total: number; + unite: string; +} + +interface Order { + id: string; + numero: string; + fournisseur: string; + dateCommande: Date; + dateLivraison?: Date; + statut: 'BROUILLON' | 'ENVOYEE' | 'CONFIRMEE' | 'PARTIELLE' | 'LIVREE' | 'ANNULEE'; + priorite: 'NORMALE' | 'URGENTE' | 'CRITIQUE'; + montantTotal: number; + items: OrderItem[]; + commentaires: string; + adresseLivraison: string; + responsable: string; +} + +const CommandesPage = () => { + const [orders, setOrders] = useState([]); + const [selectedOrders, setSelectedOrders] = useState([]); + const [loading, setLoading] = useState(true); + const [globalFilter, setGlobalFilter] = useState(''); + const [orderDialog, setOrderDialog] = useState(false); + const [itemDialog, setItemDialog] = useState(false); + const [deleteOrderDialog, setDeleteOrderDialog] = useState(false); + const [order, setOrder] = useState({ + id: '', + numero: '', + fournisseur: '', + dateCommande: new Date(), + statut: 'BROUILLON', + priorite: 'NORMALE', + montantTotal: 0, + items: [], + commentaires: '', + adresseLivraison: '', + responsable: '' + }); + const [currentItem, setCurrentItem] = useState({ + id: '', + reference: '', + nom: '', + quantiteCommandee: 0, + quantiteRecue: 0, + prixUnitaire: 0, + total: 0, + unite: 'unité' + }); + const [submitted, setSubmitted] = useState(false); + const toast = useRef(null); + const dt = useRef>(null); + + const fournisseurs = [ + { label: 'Lafarge', value: 'lafarge' }, + { label: 'Bosch', value: 'bosch' }, + { label: 'Protecta', value: 'protecta' }, + { label: 'Leroy Merlin', value: 'leroy-merlin' }, + { label: 'Castorama', value: 'castorama' } + ]; + + const priorites = [ + { label: 'Normale', value: 'NORMALE' }, + { label: 'Urgente', value: 'URGENTE' }, + { label: 'Critique', value: 'CRITIQUE' } + ]; + + const statuts = [ + { label: 'Brouillon', value: 'BROUILLON' }, + { label: 'Envoyée', value: 'ENVOYEE' }, + { label: 'Confirmée', value: 'CONFIRMEE' }, + { label: 'Partielle', value: 'PARTIELLE' }, + { label: 'Livrée', value: 'LIVREE' }, + { label: 'Annulée', value: 'ANNULEE' } + ]; + + const unites = [ + { label: 'Unité', value: 'unité' }, + { label: 'Mètre', value: 'm' }, + { label: 'Mètre carré', value: 'm²' }, + { label: 'Kilogramme', value: 'kg' }, + { label: 'Litre', value: 'l' }, + { label: 'Sac', value: 'sac' }, + { label: 'Palette', value: 'palette' } + ]; + + useEffect(() => { + loadOrders(); + }, []); + + useEffect(() => { + // Recalculer le total de la commande quand les items changent + const total = order.items.reduce((sum, item) => sum + item.total, 0); + setOrder(prev => ({ ...prev, montantTotal: total })); + }, [order.items]); + + const loadOrders = async () => { + try { + setLoading(true); + + // Données mockées + const mockOrders: Order[] = [ + { + id: '1', + numero: 'CMD-2024-001', + fournisseur: 'lafarge', + dateCommande: new Date('2024-01-15'), + dateLivraison: new Date('2024-01-22'), + statut: 'LIVREE', + priorite: 'NORMALE', + montantTotal: 1275.00, + items: [ + { + id: '1', + reference: 'CIM-001', + nom: 'Ciment Portland', + quantiteCommandee: 150, + quantiteRecue: 150, + prixUnitaire: 8.50, + total: 1275.00, + unite: 'sac' + } + ], + commentaires: 'Livraison urgente pour chantier Dupont', + adresseLivraison: '123 Rue du Chantier, 75001 Paris', + responsable: 'Jean Martin' + }, + { + id: '2', + numero: 'CMD-2024-002', + fournisseur: 'bosch', + dateCommande: new Date('2024-01-20'), + statut: 'CONFIRMEE', + priorite: 'URGENTE', + montantTotal: 600.00, + items: [ + { + id: '2', + reference: 'OUT-002', + nom: 'Perceuse électrique', + quantiteCommandee: 5, + quantiteRecue: 0, + prixUnitaire: 120.00, + total: 600.00, + unite: 'unité' + } + ], + commentaires: 'Renouvellement outillage équipe', + adresseLivraison: 'Entrepôt A, Zone Industrielle', + responsable: 'Marie Dubois' + }, + { + id: '3', + numero: 'CMD-2024-003', + fournisseur: 'protecta', + dateCommande: new Date(), + statut: 'BROUILLON', + priorite: 'CRITIQUE', + montantTotal: 500.00, + items: [ + { + id: '3', + reference: 'SEC-003', + nom: 'Casque de sécurité', + quantiteCommandee: 20, + quantiteRecue: 0, + prixUnitaire: 25.00, + total: 500.00, + unite: 'unité' + } + ], + commentaires: 'Commande urgente EPI', + adresseLivraison: 'Bureau central', + responsable: 'Pierre Durand' + } + ]; + + setOrders(mockOrders); + } catch (error) { + console.error('Erreur lors du chargement:', error); + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: 'Impossible de charger les commandes', + life: 3000 + }); + } finally { + setLoading(false); + } + }; + + const openNew = () => { + setOrder({ + id: '', + numero: '', + fournisseur: '', + dateCommande: new Date(), + statut: 'BROUILLON', + priorite: 'NORMALE', + montantTotal: 0, + items: [], + commentaires: '', + adresseLivraison: '', + responsable: '' + }); + setSubmitted(false); + setOrderDialog(true); + }; + + const hideDialog = () => { + setSubmitted(false); + setOrderDialog(false); + }; + + const hideItemDialog = () => { + setSubmitted(false); + setItemDialog(false); + }; + + const hideDeleteOrderDialog = () => { + setDeleteOrderDialog(false); + }; + + const saveOrder = () => { + setSubmitted(true); + + if (order.fournisseur && order.responsable && order.items.length > 0) { + let updatedOrders = [...orders]; + + if (order.id) { + // Mise à jour + const index = orders.findIndex(o => o.id === order.id); + updatedOrders[index] = order; + + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Commande mise à jour', + life: 3000 + }); + } else { + // Création + const newOrder = { + ...order, + id: Date.now().toString(), + numero: `CMD-${new Date().getFullYear()}-${String(orders.length + 1).padStart(3, '0')}` + }; + updatedOrders.push(newOrder); + + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Commande créée', + life: 3000 + }); + } + + setOrders(updatedOrders); + setOrderDialog(false); + } + }; + + const editOrder = (order: Order) => { + setOrder({ ...order }); + setOrderDialog(true); + }; + + const confirmDeleteOrder = (order: Order) => { + setOrder(order); + setDeleteOrderDialog(true); + }; + + const deleteOrder = () => { + const updatedOrders = orders.filter(o => o.id !== order.id); + setOrders(updatedOrders); + setDeleteOrderDialog(false); + toast.current?.show({ + severity: 'success', + summary: 'Succès', + detail: 'Commande supprimée', + life: 3000 + }); + }; + + const sendOrder = (order: Order) => { + const updatedOrders = orders.map(o => + o.id === order.id + ? { ...o, statut: 'ENVOYEE' as const } + : o + ); + setOrders(updatedOrders); + + toast.current?.show({ + severity: 'info', + summary: 'Commande envoyée', + detail: `Commande ${order.numero} envoyée au fournisseur`, + life: 3000 + }); + }; + + const receiveOrder = (order: Order) => { + const updatedOrders = orders.map(o => + o.id === order.id + ? { + ...o, + statut: 'LIVREE' as const, + dateLivraison: new Date(), + items: o.items.map(item => ({ ...item, quantiteRecue: item.quantiteCommandee })) + } + : o + ); + setOrders(updatedOrders); + + toast.current?.show({ + severity: 'success', + summary: 'Commande réceptionnée', + detail: `Commande ${order.numero} réceptionnée`, + life: 3000 + }); + }; + + const addItem = () => { + setCurrentItem({ + id: '', + reference: '', + nom: '', + quantiteCommandee: 0, + quantiteRecue: 0, + prixUnitaire: 0, + total: 0, + unite: 'unité' + }); + setSubmitted(false); + setItemDialog(true); + }; + + const saveItem = () => { + setSubmitted(true); + + if (currentItem.nom && currentItem.quantiteCommandee > 0 && currentItem.prixUnitaire > 0) { + const item = { + ...currentItem, + id: currentItem.id || Date.now().toString(), + total: currentItem.quantiteCommandee * currentItem.prixUnitaire + }; + + let updatedItems = [...order.items]; + + if (currentItem.id) { + // Mise à jour + const index = order.items.findIndex(i => i.id === currentItem.id); + updatedItems[index] = item; + } else { + // Ajout + updatedItems.push(item); + } + + setOrder({ ...order, items: updatedItems }); + setItemDialog(false); + } + }; + + const editItem = (item: OrderItem) => { + setCurrentItem({ ...item }); + setItemDialog(true); + }; + + const deleteItem = (itemId: string) => { + const updatedItems = order.items.filter(i => i.id !== itemId); + setOrder({ ...order, items: updatedItems }); + }; + + const exportCSV = () => { + dt.current?.exportCSV(); + }; + + const leftToolbarTemplate = () => { + return ( +
+
+ ); + }; + + const rightToolbarTemplate = () => { + return ( + + + + + + +
+
Severities
+
+
+
+ +
+
Text
+
+
+
+ +
+
Outlined
+
+
+
+ +
+
Button Group
+ +
+ +
+
SplitButton
+
+ + + + + +
+
+ +
+
Template
+
+ + + +
+
+ + +
+
+
Icons
+
+ + + +
+
+ +
+
Raised
+
+
+
+ +
+
Rounded
+
+
+
+ +
+
Rounded Icons
+
+
+
+ +
+
Rounded Text
+
+
+
+ +
+
Rounded Outlined
+
+
+
+ +
+
Loading
+
+
+
+
+ + ); +}; + +export default ButtonDemo; diff --git a/app/(main)/uikit/charts/page.tsx b/app/(main)/uikit/charts/page.tsx new file mode 100644 index 0000000..763a013 --- /dev/null +++ b/app/(main)/uikit/charts/page.tsx @@ -0,0 +1,283 @@ +'use client'; +import { ChartData, ChartOptions } from 'chart.js'; +import { Chart } from 'primereact/chart'; +import React, { useContext, useEffect, useState } from 'react'; +import { LayoutContext } from '../../../../layout/context/layoutcontext'; +import type { ChartDataState, ChartOptionsState } from '@/types'; + +const ChartDemo = () => { + const [options, setOptions] = useState({}); + const [data, setChartData] = useState({}); + const { layoutConfig } = useContext(LayoutContext); + + useEffect(() => { + const documentStyle = getComputedStyle(document.documentElement); + const textColor = documentStyle.getPropertyValue('--text-color') || '#495057'; + const textColorSecondary = documentStyle.getPropertyValue('--text-color-secondary') || '#6c757d'; + const surfaceBorder = documentStyle.getPropertyValue('--surface-border') || '#dee2e6'; + const barData: ChartData = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [ + { + label: 'My First dataset', + backgroundColor: documentStyle.getPropertyValue('--primary-500') || '#2196f3', + borderColor: documentStyle.getPropertyValue('--primary-500') || '#2196f3', + data: [65, 59, 80, 81, 56, 55, 40] + }, + { + label: 'My Second dataset', + backgroundColor: documentStyle.getPropertyValue('--primary-200') || '#a0d2fa', + borderColor: documentStyle.getPropertyValue('--primary-200') || '#a0d2fa', + data: [28, 48, 40, 19, 86, 27, 90] + } + ] + }; + + const barOptions: ChartOptions = { + plugins: { + legend: { + labels: { + color: textColor + } + } + }, + scales: { + x: { + ticks: { + color: textColorSecondary, + font: { + weight: '500' + } + }, + grid: { + display: false + }, + border: { + display: false + } + }, + y: { + ticks: { + color: textColorSecondary + }, + grid: { + color: surfaceBorder + }, + border: { + display: false + } + } + } + }; + + const pieData: ChartData = { + labels: ['A', 'B', 'C'], + datasets: [ + { + data: [540, 325, 702], + backgroundColor: [documentStyle.getPropertyValue('--indigo-500') || '#3f51b5', documentStyle.getPropertyValue('--purple-500') || '#9c27b0', documentStyle.getPropertyValue('--teal-500') || '#009688'], + hoverBackgroundColor: [documentStyle.getPropertyValue('--indigo-400') || '#6372c3', documentStyle.getPropertyValue('--purple-400') || '#af50bf', documentStyle.getPropertyValue('--teal-400') || '#30aa9f'] + } + ] + }; + + const pieOptions: ChartOptions = { + plugins: { + legend: { + labels: { + usePointStyle: true, + color: textColor + } + } + } + }; + + const lineData: ChartData = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [ + { + label: 'First Dataset', + data: [65, 59, 80, 81, 56, 55, 40], + fill: false, + backgroundColor: documentStyle.getPropertyValue('--primary-500') || '#2196f3', + borderColor: documentStyle.getPropertyValue('--primary-500') || '#2196f3', + tension: 0.4 + }, + { + label: 'Second Dataset', + data: [28, 48, 40, 19, 86, 27, 90], + fill: false, + backgroundColor: documentStyle.getPropertyValue('--primary-200') || '#a0d2fa', + borderColor: documentStyle.getPropertyValue('--primary-200') || '#a0d2fa', + tension: 0.4 + } + ] + }; + + const lineOptions: ChartOptions = { + plugins: { + legend: { + labels: { + color: textColor + } + } + }, + scales: { + x: { + ticks: { + color: textColorSecondary + }, + grid: { + color: surfaceBorder + }, + border: { + display: false + } + }, + y: { + ticks: { + color: textColorSecondary + }, + grid: { + color: surfaceBorder + }, + border: { + display: false + } + } + } + }; + + const polarData: ChartData = { + datasets: [ + { + data: [11, 16, 7, 3], + backgroundColor: [ + documentStyle.getPropertyValue('--indigo-500') || '#3f51b5', + documentStyle.getPropertyValue('--purple-500') || '#9c27b0', + documentStyle.getPropertyValue('--teal-500') || '#009688', + documentStyle.getPropertyValue('--orange-500') || '#f57c00' + ], + label: 'My dataset' + } + ], + labels: ['Indigo', 'Purple', 'Teal', 'Orange'] + }; + + const polarOptions: ChartOptions = { + plugins: { + legend: { + labels: { + color: textColor + } + } + }, + scales: { + r: { + grid: { + color: surfaceBorder + } + } + } + }; + + const radarData: ChartData = { + labels: ['Eating', 'Drinking', 'Sleeping', 'Designing', 'Coding', 'Cycling', 'Running'], + datasets: [ + { + label: 'My First dataset', + borderColor: documentStyle.getPropertyValue('--indigo-400') || '#6372c3', + pointBackgroundColor: documentStyle.getPropertyValue('--indigo-400') || '#6372c3', + pointBorderColor: documentStyle.getPropertyValue('--indigo-400') || '#6372c3', + pointHoverBackgroundColor: textColor, + pointHoverBorderColor: documentStyle.getPropertyValue('--indigo-400') || '#6372c3', + data: [65, 59, 90, 81, 56, 55, 40] + }, + { + label: 'My Second dataset', + borderColor: documentStyle.getPropertyValue('--purple-400') || '#af50bf', + pointBackgroundColor: documentStyle.getPropertyValue('--purple-400') || '#af50bf', + pointBorderColor: documentStyle.getPropertyValue('--purple-400') || '#af50bf', + pointHoverBackgroundColor: textColor, + pointHoverBorderColor: documentStyle.getPropertyValue('--purple-400') || '#af50bf', + data: [28, 48, 40, 19, 96, 27, 100] + } + ] + }; + + const radarOptions: ChartOptions = { + plugins: { + legend: { + labels: { + color: textColor + } + } + }, + scales: { + r: { + grid: { + color: textColorSecondary + } + } + } + }; + + setOptions({ + barOptions, + pieOptions, + lineOptions, + polarOptions, + radarOptions + }); + setChartData({ + barData, + pieData, + lineData, + polarData, + radarData + }); + }, [layoutConfig]); + + return ( +
+
+
+
Linear Chart
+ +
+
+
+
+
Bar Chart
+ +
+
+
+
+
Pie Chart
+ +
+
+
+
+
Doughnut Chart
+ +
+
+
+
+
Polar Area Chart
+ +
+
+
+
+
Radar Chart
+ +
+
+
+ ); +}; + +export default ChartDemo; diff --git a/app/(main)/uikit/file/page.tsx b/app/(main)/uikit/file/page.tsx new file mode 100644 index 0000000..9dd41f9 --- /dev/null +++ b/app/(main)/uikit/file/page.tsx @@ -0,0 +1,35 @@ +'use client'; + +import React, { useRef } from 'react'; +import { FileUpload } from 'primereact/fileupload'; +import { Toast } from 'primereact/toast'; + +const FileDemo = () => { + const toast = useRef(null); + + const onUpload = () => { + toast.current?.show({ + severity: 'info', + summary: 'Success', + detail: 'File Uploaded', + life: 3000 + }); + }; + + return ( +
+ +
+
+
Advanced
+ + +
Basic
+ +
+
+
+ ); +}; + +export default FileDemo; diff --git a/app/(main)/uikit/floatlabel/page.tsx b/app/(main)/uikit/floatlabel/page.tsx new file mode 100644 index 0000000..52e6038 --- /dev/null +++ b/app/(main)/uikit/floatlabel/page.tsx @@ -0,0 +1,148 @@ +'use client'; +import type { Demo } from '@/types'; +import { AutoComplete, AutoCompleteCompleteEvent } from 'primereact/autocomplete'; +import { Calendar } from 'primereact/calendar'; +import { Chips } from 'primereact/chips'; +import { Dropdown } from 'primereact/dropdown'; +import { InputMask } from 'primereact/inputmask'; +import { InputNumber } from 'primereact/inputnumber'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { MultiSelect } from 'primereact/multiselect'; +import { useEffect, useState } from 'react'; +import { CountryService } from '../../../../demo/service/CountryService'; + +const FloatLabelDemo = () => { + const [countries, setCountries] = useState([]); + const [filteredCountries, setFilteredCountries] = useState([]); + const [value1, setValue1] = useState(''); + const [value2, setValue2] = useState(null); + const [value3, setValue3] = useState(''); + const [value4, setValue4] = useState(''); + const [value5, setValue5] = useState(null); + const [value6, setValue6] = useState([]); + const [value7, setValue7] = useState(''); + const [value8, setValue8] = useState(null); + const [value9, setValue9] = useState(''); + const [value10, setValue10] = useState(null); + const [value11, setValue11] = useState(null); + const [value12, setValue12] = useState(''); + + const cities = [ + { name: 'New York', code: 'NY' }, + { name: 'Rome', code: 'RM' }, + { name: 'London', code: 'LDN' }, + { name: 'Istanbul', code: 'IST' }, + { name: 'Paris', code: 'PRS' } + ]; + + useEffect(() => { + CountryService.getCountries().then((countries) => { + setCountries(countries); + }); + }, []); + + const searchCountry = (event: AutoCompleteCompleteEvent) => { + const filtered = []; + const query = event.query; + for (let i = 0; i < countries.length; i++) { + const country = countries[i]; + if (country.name.toLowerCase().indexOf(query.toLowerCase()) === 0) { + filtered.push(country); + } + } + setFilteredCountries(filtered); + }; + + return ( +
+
Float Label
+

+ All input text components support floating labels by adding (.p-float-label) to wrapper class. +

+
+
+ + setValue1(e.target.value)} /> + + +
+
+ + setValue2(e.value)} suggestions={filteredCountries} completeMethod={searchCountry} field="name"> + + +
+
+ + + setValue3(e.target.value)} /> + + +
+
+ + + setValue4(e.target.value)} /> + + +
+
+ + setValue5(e.value ?? '')}> + + +
+
+ + setValue6(e.value ?? [])}> + + +
+
+ + setValue7(e.value ?? '')}> + + +
+
+ + setValue8(e.target.value ?? null)}> + + +
+
+
+ + + + + setValue9(e.target.value)} /> + + +
+
+
+ + setValue10(e.value)} optionLabel="name"> + + +
+
+ + setValue11(e.value)} optionLabel="name"> + + +
+
+ + setValue12(e.target.value)}> + + +
+
+
+ ); +}; + +export default FloatLabelDemo; diff --git a/app/(main)/uikit/formlayout/page.tsx b/app/(main)/uikit/formlayout/page.tsx new file mode 100644 index 0000000..01e9805 --- /dev/null +++ b/app/(main)/uikit/formlayout/page.tsx @@ -0,0 +1,148 @@ +'use client'; + +import React, { useState, useEffect, useMemo } from 'react'; +import { InputText } from 'primereact/inputtext'; +import { Button } from 'primereact/button'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { Dropdown } from 'primereact/dropdown'; + +interface DropdownItem { + name: string; + code: string; +} + +const FormLayoutDemo = () => { + const [dropdownItem, setDropdownItem] = useState(null); + const dropdownItems: DropdownItem[] = useMemo( + () => [ + { name: 'Option 1', code: 'Option 1' }, + { name: 'Option 2', code: 'Option 2' }, + { name: 'Option 3', code: 'Option 3' } + ], + [] + ); + + useEffect(() => { + setDropdownItem(dropdownItems[0]); + }, [dropdownItems]); + + return ( +
+
+
+
Vertical
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
Vertical Grid
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+
Horizontal
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
Inline
+
+
+ + +
+
+ + +
+ +
+
+ +
+
Help Text
+
+ + + Enter your username to reset your password. +
+
+
+ +
+
+
Advanced
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + setDropdownItem(e.value)} options={dropdownItems} optionLabel="name" placeholder="Select One"> +
+
+ + +
+
+
+
+
+ ); +}; + +export default FormLayoutDemo; diff --git a/app/(main)/uikit/input/page.tsx b/app/(main)/uikit/input/page.tsx new file mode 100644 index 0000000..363ebaf --- /dev/null +++ b/app/(main)/uikit/input/page.tsx @@ -0,0 +1,352 @@ +'use client'; +import type { Demo, Page } from '@/types'; +import { AutoComplete, AutoCompleteCompleteEvent } from 'primereact/autocomplete'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Checkbox, CheckboxChangeEvent } from 'primereact/checkbox'; +import { Chips } from 'primereact/chips'; +import { ColorPicker, ColorPickerHSBType, ColorPickerRGBType } from 'primereact/colorpicker'; +import { Dropdown } from 'primereact/dropdown'; +import { InputNumber } from 'primereact/inputnumber'; +import { InputSwitch } from 'primereact/inputswitch'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { Knob } from 'primereact/knob'; +import { ListBox } from 'primereact/listbox'; +import { MultiSelect } from 'primereact/multiselect'; +import { RadioButton } from 'primereact/radiobutton'; +import { Rating } from 'primereact/rating'; +import { SelectButton } from 'primereact/selectbutton'; +import { Slider } from 'primereact/slider'; +import { ToggleButton } from 'primereact/togglebutton'; +import { useEffect, useState } from 'react'; +import { CountryService } from '../../../../demo/service/CountryService'; + +interface InputValue { + name: string; + code: string; +} + +const InputDemo: Page = () => { + const [floatValue, setFloatValue] = useState(''); + const [autoValue, setAutoValue] = useState([]); + const [selectedAutoValue, setSelectedAutoValue] = useState(null); + const [autoFilteredValue, setAutoFilteredValue] = useState([]); + const [calendarValue, setCalendarValue] = useState(null); + const [inputNumberValue, setInputNumberValue] = useState(null); + const [chipsValue, setChipsValue] = useState([]); + const [sliderValue, setSliderValue] = useState(''); + const [ratingValue, setRatingValue] = useState(null); + const [colorValue, setColorValue] = useState('1976D2'); + const [knobValue, setKnobValue] = useState(20); + const [radioValue, setRadioValue] = useState(null); + const [checkboxValue, setCheckboxValue] = useState([]); + const [switchValue, setSwitchValue] = useState(false); + const [listboxValue, setListboxValue] = useState(null); + const [dropdownValue, setDropdownValue] = useState(null); + const [multiselectValue, setMultiselectValue] = useState(null); + const [toggleValue, setToggleValue] = useState(false); + const [selectButtonValue1, setSelectButtonValue1] = useState(null); + const [selectButtonValue2, setSelectButtonValue2] = useState(null); + const [inputGroupValue, setInputGroupValue] = useState(false); + + const listboxValues: InputValue[] = [ + { name: 'New York', code: 'NY' }, + { name: 'Rome', code: 'RM' }, + { name: 'London', code: 'LDN' }, + { name: 'Istanbul', code: 'IST' }, + { name: 'Paris', code: 'PRS' } + ]; + + const dropdownValues: InputValue[] = [ + { name: 'New York', code: 'NY' }, + { name: 'Rome', code: 'RM' }, + { name: 'London', code: 'LDN' }, + { name: 'Istanbul', code: 'IST' }, + { name: 'Paris', code: 'PRS' } + ]; + + const multiselectValues: InputValue[] = [ + { name: 'Australia', code: 'AU' }, + { name: 'Brazil', code: 'BR' }, + { name: 'China', code: 'CN' }, + { name: 'Egypt', code: 'EG' }, + { name: 'France', code: 'FR' }, + { name: 'Germany', code: 'DE' }, + { name: 'India', code: 'IN' }, + { name: 'Japan', code: 'JP' }, + { name: 'Spain', code: 'ES' }, + { name: 'United States', code: 'US' } + ]; + + const selectButtonValues1: InputValue[] = [ + { name: 'Option 1', code: 'O1' }, + { name: 'Option 2', code: 'O2' }, + { name: 'Option 3', code: 'O3' } + ]; + + const selectButtonValues2: InputValue[] = [ + { name: 'Option 1', code: 'O1' }, + { name: 'Option 2', code: 'O2' }, + { name: 'Option 3', code: 'O3' } + ]; + + useEffect(() => { + CountryService.getCountries().then((data) => setAutoValue(data)); + }, []); + + const searchCountry = (event: AutoCompleteCompleteEvent) => { + setTimeout(() => { + if (!event.query.trim().length) { + setAutoFilteredValue([...autoValue]); + } else { + setAutoFilteredValue( + autoValue.filter((country) => { + return country.name.toLowerCase().startsWith(event.query.toLowerCase()); + }) + ); + } + }, 250); + }; + + const onCheckboxChange = (e: CheckboxChangeEvent) => { + let selectedValue = [...checkboxValue]; + if (e.checked) selectedValue.push(e.value); + else selectedValue.splice(selectedValue.indexOf(e.value), 1); + + setCheckboxValue(selectedValue); + }; + + const itemTemplate = (option: InputValue) => { + return ( +
+ {option.name} (e.currentTarget.src = 'https://www.primefaces.org/wp-content/uploads/2020/05/placeholder.png')} + className={`flag flag-${option.code.toLowerCase()}`} + style={{ width: '21px' }} + /> + {option.name} +
+ ); + }; + + return ( +
+
+
+
InputText
+
+
+ +
+
+ +
+
+ +
+
+ +
Icons
+
+
+ + + + +
+
+ + + + +
+
+ + + + + +
+
+ +
Float Label
+ + setFloatValue(e.target.value)} /> + + + +
Textarea
+ + +
AutoComplete
+ setSelectedAutoValue(e.value)} suggestions={autoFilteredValue} completeMethod={searchCountry} field="name" /> + +
Calendar
+ setCalendarValue(e.value ?? null)} /> + +
InputNumber
+ setInputNumberValue(e.value ?? null)} showButtons mode="decimal"> + +
Chips
+ setChipsValue(e.value ?? [])} /> +
+ +
+
+
+
Slider
+ setSliderValue(parseInt(e.target.value, 10))} /> + setSliderValue(e.value as number)} /> +
+
+
Rating
+ setRatingValue(e.value ?? 0)} /> +
+
+
ColorPicker
+ setColorValue(e.value ?? '')} style={{ width: '2rem' }} /> +
+
+
Knob
+ setKnobValue(e.value)} step={10} min={-50} max={50} /> +
+
+
+
+ +
+
+
RadioButton
+
+
+
+ setRadioValue(e.value)} /> + +
+
+
+
+ setRadioValue(e.value)} /> + +
+
+
+
+ setRadioValue(e.value)} /> + +
+
+
+ +
Checkbox
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
Input Switch
+ setSwitchValue(e.value ?? false)} /> +
+ +
+
Listbox
+ setListboxValue(e.value)} options={listboxValues} optionLabel="name" filter /> + +
Dropdown
+ setDropdownValue(e.value)} options={dropdownValues} optionLabel="name" placeholder="Select" /> + +
MultiSelect
+ setMultiselectValue(e.value)} + options={multiselectValues} + itemTemplate={itemTemplate} + optionLabel="name" + placeholder="Select Countries" + filter + className="multiselect-custom" + display="chip" + /> +
+ +
+
ToggleButton
+ setToggleValue(e.value)} onLabel="Yes" offLabel="No" /> + +
SelectButton
+ setSelectButtonValue1(e.value)} options={selectButtonValues1} optionLabel="name" /> + +
SelectButton - Multiple
+ setSelectButtonValue2(e.value)} options={selectButtonValues2} optionLabel="name" multiple /> +
+
+ +
+
+
Input Groups
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + $ + .00 +
+
+ +
+
+
+
+ +
+
+ + setInputGroupValue(e.checked ?? false)} /> + + +
+
+
+
+
+
+ ); +}; + +export default InputDemo; diff --git a/app/(main)/uikit/invalidstate/page.tsx b/app/(main)/uikit/invalidstate/page.tsx new file mode 100644 index 0000000..a2f0567 --- /dev/null +++ b/app/(main)/uikit/invalidstate/page.tsx @@ -0,0 +1,117 @@ +'use client'; + +import type { Demo } from '@/types'; +import { AutoComplete, AutoCompleteCompleteEvent } from 'primereact/autocomplete'; +import { Calendar } from 'primereact/calendar'; +import { Chips } from 'primereact/chips'; +import { Dropdown } from 'primereact/dropdown'; +import { InputMask } from 'primereact/inputmask'; +import { InputNumber } from 'primereact/inputnumber'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; +import { MultiSelect } from 'primereact/multiselect'; +import { Password } from 'primereact/password'; +import { useEffect, useState } from 'react'; +import { CountryService } from '../../../../demo/service/CountryService'; + +const InvalidStateDemo = () => { + const [countries, setCountries] = useState([]); + const [filteredCountries, setFilteredCountries] = useState([]); + const [value1, setValue1] = useState(''); + const [value2, setValue2] = useState(null); + const [value3, setValue3] = useState(null); + const [value4, setValue4] = useState([]); + const [value5, setValue5] = useState(''); + const [value6, setValue6] = useState(''); + const [value7, setValue7] = useState(0); + const [value8, setValue8] = useState(null); + const [value9, setValue9] = useState(null); + const [value10, setValue10] = useState(''); + + const cities = [ + { name: 'New York', code: 'NY' }, + { name: 'Rome', code: 'RM' }, + { name: 'London', code: 'LDN' }, + { name: 'Istanbul', code: 'IST' }, + { name: 'Paris', code: 'PRS' } + ]; + + useEffect(() => { + CountryService.getCountries().then((countries) => { + setCountries(countries); + }); + }, []); + + const searchCountry = (event: AutoCompleteCompleteEvent) => { + // in a real application, make a request to a remote url with the query and + // return filtered results, for demo we filter at client side + const filtered = []; + const query = event.query; + for (let i = 0; i < countries.length; i++) { + const country = countries[i]; + if (country.name.toLowerCase().indexOf(query.toLowerCase()) === 0) { + filtered.push(country); + } + } + setFilteredCountries(filtered); + }; + + const onCalendarChange = (e: any) => { + setValue3(e.value!); + }; + + return ( +
+
Invalid State
+
+
+
+ + setValue1(e.target.value)} className="p-invalid" /> +
+
+ + setValue2(e.value)} suggestions={filteredCountries} completeMethod={searchCountry} field="name" className="p-invalid" /> +
+
+ + +
+
+ + setValue4(e.value ?? [])} className="p-invalid" /> +
+
+ + setValue5(e.target.value)} className="p-invalid" /> +
+
+ +
+
+ + setValue6(e.value ?? '')} className="p-invalid" /> +
+
+ + setValue7(e.target.value ?? 0)} className="p-invalid" /> +
+
+ + setValue8(e.value)} optionLabel="name" className="p-invalid" /> +
+
+ + setValue9(e.value)} optionLabel="name" className="p-invalid" /> +
+
+ + setValue10(e.target.value)} className="p-invalid" /> +
+
+
+
+ ); +}; + +export default InvalidStateDemo; diff --git a/app/(main)/uikit/list/page.tsx b/app/(main)/uikit/list/page.tsx new file mode 100644 index 0000000..31e24b5 --- /dev/null +++ b/app/(main)/uikit/list/page.tsx @@ -0,0 +1,192 @@ +'use client'; + +import React, { useState, useEffect } from 'react'; +import { DataView, DataViewLayoutOptions } from 'primereact/dataview'; +import { Button } from 'primereact/button'; +import { Dropdown, DropdownChangeEvent } from 'primereact/dropdown'; +import { Rating } from 'primereact/rating'; +import { PickList } from 'primereact/picklist'; +import { OrderList } from 'primereact/orderlist'; +import { ProductService } from '../../../../demo/service/ProductService'; +import { InputText } from 'primereact/inputtext'; +import type { Demo } from '@/types'; + +const ListDemo = () => { + const listValue = [ + { name: 'San Francisco', code: 'SF' }, + { name: 'London', code: 'LDN' }, + { name: 'Paris', code: 'PRS' }, + { name: 'Istanbul', code: 'IST' }, + { name: 'Berlin', code: 'BRL' }, + { name: 'Barcelona', code: 'BRC' }, + { name: 'Rome', code: 'RM' } + ]; + + const [picklistSourceValue, setPicklistSourceValue] = useState(listValue); + const [picklistTargetValue, setPicklistTargetValue] = useState([]); + const [orderlistValue, setOrderlistValue] = useState(listValue); + const [dataViewValue, setDataViewValue] = useState([]); + const [globalFilterValue, setGlobalFilterValue] = useState(''); + const [filteredValue, setFilteredValue] = useState(null); + const [layout, setLayout] = useState<'grid' | 'list' | (string & Record)>('grid'); + const [sortKey, setSortKey] = useState(null); + const [sortOrder, setSortOrder] = useState<0 | 1 | -1 | null>(null); + const [sortField, setSortField] = useState(''); + + const sortOptions = [ + { label: 'Price High to Low', value: '!price' }, + { label: 'Price Low to High', value: 'price' } + ]; + + useEffect(() => { + ProductService.getProducts().then((data) => setDataViewValue(data)); + setGlobalFilterValue(''); + }, []); + + useEffect(() => { + ProductService.getProducts().then((data) => setDataViewValue(data)); + setGlobalFilterValue(''); + }, []); + + const onFilter = (e: React.ChangeEvent) => { + const value = e.target.value; + setGlobalFilterValue(value); + if (value.length === 0) { + setFilteredValue(null); + } else { + const filtered = dataViewValue?.filter((product) => { + const productNameLowercase = product.name.toLowerCase(); + const searchValueLowercase = value.toLowerCase(); + return productNameLowercase.includes(searchValueLowercase); + }); + + setFilteredValue(filtered); + } + }; + + const onSortChange = (event: DropdownChangeEvent) => { + const value = event.value; + + if (value.indexOf('!') === 0) { + setSortOrder(-1); + setSortField(value.substring(1, value.length)); + setSortKey(value); + } else { + setSortOrder(1); + setSortField(value); + setSortKey(value); + } + }; + + const dataViewHeader = ( +
+ + + + + + setLayout(e.value)} /> +
+ ); + + const dataviewListItem = (data: Demo.Product) => { + return ( +
+
+ {data.name} +
+
{data.name}
+
{data.description}
+ +
+ + {data.category} +
+
+
+ ${data.price} + + {data.inventoryStatus} +
+
+
+ ); + }; + + const dataviewGridItem = (data: Demo.Product) => { + return ( +
+
+
+
+ + {data.category} +
+ {data.inventoryStatus} +
+
+ {data.name} +
{data.name}
+
{data.description}
+ +
+
+ ${data.price} +
+
+
+ ); + }; + + const itemTemplate = (data: Demo.Product, layout: 'grid' | 'list' | (string & Record)) => { + if (!data) { + return; + } + + if (layout === 'list') { + return dataviewListItem(data); + } else if (layout === 'grid') { + return dataviewGridItem(data); + } + }; + + return ( +
+
+
+
DataView
+ +
+
+ +
+
+
PickList
+
{item.name}
} + onChange={(e) => { + setPicklistSourceValue(e.source); + setPicklistTargetValue(e.target); + }} + sourceStyle={{ height: '200px' }} + targetStyle={{ height: '200px' }} + >
+
+
+ +
+
+
OrderList
+
{item.name}
} onChange={(e) => setOrderlistValue(e.value)}>
+
+
+
+ ); +}; + +export default ListDemo; diff --git a/app/(main)/uikit/media/page.tsx b/app/(main)/uikit/media/page.tsx new file mode 100644 index 0000000..2305073 --- /dev/null +++ b/app/(main)/uikit/media/page.tsx @@ -0,0 +1,109 @@ +'use client'; + +import { Button } from 'primereact/button'; +import { Carousel } from 'primereact/carousel'; +import { Galleria } from 'primereact/galleria'; +import { Image } from 'primereact/image'; +import React, { useEffect, useState } from 'react'; +import { PhotoService } from '../../../../demo/service/PhotoService'; +import { ProductService } from '../../../../demo/service/ProductService'; +import type { Demo } from '@/types'; + +const MediaDemo = () => { + const [products, setProducts] = useState([]); + const [images, setImages] = useState([]); + + const galleriaResponsiveOptions = [ + { + breakpoint: '1024px', + numVisible: 5 + }, + { + breakpoint: '960px', + numVisible: 4 + }, + { + breakpoint: '768px', + numVisible: 3 + }, + { + breakpoint: '560px', + numVisible: 1 + } + ]; + const carouselResponsiveOptions = [ + { + breakpoint: '1024px', + numVisible: 3, + numScroll: 3 + }, + { + breakpoint: '768px', + numVisible: 2, + numScroll: 2 + }, + { + breakpoint: '560px', + numVisible: 1, + numScroll: 1 + } + ]; + + useEffect(() => { + ProductService.getProductsSmall().then((products) => setProducts(products)); + + PhotoService.getImages().then((images) => setImages(images)); + }, []); + + const carouselItemTemplate = (product: Demo.Product) => { + return ( +
+
+ {product.name} +
+
+

{product.name}

+
${product.price}
+ {product.inventoryStatus} +
+ + + +
+
+
+ ); + }; + + const galleriaItemTemplate = (item: Demo.Photo) => {item.alt}; + const galleriaThumbnailTemplate = (item: Demo.Photo) => {item.alt}; + + return ( +
+
+
+
Carousel
+ +
+
+ +
+
+
Image
+
+ Image +
+
+
+ +
+
+
Galleria
+ +
+
+
+ ); +}; + +export default MediaDemo; diff --git a/app/(main)/uikit/menu/confirmation/page.tsx b/app/(main)/uikit/menu/confirmation/page.tsx new file mode 100644 index 0000000..8b5b8d2 --- /dev/null +++ b/app/(main)/uikit/menu/confirmation/page.tsx @@ -0,0 +1,16 @@ +'use client'; + +import React from 'react'; +import Menu from '../page'; +function ConfirmationDemo() { + return ( + +
+ +

Confirmation Component Content via Child Route

+
+
+ ); +} + +export default ConfirmationDemo; diff --git a/app/(main)/uikit/menu/page.tsx b/app/(main)/uikit/menu/page.tsx new file mode 100644 index 0000000..c49836b --- /dev/null +++ b/app/(main)/uikit/menu/page.tsx @@ -0,0 +1,584 @@ +'use client'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { Menubar } from 'primereact/menubar'; +import { InputText } from 'primereact/inputtext'; +import { BreadCrumb } from 'primereact/breadcrumb'; +import { Steps } from 'primereact/steps'; +import { TabMenu } from 'primereact/tabmenu'; +import { TieredMenu } from 'primereact/tieredmenu'; +import { Menu } from 'primereact/menu'; +import { Button } from 'primereact/button'; +import { ContextMenu } from 'primereact/contextmenu'; +import { MegaMenu } from 'primereact/megamenu'; +import { PanelMenu } from 'primereact/panelmenu'; +import { useRouter } from 'next/navigation'; +import { usePathname } from 'next/navigation'; + +const MenuDemo = ({ children }: any) => { + const [activeIndex, setActiveIndex] = useState(0); + const menu = useRef(null); + const contextMenu = useRef(null); + const router = useRouter(); + const pathname = usePathname(); + + const checkActiveIndex = useCallback(() => { + const paths = pathname.split('/'); + const currentPath = paths[paths.length - 1]; + + switch (currentPath) { + case 'seat': + setActiveIndex(1); + break; + case 'payment': + setActiveIndex(2); + break; + case 'confirmation': + setActiveIndex(3); + break; + default: + break; + } + }, [pathname]); + + useEffect(() => { + checkActiveIndex(); + }, [checkActiveIndex]); + + const nestedMenuitems = [ + { + label: 'Customers', + icon: 'pi pi-fw pi-table', + items: [ + { + label: 'New', + icon: 'pi pi-fw pi-user-plus', + items: [ + { + label: 'Customer', + icon: 'pi pi-fw pi-plus' + }, + { + label: 'Duplicate', + icon: 'pi pi-fw pi-copy' + } + ] + }, + { + label: 'Edit', + icon: 'pi pi-fw pi-user-edit' + } + ] + }, + { + label: 'Orders', + icon: 'pi pi-fw pi-shopping-cart', + items: [ + { + label: 'View', + icon: 'pi pi-fw pi-list' + }, + { + label: 'Search', + icon: 'pi pi-fw pi-search' + } + ] + }, + { + label: 'Shipments', + icon: 'pi pi-fw pi-envelope', + items: [ + { + label: 'Tracker', + icon: 'pi pi-fw pi-compass' + }, + { + label: 'Map', + icon: 'pi pi-fw pi-map-marker' + }, + { + label: 'Manage', + icon: 'pi pi-fw pi-pencil' + } + ] + }, + { + label: 'Profile', + icon: 'pi pi-fw pi-user', + items: [ + { + label: 'Settings', + icon: 'pi pi-fw pi-cog' + }, + { + label: 'Billing', + icon: 'pi pi-fw pi-file' + } + ] + }, + { + label: 'Quit', + icon: 'pi pi-fw pi-sign-out' + } + ]; + + const breadcrumbHome = { icon: 'pi pi-home', to: '/' }; + const breadcrumbItems = [{ label: 'Computer' }, { label: 'Notebook' }, { label: 'Accessories' }, { label: 'Backpacks' }, { label: 'Item' }]; + + const wizardItems = [ + { label: 'Personal', command: () => router.push('/uikit/menu') }, + { label: 'Seat', command: () => router.push('/uikit/menu/seat') }, + { label: 'Payment', command: () => router.push('/uikit/menu/payment') }, + { + label: 'Confirmation', + command: () => router.push('/uikit/menu/confirmation') + } + ]; + + const tieredMenuItems = [ + { + label: 'Customers', + icon: 'pi pi-fw pi-table', + items: [ + { + label: 'New', + icon: 'pi pi-fw pi-user-plus', + items: [ + { + label: 'Customer', + icon: 'pi pi-fw pi-plus' + }, + { + label: 'Duplicate', + icon: 'pi pi-fw pi-copy' + } + ] + }, + { + label: 'Edit', + icon: 'pi pi-fw pi-user-edit' + } + ] + }, + { + label: 'Orders', + icon: 'pi pi-fw pi-shopping-cart', + items: [ + { + label: 'View', + icon: 'pi pi-fw pi-list' + }, + { + label: 'Search', + icon: 'pi pi-fw pi-search' + } + ] + }, + { + label: 'Shipments', + icon: 'pi pi-fw pi-envelope', + items: [ + { + label: 'Tracker', + icon: 'pi pi-fw pi-compass' + }, + { + label: 'Map', + icon: 'pi pi-fw pi-map-marker' + }, + { + label: 'Manage', + icon: 'pi pi-fw pi-pencil' + } + ] + }, + { + label: 'Profile', + icon: 'pi pi-fw pi-user', + items: [ + { + label: 'Settings', + icon: 'pi pi-fw pi-cog' + }, + { + label: 'Billing', + icon: 'pi pi-fw pi-file' + } + ] + }, + { + separator: true + }, + { + label: 'Quit', + icon: 'pi pi-fw pi-sign-out' + } + ]; + + const overlayMenuItems = [ + { + label: 'Save', + icon: 'pi pi-save' + }, + { + label: 'Update', + icon: 'pi pi-refresh' + }, + { + label: 'Delete', + icon: 'pi pi-trash' + }, + { + separator: true + }, + { + label: 'Home', + icon: 'pi pi-home' + } + ]; + + const menuitems = [ + { + label: 'Customers', + items: [ + { + label: 'New', + icon: 'pi pi-fw pi-plus' + }, + { + label: 'Edit', + icon: 'pi pi-fw pi-user-edit' + } + ] + }, + { + label: 'Orders', + items: [ + { + label: 'View', + icon: 'pi pi-fw pi-list' + }, + { + label: 'Search', + icon: 'pi pi-fw pi-search' + } + ] + } + ]; + + const contextMenuItems = [ + { + label: 'Save', + icon: 'pi pi-save' + }, + { + label: 'Update', + icon: 'pi pi-refresh' + }, + { + label: 'Delete', + icon: 'pi pi-trash' + }, + { + separator: true + }, + { + label: 'Options', + icon: 'pi pi-cog' + } + ]; + + const megamenuItems = [ + { + label: 'Fashion', + icon: 'pi pi-fw pi-tag', + items: [ + [ + { + label: 'Woman', + items: [{ label: 'Woman Item' }, { label: 'Woman Item' }, { label: 'Woman Item' }] + }, + { + label: 'Men', + items: [{ label: 'Men Item' }, { label: 'Men Item' }, { label: 'Men Item' }] + } + ], + [ + { + label: 'Kids', + items: [{ label: 'Kids Item' }, { label: 'Kids Item' }] + }, + { + label: 'Luggage', + items: [{ label: 'Luggage Item' }, { label: 'Luggage Item' }, { label: 'Luggage Item' }] + } + ] + ] + }, + { + label: 'Electronics', + icon: 'pi pi-fw pi-desktop', + items: [ + [ + { + label: 'Computer', + items: [{ label: 'Computer Item' }, { label: 'Computer Item' }] + }, + { + label: 'Camcorder', + items: [{ label: 'Camcorder Item' }, { label: 'Camcorder Item' }, { label: 'Camcorder Item' }] + } + ], + [ + { + label: 'TV', + items: [{ label: 'TV Item' }, { label: 'TV Item' }] + }, + { + label: 'Audio', + items: [{ label: 'Audio Item' }, { label: 'Audio Item' }, { label: 'Audio Item' }] + } + ], + [ + { + label: 'Sports.7', + items: [{ label: 'Sports.7.1' }, { label: 'Sports.7.2' }] + } + ] + ] + }, + { + label: 'Furniture', + icon: 'pi pi-fw pi-image', + items: [ + [ + { + label: 'Living Room', + items: [{ label: 'Living Room Item' }, { label: 'Living Room Item' }] + }, + { + label: 'Kitchen', + items: [{ label: 'Kitchen Item' }, { label: 'Kitchen Item' }, { label: 'Kitchen Item' }] + } + ], + [ + { + label: 'Bedroom', + items: [{ label: 'Bedroom Item' }, { label: 'Bedroom Item' }] + }, + { + label: 'Outdoor', + items: [{ label: 'Outdoor Item' }, { label: 'Outdoor Item' }, { label: 'Outdoor Item' }] + } + ] + ] + }, + { + label: 'Sports', + icon: 'pi pi-fw pi-star', + items: [ + [ + { + label: 'Basketball', + items: [{ label: 'Basketball Item' }, { label: 'Basketball Item' }] + }, + { + label: 'Football', + items: [{ label: 'Football Item' }, { label: 'Football Item' }, { label: 'Football Item' }] + } + ], + [ + { + label: 'Tennis', + items: [{ label: 'Tennis Item' }, { label: 'Tennis Item' }] + } + ] + ] + } + ]; + + const panelMenuitems = [ + { + label: 'Customers', + icon: 'pi pi-fw pi-table', + items: [ + { + label: 'New', + icon: 'pi pi-fw pi-user-plus', + items: [ + { + label: 'Customer', + icon: 'pi pi-fw pi-plus' + }, + { + label: 'Duplicate', + icon: 'pi pi-fw pi-copy' + } + ] + }, + { + label: 'Edit', + icon: 'pi pi-fw pi-user-edit' + } + ] + }, + { + label: 'Orders', + icon: 'pi pi-fw pi-shopping-cart', + items: [ + { + label: 'View', + icon: 'pi pi-fw pi-list' + }, + { + label: 'Search', + icon: 'pi pi-fw pi-search' + } + ] + }, + { + label: 'Shipments', + icon: 'pi pi-fw pi-envelope', + items: [ + { + label: 'Tracker', + icon: 'pi pi-fw pi-compass' + }, + { + label: 'Map', + icon: 'pi pi-fw pi-map-marker' + }, + { + label: 'Manage', + icon: 'pi pi-fw pi-pencil' + } + ] + }, + { + label: 'Profile', + icon: 'pi pi-fw pi-user', + items: [ + { + label: 'Settings', + icon: 'pi pi-fw pi-cog' + }, + { + label: 'Billing', + icon: 'pi pi-fw pi-file' + } + ] + } + ]; + + const toggleMenu = (event: React.MouseEvent) => { + menu.current?.toggle(event); + }; + + const onContextRightClick = (event: React.MouseEvent) => { + contextMenu.current?.show(event); + }; + + const menubarEndTemplate = () => { + return ( + + + + + ); + }; + + return ( +
+
+
+
Menubar
+ +
+
+ +
+
+
Breadcrumb
+ +
+
+ +
+
+
Steps
+ setActiveIndex(e.index)} readOnly={false} /> + {pathname === '/uikit/menu' ? ( +
+ +

Personal Component Content via Child Route

+
+ ) : ( + <>{children} + )} +
+
+ +
+
+
TabMenu
+ setActiveIndex(e.index)} /> + {pathname === '/uikit/menu' ? ( +
+ +

Personal Component Content via Child Route

+
+ ) : ( + <>{children} + )} +
+
+ +
+
+
Tiered Menu
+ +
+
+ +
+
+
Plain Menu
+ +
+
+ +
+
+
Overlay Menu
+ + +
+ +
+
ContextMenu
+ Right click to display. + +
+
+ +
+
+
MegaMenu - Horizontal
+ + +
MegaMenu - Vertical
+ +
+
+ +
+
+
PanelMenu
+ +
+
+
+ ); +}; + +export default MenuDemo; diff --git a/app/(main)/uikit/menu/payment/page.tsx b/app/(main)/uikit/menu/payment/page.tsx new file mode 100644 index 0000000..4f19d0b --- /dev/null +++ b/app/(main)/uikit/menu/payment/page.tsx @@ -0,0 +1,15 @@ +'use client'; +import React from 'react'; +import Menu from '../page'; +function PaymentDemo() { + return ( + +
+ +

Payment Component Content via Child Route

+
+
+ ); +} + +export default PaymentDemo; diff --git a/app/(main)/uikit/menu/seat/page.tsx b/app/(main)/uikit/menu/seat/page.tsx new file mode 100644 index 0000000..a4dd25c --- /dev/null +++ b/app/(main)/uikit/menu/seat/page.tsx @@ -0,0 +1,16 @@ +'use client'; + +import React from 'react'; +import Menu from '../page'; +function SeatDemo() { + return ( + +
+ +

Seat Component Content via Child Route

+
+
+ ); +} + +export default SeatDemo; diff --git a/app/(main)/uikit/message/page.tsx b/app/(main)/uikit/message/page.tsx new file mode 100644 index 0000000..772cb85 --- /dev/null +++ b/app/(main)/uikit/message/page.tsx @@ -0,0 +1,131 @@ +'use client'; +import React, { useRef, useState } from 'react'; +import { Toast } from 'primereact/toast'; +import { Messages } from 'primereact/messages'; +import { Message } from 'primereact/message'; +import { InputText } from 'primereact/inputtext'; +import { Button } from 'primereact/button'; + +const MessagesDemo = () => { + const [username, setUsername] = useState(''); + const [email, setEmail] = useState(''); + const toast = useRef(null); + const message = useRef(null); + + const addSuccessMessage = () => { + message.current?.show({ severity: 'success', content: 'Message Detail' }); + }; + + const addInfoMessage = () => { + message.current?.show({ severity: 'info', content: 'Message Detail' }); + }; + + const addWarnMessage = () => { + message.current?.show({ severity: 'warn', content: 'Message Detail' }); + }; + + const addErrorMessage = () => { + message.current?.show({ severity: 'error', content: 'Message Detail' }); + }; + + const showSuccess = () => { + toast.current?.show({ + severity: 'success', + summary: 'Success Message', + detail: 'Message Detail', + life: 3000 + }); + }; + + const showInfo = () => { + toast.current?.show({ + severity: 'info', + summary: 'Info Message', + detail: 'Message Detail', + life: 3000 + }); + }; + + const showWarn = () => { + toast.current?.show({ + severity: 'warn', + summary: 'Warn Message', + detail: 'Message Detail', + life: 3000 + }); + }; + + const showError = () => { + toast.current?.show({ + severity: 'error', + summary: 'Error Message', + detail: 'Message Detail', + life: 3000 + }); + }; + + return ( +
+
+
+
Toast
+
+ +
+
+
+ +
+
+
Messages
+
+
+ +
+
+ +
+
+
Inline
+
+ + setUsername(e.target.value)} required className="p-invalid" /> + +
+
+ + setEmail(e.target.value)} required className="p-invalid" /> + +
+
+
+ +
+
+
Help Text
+
+ + + + Enter your username to reset your password. + +
+
+
+
+ ); +}; + +export default MessagesDemo; diff --git a/app/(main)/uikit/misc/page.tsx b/app/(main)/uikit/misc/page.tsx new file mode 100644 index 0000000..92c72d8 --- /dev/null +++ b/app/(main)/uikit/misc/page.tsx @@ -0,0 +1,220 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { ProgressBar } from 'primereact/progressbar'; +import { Button } from 'primereact/button'; +import { Badge } from 'primereact/badge'; +import { Tag } from 'primereact/tag'; +import { Avatar } from 'primereact/avatar'; +import { AvatarGroup } from 'primereact/avatargroup'; +import { Chip } from 'primereact/chip'; +import { Skeleton } from 'primereact/skeleton'; +import { ScrollPanel } from 'primereact/scrollpanel'; +import { ScrollTop } from 'primereact/scrolltop'; + +const MiscDemo = () => { + const [value, setValue] = useState(0); + const intervalRef = useRef(null); + + useEffect(() => { + const interval = setInterval(() => { + setValue((prevValue) => { + const newVal = prevValue + Math.floor(Math.random() * 10) + 1; + return newVal >= 100 ? 100 : newVal; + }); + }, 2000); + + intervalRef.current = interval; + + return () => { + clearInterval(intervalRef.current as NodeJS.Timeout); + intervalRef.current = null; + }; + }, []); + + return ( +
+
+
+
ProgressBar
+
+
+ +
+
+ +
+
+
+
+
+
+

Badge

+
Numbers
+
+ + + + + +
+ +
Positioned Badge
+
+ + + + + + + + + +
+ +
Button Badge
+
+ + +
+
Sizes
+
+ + + +
+
+ +
+

Avatar

+
Avatar Group
+ + + + + + + + + +
Label - Circle
+
+ + + +
+ +
Icon - Badge
+ + + +
+ +
+

ScrollTop

+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae et leo duis ut diam. Ultricies mi quis hendrerit dolor magna eget est lorem. Amet + consectetur adipiscing elit ut. Nam libero justo laoreet sit amet. Pharetra massa massa ultricies mi quis hendrerit dolor magna. Est ultricies integer quis auctor elit sed vulputate. Consequat ac felis donec et. Tellus + orci ac auctor augue mauris. Semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a. Tincidunt arcu non sodales neque sodales. Metus aliquam eleifend mi in nulla posuere sollicitudin aliquam ultrices. Sodales ut + etiam sit amet nisl purus. Cursus sit amet dictum sit amet. Tristique senectus et netus et malesuada fames ac turpis egestas. Et tortor consequat id porta nibh venenatis cras sed. Diam maecenas ultricies mi eget mauris. + Eget egestas purus viverra accumsan in nisl nisi. Suscipit adipiscing bibendum est ultricies integer. Mattis aliquam faucibus purus in massa tempor nec. +

+ +
+
+
+
+
+

Tag

+
Tags
+
+ + + + + +
+ +
Pills
+
+ + + + + +
+ +
Icons
+
+ + + + + +
+
+ +
+

Chip

+
Basic
+
+ + + + +
+ +
Icon
+
+ + + + +
+ +
Image
+
+ + + + +
+ +
Styling
+
+ + + + +
+
+ +
+

Skeleton

+
+
+ +
+ + + +
+
+ +
+ + +
+
+
+
+
+ ); +}; + +export default MiscDemo; diff --git a/app/(main)/uikit/overlay/page.tsx b/app/(main)/uikit/overlay/page.tsx new file mode 100644 index 0000000..22af4da --- /dev/null +++ b/app/(main)/uikit/overlay/page.tsx @@ -0,0 +1,222 @@ +'use client'; + +import { Button } from 'primereact/button'; +import { Column } from 'primereact/column'; +import { confirmPopup, ConfirmPopup } from 'primereact/confirmpopup'; +import { DataTable, DataTableSelectEvent } from 'primereact/datatable'; +import { Dialog } from 'primereact/dialog'; +import { InputText } from 'primereact/inputtext'; +import { OverlayPanel } from 'primereact/overlaypanel'; +import { Sidebar } from 'primereact/sidebar'; +import { Toast } from 'primereact/toast'; +import React, { useEffect, useRef, useState } from 'react'; +import { ProductService } from '../../../../demo/service/ProductService'; +import type { Demo } from '@/types'; + +type ButtonEvent = React.MouseEvent; +const OverlayDemo = () => { + const [displayBasic, setDisplayBasic] = useState(false); + const [displayConfirmation, setDisplayConfirmation] = useState(false); + const [visibleLeft, setVisibleLeft] = useState(false); + const [visibleRight, setVisibleRight] = useState(false); + const [visibleTop, setVisibleTop] = useState(false); + const [visibleBottom, setVisibleBottom] = useState(false); + const [visibleFullScreen, setVisibleFullScreen] = useState(false); + const [products, setProducts] = useState([]); + const [selectedProduct, setSelectedProduct] = useState(null); + const op = useRef(null); + const op2 = useRef(null); + const toast = useRef(null); + + const accept = () => { + toast.current?.show({ + severity: 'info', + summary: 'Confirmed', + detail: 'You have accepted', + life: 3000 + }); + }; + + const reject = () => { + toast.current?.show({ + severity: 'error', + summary: 'Rejected', + detail: 'You have rejected', + life: 3000 + }); + }; + + const confirm = (event: React.MouseEvent) => { + confirmPopup({ + target: event.currentTarget, + message: 'Are you sure you want to proceed?', + icon: 'pi pi-exclamation-triangle', + accept, + reject + }); + }; + + useEffect(() => { + ProductService.getProductsSmall().then((data) => setProducts(data)); + }, []); + + const toggle = (event: ButtonEvent) => { + op.current?.toggle(event); + }; + + const toggleDataTable = (event: ButtonEvent) => { + op2.current?.toggle(event); + }; + + const formatCurrency = (value: number) => { + return value.toLocaleString('en-US', { + style: 'currency', + currency: 'USD' + }); + }; + + const onProductSelect = (event: DataTableSelectEvent) => { + op2.current?.hide(); + toast.current?.show({ + severity: 'info', + summary: 'Product Selected', + detail: event.data.name, + life: 3000 + }); + }; + + const onSelectionChange = (e: any): void => { + setSelectedProduct(e.value as Demo.Product); + }; + + const basicDialogFooter = + + + + + ); +}; + +export default OverlayDemo; diff --git a/app/(main)/uikit/panel/page.tsx b/app/(main)/uikit/panel/page.tsx new file mode 100644 index 0000000..a751530 --- /dev/null +++ b/app/(main)/uikit/panel/page.tsx @@ -0,0 +1,233 @@ +'use client'; + +import React, { useRef } from 'react'; +import { Toolbar } from 'primereact/toolbar'; +import { Button } from 'primereact/button'; +import { SplitButton } from 'primereact/splitbutton'; +import { Accordion, AccordionTab } from 'primereact/accordion'; +import { TabView, TabPanel } from 'primereact/tabview'; +import { Panel } from 'primereact/panel'; +import { Fieldset } from 'primereact/fieldset'; +import { Card } from 'primereact/card'; +import { Divider } from 'primereact/divider'; +import { InputText } from 'primereact/inputtext'; +import { Splitter, SplitterPanel } from 'primereact/splitter'; +import { Menu } from 'primereact/menu'; + +const PanelDemo = () => { + const menu1 = useRef(null); + const toolbarItems = [ + { + label: 'Save', + icon: 'pi pi-check' + }, + { + label: 'Update', + icon: 'pi pi-sync' + }, + { + label: 'Delete', + icon: 'pi pi-trash' + }, + { + label: 'Home Page', + icon: 'pi pi-home' + } + ]; + + const toolbarLeftTemplate = () => { + return ( + <> + + + +
+ + OR + +
+
+

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. + Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi. +

+ + + Badge + + +

+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt + in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo + minus. +

+ + + + + +

+ Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut + reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Donec vel volutpat ipsum. Integer nunc magna, posuere ut tincidunt eget, egestas vitae sapien. Morbi dapibus luctus odio. +

+
+ + + + +
+
+
Splitter
+ + +
Panel 1
+
+ + + +
Panel 2
+
+ +
Panel 3
+
+
+
+
+
+
+ + ); +}; + +export default PanelDemo; diff --git a/app/(main)/uikit/table/page.tsx b/app/(main)/uikit/table/page.tsx new file mode 100644 index 0000000..cb39906 --- /dev/null +++ b/app/(main)/uikit/table/page.tsx @@ -0,0 +1,464 @@ +'use client'; +import { CustomerService } from '../../../../demo/service/CustomerService'; +import { ProductService } from '../../../../demo/service/ProductService'; +import { FilterMatchMode, FilterOperator } from 'primereact/api'; +import { Button } from 'primereact/button'; +import { Calendar } from 'primereact/calendar'; +import { Column, ColumnFilterApplyTemplateOptions, ColumnFilterClearTemplateOptions, ColumnFilterElementTemplateOptions } from 'primereact/column'; +import { DataTable, DataTableExpandedRows, DataTableFilterMeta } from 'primereact/datatable'; +import { Dropdown } from 'primereact/dropdown'; +import { InputNumber } from 'primereact/inputnumber'; +import { InputText } from 'primereact/inputtext'; +import { MultiSelect } from 'primereact/multiselect'; +import { ProgressBar } from 'primereact/progressbar'; +import { Rating } from 'primereact/rating'; +import { Slider } from 'primereact/slider'; +import { ToggleButton } from 'primereact/togglebutton'; +import { TriStateCheckbox } from 'primereact/tristatecheckbox'; +import { classNames } from 'primereact/utils'; +import React, { useEffect, useState } from 'react'; +import type { Demo } from '@/types'; + +const TableDemo = () => { + const [customers1, setCustomers1] = useState([]); + const [customers2, setCustomers2] = useState([]); + const [customers3, setCustomers3] = useState([]); + const [filters1, setFilters1] = useState({}); + const [loading1, setLoading1] = useState(true); + const [loading2, setLoading2] = useState(true); + const [idFrozen, setIdFrozen] = useState(false); + const [products, setProducts] = useState([]); + const [globalFilterValue1, setGlobalFilterValue1] = useState(''); + const [expandedRows, setExpandedRows] = useState([]); + const [allExpanded, setAllExpanded] = useState(false); + + const representatives = [ + { name: 'Amy Elsner', image: 'amyelsner.png' }, + { name: 'Anna Fali', image: 'annafali.png' }, + { name: 'Asiya Javayant', image: 'asiyajavayant.png' }, + { name: 'Bernardo Dominic', image: 'bernardodominic.png' }, + { name: 'Elwin Sharvill', image: 'elwinsharvill.png' }, + { name: 'Ioni Bowcher', image: 'ionibowcher.png' }, + { name: 'Ivan Magalhaes', image: 'ivanmagalhaes.png' }, + { name: 'Onyama Limba', image: 'onyamalimba.png' }, + { name: 'Stephen Shaw', image: 'stephenshaw.png' }, + { name: 'XuXue Feng', image: 'xuxuefeng.png' } + ]; + + const statuses = ['unqualified', 'qualified', 'new', 'negotiation', 'renewal', 'proposal']; + + const clearFilter1 = () => { + initFilters1(); + }; + + const onGlobalFilterChange1 = (e: React.ChangeEvent) => { + const value = e.target.value; + let _filters1 = { ...filters1 }; + (_filters1['global'] as any).value = value; + + setFilters1(_filters1); + setGlobalFilterValue1(value); + }; + + const renderHeader1 = () => { + return ( +
+
+ ); + }; + + useEffect(() => { + setLoading2(true); + + CustomerService.getCustomersLarge().then((data) => { + setCustomers1(getCustomers(data)); + setLoading1(false); + }); + CustomerService.getCustomersLarge().then((data) => { + setCustomers2(getCustomers(data)); + setLoading2(false); + }); + CustomerService.getCustomersMedium().then((data) => setCustomers3(data)); + ProductService.getProductsWithOrdersSmall().then((data) => setProducts(data)); + + initFilters1(); + }, []); + + const balanceTemplate = (rowData: Demo.Customer) => { + return ( +
+ {formatCurrency(rowData.balance as number)} +
+ ); + }; + + const getCustomers = (data: Demo.Customer[]) => { + return [...(data || [])].map((d) => { + d.date = new Date(d.date); + return d; + }); + }; + + const formatDate = (value: Date) => { + return value.toLocaleDateString('en-US', { + day: '2-digit', + month: '2-digit', + year: 'numeric' + }); + }; + + const formatCurrency = (value: number) => { + return value.toLocaleString('en-US', { + style: 'currency', + currency: 'USD' + }); + }; + + const initFilters1 = () => { + setFilters1({ + global: { value: null, matchMode: FilterMatchMode.CONTAINS }, + name: { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] + }, + 'country.name': { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.STARTS_WITH }] + }, + representative: { value: null, matchMode: FilterMatchMode.IN }, + date: { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.DATE_IS }] + }, + balance: { + operator: FilterOperator.AND, + constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] + }, + status: { + operator: FilterOperator.OR, + constraints: [{ value: null, matchMode: FilterMatchMode.EQUALS }] + }, + activity: { value: null, matchMode: FilterMatchMode.BETWEEN }, + verified: { value: null, matchMode: FilterMatchMode.EQUALS } + }); + setGlobalFilterValue1(''); + }; + + const countryBodyTemplate = (rowData: Demo.Customer) => { + return ( + + flag + {rowData.country.name} + + ); + }; + + const filterClearTemplate = (options: ColumnFilterClearTemplateOptions) => { + return ; + }; + + const filterApplyTemplate = (options: ColumnFilterApplyTemplateOptions) => { + return ; + }; + + const representativeBodyTemplate = (rowData: Demo.Customer) => { + const representative = rowData.representative; + return ( + + {representative.name} ((e.target as HTMLImageElement).src = 'https://www.primefaces.org/wp-content/uploads/2020/05/placeholder.png')} + width={32} + style={{ verticalAlign: 'middle' }} + /> + {representative.name} + + ); + }; + + const representativeFilterTemplate = (options: ColumnFilterElementTemplateOptions) => { + return ( + <> +
Agent Picker
+ options.filterCallback(e.value)} optionLabel="name" placeholder="Any" className="p-column-filter" /> + + ); + }; + + const representativesItemTemplate = (option: any) => { + return ( +
+ {option.name} + {option.name} +
+ ); + }; + + const dateBodyTemplate = (rowData: Demo.Customer) => { + return formatDate(rowData.date); + }; + + const dateFilterTemplate = (options: ColumnFilterElementTemplateOptions) => { + return options.filterCallback(e.value, options.index)} dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999" />; + }; + + const balanceBodyTemplate = (rowData: Demo.Customer) => { + return formatCurrency(rowData.balance as number); + }; + + const balanceFilterTemplate = (options: ColumnFilterElementTemplateOptions) => { + return options.filterCallback(e.value, options.index)} mode="currency" currency="USD" locale="en-US" />; + }; + + const statusBodyTemplate = (rowData: Demo.Customer) => { + return {rowData.status}; + }; + + const statusFilterTemplate = (options: ColumnFilterElementTemplateOptions) => { + return options.filterCallback(e.value, options.index)} itemTemplate={statusItemTemplate} placeholder="Select a Status" className="p-column-filter" showClear />; + }; + + const statusItemTemplate = (option: any) => { + return {option}; + }; + + const activityBodyTemplate = (rowData: Demo.Customer) => { + return ; + }; + + const activityFilterTemplate = (options: ColumnFilterElementTemplateOptions) => { + return ( + + options.filterCallback(e.value)} range className="m-3"> +
+ {options.value ? options.value[0] : 0} + {options.value ? options.value[1] : 100} +
+
+ ); + }; + + const verifiedBodyTemplate = (rowData: Demo.Customer) => { + return ( + + ); + }; + + const verifiedFilterTemplate = (options: ColumnFilterElementTemplateOptions) => { + return options.filterCallback(e.value)} />; + }; + + const toggleAll = () => { + if (allExpanded) collapseAll(); + else expandAll(); + }; + + const expandAll = () => { + let _expandedRows = {} as { [key: string]: boolean }; + products.forEach((p) => (_expandedRows[`${p.id}`] = true)); + + setExpandedRows(_expandedRows); + setAllExpanded(true); + }; + + const collapseAll = () => { + setExpandedRows([]); + setAllExpanded(false); + }; + + const amountBodyTemplate = (rowData: Demo.Customer) => { + return formatCurrency(rowData.amount as number); + }; + + const statusOrderBodyTemplate = (rowData: Demo.Customer) => { + return {rowData.status}; + }; + + const searchBodyTemplate = () => { + return + + + + +
+
+ + BTP Xpress +
+

+ Construisez l'avenir +

+

avec BTP Xpress, la suite logicielle qui transforme le BTP

+

+ Fini les chantiers qui dérapent, les budgets qui explosent et les équipes désorganisées. + BTP Xpress centralise tout : de la première estimation au dernier m² livré, + pilotez vos projets avec la précision d'un architecte et l'efficacité d'un chef de chantier expérimenté. +

+ +
+
+ + Gestion complète de projets +
+
+ + Suivi temps réel +
+
+ + Facturation automatisée +
+
+ window.location.href = '/api/auth/login'} className="p-button text-white bg-orange-500 border-orange-500 font-bold border-round cursor-pointer mr-3 shadow-3" style={{ padding: '1.2rem 2.5rem', fontSize: '1.2rem' }}> + + Démarrer maintenant + + + + Voir les fonctionnalités + +
+ +
+
+

Spécialisé pour tous les métiers du BTP

+

Une solution adaptée à chaque corps de métier

+
+
+
+
+ + Gros Œuvre & Structure + Béton, maçonnerie, charpente : gérez vos approvisionnements, planifiez vos coulages, suivez vos cadences et optimisez vos rotations d'équipes. +
+
+
+
+ + Second Œuvre & Finitions + Électricité, plomberie, peinture, carrelage : coordonnez vos interventions, gérez vos stocks et respectez les délais de livraison. +
+
+
+
+ + Travaux Publics & VRD + Terrassement, voirie, réseaux : planifiez vos chantiers, gérez votre matériel et optimisez vos déplacements d'équipes. +
+
+
+
+ + Maîtrise d'Œuvre & AMO + Pilotage de projets, coordination, suivi budgétaire : centralisez tous vos dossiers et collaborez efficacement avec tous les intervenants. +
+
+
+
+ + +
+
+

+ BTP Xpress en action +

+

+ Découvrez comment nos clients transforment leur activité BTP avec des outils pensés pour leur réussite +

+
+
+
+ +
-50%
+
Temps administratif
+
Automatisation des tâches répétitives
+
+
+
+
+ +
+35%
+
Rentabilité
+
Optimisation des coûts et marges
+
+
+
+
+ +
98%
+
Satisfaction client
+
Respect des délais et qualité
+
+
+
+
+
+ +
+
+

La différence BTP Xpress : des résultats concrets

+ +
+
+

🎯 Performance Opérationnelle

+

+ Réduisez vos délais de 25% en moyenne grâce à une planification intelligente, + une coordination automatisée des équipes et un suivi temps réel des avancements. + Vos chantiers respectent enfin les délais annoncés. +

+
+
+
+
+
+ +
-25%
+
Délais
+
+
+
+
+ +
+35%
+
Rentabilité
+
+
+
+
+ +
-50%
+
Admin
+
+
+
+
+
+ +
+
+

💰 Rentabilité Maximisée

+

+ Augmentez vos marges de 15% en moyenne grâce à un contrôle précis des coûts, + une optimisation automatique des approvisionnements et une facturation sans erreur. + Chaque euro compte, BTP Xpress vous aide à les préserver et les multiplier. +

+
+
+
+
+
+ +
Maçonnerie Dubois
+
+45% rentabilité
+
+
+
+
+ +
Électricité Martin
+
-60% admin
+
+
+
+
+ +
TP Rousseau
+
+30% projets
+
+
+
+
+ +
Rénovation Pro
+
+25% délais
+
+
+
+
+
+ +
+
+

🚀 Innovation Technologique

+
+
+
+ 🤖 +
+ IA prédictive +
Anticipez les risques
+
+
+
+
+
+ 📱 +
+ Mobilité totale +
Chantier ou bureau
+
+
+
+
+
+ ☁️ +
+ Cloud sécurisé +
Données protégées
+
+
+
+
+
+ +
+ Automatisation +
Tâches répétitives
+
+
+
+
+
+
+
+

+ + Tableau de Bord Temps Réel +

+
+
+
€127K
+
CA en cours
+
+
+
15
+
Chantiers actifs
+
+
+
+
+

+ + Avancement Projets +

+
+
+ Villa Moderne + 85% +
+
+
+
+
+
+
+ Rénovation Bureau + 62% +
+
+
+
+
+
+
+
+
+
+ + {/* Section Pricing */} +
+
+
+

Investissez dans votre avenir

+

+ BTP Xpress se rembourse en moins de 6 mois grâce aux gains de productivité et d'efficacité. + Choisissez la formule qui correspond à votre ambition et commencez à transformer votre entreprise dès aujourd'hui. +

+
+ +
+ {/* Plan Artisan Expert */} +
+
+
+

Artisan Expert

+
129€
+
par mois
+
jusqu'à 5 utilisateurs
+
ROI garanti en 4 mois
+
+
    +
  • + + 🏗️ Chantiers & phases illimités +
  • +
  • + + 💰 Devis intelligents & facturation auto +
  • +
  • + + 📊 Tableaux de bord temps réel +
  • +
  • + + 📱 Application mobile incluse +
  • +
  • + + 🔧 Support technique prioritaire +
  • +
+ +
+
+ + {/* Plan Entreprise Pro - POPULAIRE */} +
+
+
+ ⭐ PLUS POPULAIRE +
+
+

Entreprise Pro

+
249€
+
par mois
+
jusqu'à 15 utilisateurs
+
ROI garanti en 3 mois
+
+
    +
  • + + ✨ Tout du plan Artisan Expert +
  • +
  • + + 🤖 IA prédictive avancée +
  • +
  • + + 📈 Analytics & rapports avancés +
  • +
  • + + 🔗 Intégrations comptables +
  • +
  • + + 👥 Gestion multi-équipes +
  • +
+ +
+
+ + {/* Plan Groupe Enterprise */} +
+
+
+

Groupe Enterprise

+
Sur mesure
+
selon vos besoins
+
utilisateurs illimités
+
ROI garanti en 2 mois
+
+
    +
  • + + 🏢 Tout du plan Entreprise Pro +
  • +
  • + + 🎯 Développements sur mesure +
  • +
  • + + 🔐 Sécurité enterprise +
  • +
  • + + 📞 Support dédié 24/7 +
  • +
  • + + 🎓 Formation équipes incluse +
  • +
+ +
+
+
+ + {/* Section Call-to-Action Final */} +
+
+

Rejoignez la révolution digitale du BTP

+

+ Plus de 3 200 professionnels du BTP nous font déjà confiance pour piloter leurs projets. + Rejoignez la révolution digitale du secteur et prenez une longueur d'avance sur vos concurrents. +

+
+ + +
+
+
+
+
+ + {/* Footer */} +
+
+
+
+
+ + BTP Xpress +
+

+ La suite logicielle qui transforme le BTP. Gérez vos chantiers, optimisez vos ressources + et maximisez votre rentabilité avec les outils les plus avancés du marché. +

+
+ © 2024 BTP Xpress - Tous droits réservés +
+
+ +
+
+
+

Produit

+ +
+ + +
+

Newsletter

+

+ Recevez nos actualités et conseils BTP +

+
+ + +
+
+ En vous abonnant, vous acceptez de recevoir nos communications. +
+
+
+
+
+
+
+ + ); +}; + +export default LandingPage; diff --git a/app/page_backup.tsx b/app/page_backup.tsx new file mode 100644 index 0000000..e8be670 --- /dev/null +++ b/app/page_backup.tsx @@ -0,0 +1,266 @@ +'use client'; + +import React, { useContext, useEffect, useRef, useState } from 'react'; +import { Ripple } from 'primereact/ripple'; +import { InputText } from 'primereact/inputtext'; +import { StyleClass } from 'primereact/styleclass'; +import { useRouter } from 'next/navigation'; +import { Button } from 'primereact/button'; +import { LayoutContext } from '../layout/context/layoutcontext'; +import { PrimeReactContext } from 'primereact/api'; +import type { ColorScheme } from '@/types'; + +const LandingPage = () => { + const router = useRouter(); + const { layoutConfig, setLayoutConfig } = useContext(LayoutContext); + const { changeTheme } = useContext(PrimeReactContext); + + const homeRef = useRef(null); + const timesRef = useRef(null); + const menuRef = useRef(null); + const menuButtonRef = useRef(null); + const meetRef = useRef(null); + const featuresRef = useRef(null); + const pricingRef = useRef(null); + const pricingButtonRef = useRef(null); + const buyRef = useRef(null); + const featuresButtonRef = useRef(null); + + const goHome = () => { + router.push('/'); + }; + + const scrollToElement = (el: React.RefObject) => { + if (el.current) { + el.current?.scrollIntoView({ + behavior: 'smooth', + block: 'start', + inline: 'nearest' + }); + } + }; + + const changeColorScheme = (colorScheme: ColorScheme) => { + changeTheme?.(layoutConfig.colorScheme, colorScheme, 'theme-link', () => { + setLayoutConfig((prevState) => ({ + ...prevState, + colorScheme, + menuTheme: layoutConfig.colorScheme === 'dark' ? 'dark' : 'light' + })); + }); + }; + + useEffect(() => { + changeColorScheme('light'); + setLayoutConfig((prevState) => ({ + ...prevState, + menuTheme: 'light' + })); + }, []); + + return ( +
+ + +
+
+

+ BTP Xpress en action +

+

+ Découvrez comment nos clients transforment leur activité BTP avec des outils pensés pour leur réussite +

+
+
+
+ +
-50%
+
Temps administratif
+
Automatisation des tâches répétitives
+
+
+
+
+ +
+35%
+
Rentabilité
+
Optimisation des coûts et marges
+
+
+
+
+ +
98%
+
Satisfaction client
+
Respect des délais et qualité
+
+
+
+
+
+ +
+
+

La différence BTP Xpress : des résultats concrets

+
+
+
+ ); +}; + +export default LandingPage; diff --git a/app/robots.ts b/app/robots.ts new file mode 100644 index 0000000..d431129 --- /dev/null +++ b/app/robots.ts @@ -0,0 +1,55 @@ +import { MetadataRoute } from 'next' + +/** + * Robots.txt pour BTP Xpress - Optimisation SEO + */ +export default function robots(): MetadataRoute.Robots { + return { + rules: [ + { + userAgent: '*', + allow: '/', + disallow: [ + '/api/', + '/dashboard/', + '/chantiers/', + '/clients/', + '/devis/', + '/factures/', + '/planning/', + '/materiels/', + '/stock/', + '/rapports/', + '/admin/', + '/profile/', + '/auth/', + '/_next/', + '/private/', + ], + }, + { + userAgent: 'Googlebot', + allow: '/', + disallow: [ + '/api/', + '/dashboard/', + '/chantiers/', + '/clients/', + '/devis/', + '/factures/', + '/planning/', + '/materiels/', + '/stock/', + '/rapports/', + '/admin/', + '/profile/', + '/auth/', + '/_next/', + '/private/', + ], + }, + ], + sitemap: 'https://btpxpress.lions.dev/sitemap.xml', + host: 'https://btpxpress.lions.dev', + } +} diff --git a/app/sitemap.ts b/app/sitemap.ts new file mode 100644 index 0000000..0425682 --- /dev/null +++ b/app/sitemap.ts @@ -0,0 +1,71 @@ +import { MetadataRoute } from 'next' + +/** + * Sitemap pour BTP Xpress - Optimisation SEO + */ +export default function sitemap(): MetadataRoute.Sitemap { + const baseUrl = 'https://btpxpress.lions.dev' + + return [ + { + url: baseUrl, + lastModified: new Date(), + changeFrequency: 'monthly', + priority: 1, + }, + { + url: `${baseUrl}/dashboard`, + lastModified: new Date(), + changeFrequency: 'daily', + priority: 0.9, + }, + { + url: `${baseUrl}/chantiers`, + lastModified: new Date(), + changeFrequency: 'daily', + priority: 0.9, + }, + { + url: `${baseUrl}/clients`, + lastModified: new Date(), + changeFrequency: 'weekly', + priority: 0.8, + }, + { + url: `${baseUrl}/devis`, + lastModified: new Date(), + changeFrequency: 'weekly', + priority: 0.8, + }, + { + url: `${baseUrl}/factures`, + lastModified: new Date(), + changeFrequency: 'weekly', + priority: 0.8, + }, + { + url: `${baseUrl}/planning`, + lastModified: new Date(), + changeFrequency: 'daily', + priority: 0.7, + }, + { + url: `${baseUrl}/materiels`, + lastModified: new Date(), + changeFrequency: 'weekly', + priority: 0.7, + }, + { + url: `${baseUrl}/stock`, + lastModified: new Date(), + changeFrequency: 'daily', + priority: 0.7, + }, + { + url: `${baseUrl}/rapports`, + lastModified: new Date(), + changeFrequency: 'weekly', + priority: 0.6, + }, + ] +} diff --git a/cleanup-apps.ps1 b/cleanup-apps.ps1 new file mode 100644 index 0000000..2190e53 --- /dev/null +++ b/cleanup-apps.ps1 @@ -0,0 +1,14 @@ +# Script pour nettoyer les applications de démonstration +Write-Host "Nettoyage des applications de démonstration..." + +$appsPath = "app/(main)/apps" + +if (Test-Path $appsPath) { + Write-Host "Suppression du dossier $appsPath..." + Remove-Item -Recurse -Force $appsPath -ErrorAction SilentlyContinue + Write-Host "Dossier supprimé avec succès." +} else { + Write-Host "Le dossier $appsPath n'existe pas." +} + +Write-Host "Nettoyage terminé." diff --git a/components/ClientProviders.tsx b/components/ClientProviders.tsx new file mode 100644 index 0000000..89d99f2 --- /dev/null +++ b/components/ClientProviders.tsx @@ -0,0 +1,22 @@ +'use client'; + +import { LayoutProvider } from '../layout/context/layoutcontext'; +import { PrimeReactProvider } from 'primereact/api'; +import { AuthProvider } from '../contexts/AuthContext'; +import { DevAuthProvider } from './auth/DevAuthProvider'; +import { useServerStatusInit } from '../hooks/useServerStatusInit'; + +export function ClientProviders({ children }: { children: React.ReactNode }) { + // Initialiser le monitoring serveur SSE globalement + // useServerStatusInit(); // Temporairement désactivé - endpoint non disponible + + return ( + + + + {children} + + + + ); +} \ No newline at end of file diff --git a/components/ConnectionStatus.tsx b/components/ConnectionStatus.tsx new file mode 100644 index 0000000..d7c08d9 --- /dev/null +++ b/components/ConnectionStatus.tsx @@ -0,0 +1,121 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Toast } from 'primereact/toast'; +import { ProgressSpinner } from 'primereact/progressspinner'; +import { getServerStatusService, ServerStatusEvent } from '../services/serverStatusService'; + +interface ConnectionStatusProps { + showToasts?: boolean; + showIndicator?: boolean; + className?: string; +} + +export const ConnectionStatus: React.FC = ({ + showToasts = true, + showIndicator = true, + className = '' +}) => { + const [isOnline, setIsOnline] = useState(true); + const [lastEvent, setLastEvent] = useState(null); + const [isChecking, setIsChecking] = useState(false); + const toast = useRef(null); + const lastStatusRef = useRef(null); + + useEffect(() => { + let unsubscribe: (() => void) | null = null; + + const handleServerStatusChange = (online: boolean, event?: ServerStatusEvent) => { + const wasOnline = lastStatusRef.current; + + if (wasOnline !== null && wasOnline !== online && showToasts) { + if (online) { + toast.current?.show({ + severity: 'success', + summary: 'Serveur backend reconnecté', + detail: 'Le serveur backend est de nouveau accessible', + life: 4000 + }); + } else { + toast.current?.show({ + severity: 'error', + summary: 'Serveur backend inaccessible', + detail: 'Le serveur backend ne répond pas. Vérifiez qu\'il est démarré (mvn quarkus:dev).', + sticky: true + }); + } + } + + setIsOnline(online); + setLastEvent(event || null); + lastStatusRef.current = online; + }; + + // Obtenir l'instance du service côté client + const service = getServerStatusService(); + if (!service) return; + + // S'abonner aux changements de statut via SSE + unsubscribe = service.onStatusChange(handleServerStatusChange); + + // Statut initial + const currentStatus = service.getCurrentStatus(); + setIsOnline(currentStatus); + lastStatusRef.current = currentStatus; + + return () => { + if (unsubscribe) { + unsubscribe(); + } + }; + }, [showToasts]); + + const getStatusText = () => { + if (isChecking) return 'Vérification...'; + return isOnline ? 'Serveur OK' : 'Serveur KO'; + }; + + const getStatusTooltip = () => { + const baseStatus = isOnline ? 'Serveur backend accessible' : 'Serveur backend indisponible'; + const sseInfo = 'Monitoring via Server-Sent Events'; + const eventInfo = lastEvent ? `Dernière mise à jour: ${new Date(lastEvent.timestamp).toLocaleTimeString()}` : ''; + return `${baseStatus} - ${sseInfo}${eventInfo ? ` - ${eventInfo}` : ''}`; + }; + + if (!showIndicator && showToasts) { + return ; + } + + if (!showIndicator) { + return null; + } + + return ( +
+ + +
+ {isChecking ? ( + + ) : ( + + )} + + + {getStatusText()} + +
+
+ ); +}; + +export default ConnectionStatus; \ No newline at end of file diff --git a/components/ConnectionStatusSimple.tsx b/components/ConnectionStatusSimple.tsx new file mode 100644 index 0000000..d23f0ca --- /dev/null +++ b/components/ConnectionStatusSimple.tsx @@ -0,0 +1,53 @@ +'use client'; + +import React, { useState, useEffect, useRef } from 'react'; +import { Toast } from 'primereact/toast'; + +interface ConnectionStatusProps { + showToasts?: boolean; + showIndicator?: boolean; + className?: string; +} + +export const ConnectionStatusSimple: React.FC = ({ + showToasts = true, + showIndicator = true, + className = '' +}) => { + const [isOnline, setIsOnline] = useState(true); + const toast = useRef(null); + + useEffect(() => { + console.log('ConnectionStatusSimple mounted - no API calls for now'); + + // Pas d'API call pour le moment, juste pour tester le composant + setIsOnline(true); + }, []); + + if (!showIndicator && showToasts) { + return ; + } + + if (!showIndicator) { + return null; + } + + return ( +
+ +
+ + + {isOnline ? 'Serveur OK' : 'Serveur KO'} + +
+
+ ); +}; + +export default ConnectionStatusSimple; \ No newline at end of file diff --git a/components/GlobalErrorHandler.tsx b/components/GlobalErrorHandler.tsx new file mode 100644 index 0000000..0357504 --- /dev/null +++ b/components/GlobalErrorHandler.tsx @@ -0,0 +1,110 @@ +'use client'; + +import React, { useEffect, useRef } from 'react'; +import { Toast } from 'primereact/toast'; +import { apiService } from '../services/api'; + +interface GlobalErrorHandlerProps { + children?: React.ReactNode; +} + +export const GlobalErrorHandler: React.FC = ({ children }) => { + const toast = useRef(null); + const lastErrorTime = useRef(0); + + useEffect(() => { + // Gestionnaire global d'erreurs non capturées + const handleUnhandledRejection = (event: PromiseRejectionEvent) => { + const error = event.reason; + + // Éviter de spammer les notifications (max 1 par seconde) + const now = Date.now(); + if (now - lastErrorTime.current < 1000) { + return; + } + lastErrorTime.current = now; + + let message = 'Une erreur inattendue s\'est produite'; + let severity: 'error' | 'warn' | 'info' = 'error'; + + if (error?.statusCode === 'NETWORK_ERROR' || error?.statusCode === 'SERVER_UNAVAILABLE') { + message = error.userMessage || 'Serveur indisponible'; + severity = 'error'; + + toast.current?.show({ + severity, + summary: 'Serveur backend inaccessible', + detail: message, + sticky: true, + content: (props) => ( +
+
+ + {props.summary} +
+
{message}
+
+
• Démarrez le serveur backend : mvn quarkus:dev
+
• Vérifiez que le port 8080 est libre
+
• Contrôlez votre connexion internet
+
• Testez l'accès : http://localhost:8080
+
+
+ ) + }); + } else if (error?.statusCode === 'TIMEOUT') { + message = error.userMessage || 'Délai d\'attente dépassé'; + severity = 'warn'; + + toast.current?.show({ + severity, + summary: 'Délai dépassé', + detail: message, + life: 6000 + }); + } else if (error?.userMessage) { + toast.current?.show({ + severity: 'error', + summary: 'Erreur', + detail: error.userMessage, + life: 5000 + }); + } + }; + + // Gestionnaire de statut serveur + const handleServerStatusChange = (isOnline: boolean) => { + if (isOnline) { + // Nettoyer les messages d'erreur précédents + toast.current?.clear(); + + toast.current?.show({ + severity: 'success', + summary: 'Serveur backend reconnecté', + detail: 'Le serveur backend est de nouveau accessible', + life: 3000 + }); + } + }; + + // Enregistrer les listeners + window.addEventListener('unhandledrejection', handleUnhandledRejection); + const unsubscribe = apiService.onServerStatusChange(handleServerStatusChange); + + return () => { + window.removeEventListener('unhandledrejection', handleUnhandledRejection); + if (unsubscribe) { + unsubscribe(); + } + }; + }, []); + + return ( + <> + + {children} + + ); +}; + +export default GlobalErrorHandler; \ No newline at end of file diff --git a/components/ProtectedLayout.tsx b/components/ProtectedLayout.tsx new file mode 100644 index 0000000..281f5a8 --- /dev/null +++ b/components/ProtectedLayout.tsx @@ -0,0 +1,132 @@ +'use client'; + +import React from 'react'; +import { useAuth } from '../contexts/AuthContext'; +import LoadingSpinner from './ui/LoadingSpinner'; +import { useRouter } from 'next/navigation'; +import { useEffect } from 'react'; + +interface ProtectedLayoutProps { + children: React.ReactNode; + requiredRoles?: string[]; + requiredPermissions?: string[]; +} + +const ProtectedLayout: React.FC = ({ + children, + requiredRoles = [], + requiredPermissions = [] +}) => { + const { isAuthenticated, isLoading, user, hasRole, hasPermission } = useAuth(); + const router = useRouter(); + + useEffect(() => { + if (!isLoading && !isAuthenticated) { + // Ne pas rediriger si on est en train de traiter un code d'autorisation + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + if (!hasAuthCode) { + // Rediriger vers la page de connexion avec l'URL de retour + const currentPath = window.location.pathname + window.location.search; + window.location.href = `/api/auth/login?redirect=${encodeURIComponent(currentPath)}`; + } else { + console.log('🔄 ProtectedLayout: Redirection ignorée car authentification en cours...'); + } + } + }, [isAuthenticated, isLoading, router]); + + useEffect(() => { + if (isAuthenticated && user) { + // Vérifier les rôles requis + if (requiredRoles.length > 0) { + const hasRequiredRole = requiredRoles.some(role => hasRole(role)); + if (!hasRequiredRole) { + router.push('/'); + return; + } + } + + // Vérifier les permissions requises + if (requiredPermissions.length > 0) { + const hasRequiredPermission = requiredPermissions.some(permission => hasPermission(permission)); + if (!hasRequiredPermission) { + router.push('/'); + return; + } + } + } + }, [isAuthenticated, user, requiredRoles, requiredPermissions, hasRole, hasPermission, router]); + + // Affichage pendant le chargement + if (isLoading) { + return ( +
+
+ +

Chargement...

+
+
+ ); + } + + // Si pas authentifié, vérifier s'il y a un code d'autorisation en cours + if (!isAuthenticated) { + // Si on a un code d'autorisation, laisser le composant se charger pour traiter l'authentification + if (typeof window !== 'undefined') { + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + if (hasAuthCode) { + console.log('🔓 ProtectedLayout: Autorisant le rendu car code d\'autorisation présent'); + // Laisser le composant se charger pour traiter l'authentification + } else { + // Pas de code d'autorisation, afficher le message de redirection + return ( +
+
+ +

Redirection vers la connexion...

+
+
+ ); + } + } + } + + // Si authentifié mais pas les bonnes permissions, ne rien afficher (redirection en cours) + if (user) { + if (requiredRoles.length > 0) { + const hasRequiredRole = requiredRoles.some(role => hasRole(role)); + if (!hasRequiredRole) { + return ( +
+
+ +

Vérification des permissions...

+
+
+ ); + } + } + + if (requiredPermissions.length > 0) { + const hasRequiredPermission = requiredPermissions.some(permission => hasPermission(permission)); + if (!hasRequiredPermission) { + return ( +
+
+ +

Vérification des permissions...

+
+
+ ); + } + } + } + + // Afficher le contenu si tout est OK + return <>{children}; +}; + +export default ProtectedLayout; diff --git a/components/RoleProtectedPage.tsx b/components/RoleProtectedPage.tsx new file mode 100644 index 0000000..f9eec33 --- /dev/null +++ b/components/RoleProtectedPage.tsx @@ -0,0 +1,76 @@ +'use client'; + +import React from 'react'; +import { Card } from 'primereact/card'; +import { Button } from 'primereact/button'; +import { useRouter } from 'next/navigation'; +import { useUserRoles, PAGE_ROLES, PageRole } from '@/hooks/useUserRoles'; + +interface RoleProtectedPageProps { + children: React.ReactNode; + requiredPage: PageRole; + fallbackMessage?: string; +} + +const RoleProtectedPage: React.FC = ({ + children, + requiredPage, + fallbackMessage +}) => { + const { canAccess, isLoading, roles } = useUserRoles(); + const router = useRouter(); + + const requiredRoles = PAGE_ROLES[requiredPage]; + + if (isLoading) { + return ( +
+
+ +

Vérification des autorisations...

+
+
+ ); + } + + if (!canAccess(requiredRoles)) { + return ( +
+ +
+ +

Accès restreint

+

+ {fallbackMessage || + `Vous n'avez pas les autorisations nécessaires pour accéder à cette page. + Les rôles requis sont : ${requiredRoles.join(', ')}.`} +

+
+

+ Vos rôles actuels : {roles.length > 0 ? roles.join(', ') : 'Aucun rôle assigné'} +

+
+
+
+
+
+
+ ); + } + + return <>{children}; +}; + +export default RoleProtectedPage; diff --git a/components/auth/DevAuthProvider.tsx b/components/auth/DevAuthProvider.tsx new file mode 100644 index 0000000..b31bbec --- /dev/null +++ b/components/auth/DevAuthProvider.tsx @@ -0,0 +1,80 @@ +'use client'; + +import React, { createContext, useContext, useEffect, useState } from 'react'; + +interface DevAuthContextType { + isAuthenticated: boolean; + user: any; + login: () => void; + logout: () => void; + hasRole: (role: string) => boolean; +} + +const DevAuthContext = createContext(null); + +export const useDevAuth = () => { + const context = useContext(DevAuthContext); + if (!context) { + throw new Error('useDevAuth must be used within DevAuthProvider'); + } + return context; +}; + +interface DevAuthProviderProps { + children: React.ReactNode; +} + +export const DevAuthProvider: React.FC = ({ children }) => { + const [isAuthenticated, setIsAuthenticated] = useState(false); + const [user, setUser] = useState(null); + + useEffect(() => { + // En mode développement, simuler un utilisateur connecté + if (process.env.NODE_ENV === 'development') { + setIsAuthenticated(true); + setUser({ + id: 'dev-user-1', + username: 'admin', + email: 'admin@btpxpress.dev', + firstName: 'Admin', + lastName: 'BTPXpress', + roles: ['admin', 'manager', 'user'], + permissions: ['*'] + }); + } + }, []); + + const login = () => { + setIsAuthenticated(true); + setUser({ + id: 'dev-user-1', + username: 'admin', + email: 'admin@btpxpress.dev', + firstName: 'Admin', + lastName: 'BTPXpress', + roles: ['admin', 'manager', 'user'], + permissions: ['*'] + }); + }; + + const logout = () => { + setIsAuthenticated(false); + setUser(null); + }; + + const hasRole = (role: string) => { + return user?.roles?.includes(role) || user?.roles?.includes('admin') || false; + }; + + return ( + + {children} + + ); +}; diff --git a/components/auth/ProtectedRoute.tsx b/components/auth/ProtectedRoute.tsx new file mode 100644 index 0000000..1973366 --- /dev/null +++ b/components/auth/ProtectedRoute.tsx @@ -0,0 +1,237 @@ +'use client'; + +import React, { ReactNode, useEffect } from 'react'; +import { useRouter } from 'next/navigation'; +import { useAuth } from '@/contexts/AuthContext'; +import { KEYCLOAK_REDIRECTS } from '@/config/keycloak'; +import LoadingSpinner from '@/components/ui/LoadingSpinner'; + +// Props pour le composant de route protégée +interface ProtectedRouteProps { + children: ReactNode; + requiredRoles?: string[]; + requiredPermissions?: string[]; + requireAnyRole?: boolean; // Si true, l'utilisateur doit avoir au moins un des rôles requis + requireAllRoles?: boolean; // Si true, l'utilisateur doit avoir tous les rôles requis + requireAnyPermission?: boolean; // Si true, l'utilisateur doit avoir au moins une des permissions requises + requireAllPermissions?: boolean; // Si true, l'utilisateur doit avoir toutes les permissions requises + fallbackComponent?: ReactNode; + redirectTo?: string; + showUnauthorized?: boolean; +} + +// Composant de route protégée +const ProtectedRoute: React.FC = ({ + children, + requiredRoles = [], + requiredPermissions = [], + requireAnyRole = true, + requireAllRoles = false, + requireAnyPermission = true, + requireAllPermissions = false, + fallbackComponent, + redirectTo, + showUnauthorized = true, +}) => { + const router = useRouter(); + const { + isAuthenticated, + isLoading, + user, + hasRole, + hasAnyRole, + hasPermission, + login + } = useAuth(); + + // Vérification de l'authentification et des autorisations + useEffect(() => { + if (isLoading) return; + + // Si l'utilisateur n'est pas authentifié + if (!isAuthenticated) { + if (redirectTo) { + router.push(redirectTo); + } else { + // Rediriger vers la page de connexion + login(); + } + return; + } + + // Si l'utilisateur est authentifié mais n'a pas les rôles requis + if (requiredRoles.length > 0 && user) { + let hasRequiredRoles = false; + + if (requireAllRoles) { + // L'utilisateur doit avoir tous les rôles requis + hasRequiredRoles = requiredRoles.every(role => hasRole(role)); + } else if (requireAnyRole) { + // L'utilisateur doit avoir au moins un des rôles requis + hasRequiredRoles = hasAnyRole(requiredRoles); + } + + if (!hasRequiredRoles) { + if (redirectTo) { + router.push(redirectTo); + } else { + router.push(KEYCLOAK_REDIRECTS.FORBIDDEN); + } + return; + } + } + + // Si l'utilisateur est authentifié mais n'a pas les permissions requises + if (requiredPermissions.length > 0 && user) { + let hasRequiredPermissions = false; + + if (requireAllPermissions) { + // L'utilisateur doit avoir toutes les permissions requises + hasRequiredPermissions = requiredPermissions.every(permission => hasPermission(permission)); + } else if (requireAnyPermission) { + // L'utilisateur doit avoir au moins une des permissions requises + hasRequiredPermissions = requiredPermissions.some(permission => hasPermission(permission)); + } + + if (!hasRequiredPermissions) { + if (redirectTo) { + router.push(redirectTo); + } else { + router.push(KEYCLOAK_REDIRECTS.FORBIDDEN); + } + return; + } + } + }, [ + isAuthenticated, + isLoading, + user, + requiredRoles, + requiredPermissions, + requireAnyRole, + requireAllRoles, + requireAnyPermission, + requireAllPermissions, + redirectTo, + router, + hasRole, + hasAnyRole, + hasPermission, + login, + ]); + + // Affichage pendant le chargement + if (isLoading) { + return ( +
+ +
+ ); + } + + // Si l'utilisateur n'est pas authentifié + if (!isAuthenticated) { + if (fallbackComponent) { + return <>{fallbackComponent}; + } + return ( +
+
+

+ Authentification requise +

+

+ Vous devez être connecté pour accéder à cette page. +

+ +
+
+ ); + } + + // Vérification des rôles + if (requiredRoles.length > 0 && user) { + let hasRequiredRoles = false; + + if (requireAllRoles) { + hasRequiredRoles = requiredRoles.every(role => hasRole(role)); + } else if (requireAnyRole) { + hasRequiredRoles = hasAnyRole(requiredRoles); + } + + if (!hasRequiredRoles) { + if (fallbackComponent) { + return <>{fallbackComponent}; + } + if (showUnauthorized) { + return ( +
+
+

+ Accès non autorisé +

+

+ Vous n'avez pas les permissions nécessaires pour accéder à cette page. +

+

+ Rôles requis: {requiredRoles.join(', ')} +

+

+ Vos rôles: {user.roles.join(', ')} +

+
+
+ ); + } + return null; + } + } + + // Vérification des permissions + if (requiredPermissions.length > 0 && user) { + let hasRequiredPermissions = false; + + if (requireAllPermissions) { + hasRequiredPermissions = requiredPermissions.every(permission => hasPermission(permission)); + } else if (requireAnyPermission) { + hasRequiredPermissions = requiredPermissions.some(permission => hasPermission(permission)); + } + + if (!hasRequiredPermissions) { + if (fallbackComponent) { + return <>{fallbackComponent}; + } + if (showUnauthorized) { + return ( +
+
+

+ Permissions insuffisantes +

+

+ Vous n'avez pas les permissions nécessaires pour accéder à cette page. +

+

+ Permissions requises: {requiredPermissions.join(', ')} +

+

+ Vos permissions: {user.permissions.join(', ')} +

+
+
+ ); + } + return null; + } + } + + // Si toutes les vérifications passent, afficher le contenu + return <>{children}; +}; + +export default ProtectedRoute; diff --git a/components/chantiers/ActionButton.tsx b/components/chantiers/ActionButton.tsx new file mode 100644 index 0000000..16e087e --- /dev/null +++ b/components/chantiers/ActionButton.tsx @@ -0,0 +1,107 @@ +/** + * Bouton d'action distinctif avec couleurs et animations personnalisées + */ + +import React from 'react'; +import { Button } from 'primereact/button'; +import { Tooltip } from 'primereact/tooltip'; +import { + ACTION_BUTTON_THEMES, + BUTTON_SIZES, + BUTTON_VARIANTS, + ActionButtonType +} from './ActionButtonStyles'; +import ChantierMenuActions from './ChantierMenuActions'; +import { ChantierActif } from '../../hooks/useDashboard'; + +interface ActionButtonProps { + type: ActionButtonType; + onClick?: () => void; + disabled?: boolean; + loading?: boolean; + size?: 'xs' | 'sm' | 'md' | 'lg'; + showLabel?: boolean; + className?: string; + style?: React.CSSProperties; + tooltipPosition?: 'top' | 'bottom' | 'left' | 'right'; + // Propriétés pour le menu + chantier?: ChantierActif; + onMenuAction?: (action: string, chantier: ChantierActif) => void; +} + +const ActionButton: React.FC = ({ + type, + onClick, + disabled = false, + loading = false, + size = 'md', + showLabel = false, + className = '', + style = {}, + tooltipPosition = 'top', + chantier, + onMenuAction +}) => { + const theme = ACTION_BUTTON_THEMES[type]; + + // ID unique pour le tooltip + const buttonId = `action-btn-${type.toLowerCase()}-${Math.random().toString(36).substr(2, 9)}`; + + // Style minimal Atlantis Rounded Text - pas de styles custom + const getButtonStyles = () => { + return { + ...style // Seulement les styles passés en props + }; + }; + + // Classes CSS strictes Atlantis Rounded Text + const buttonClasses = [ + 'p-button-text p-button-rounded p-button-sm', // Strict Atlantis + taille compacte + disabled ? 'p-disabled' : '', + className + ].filter(Boolean).join(' '); + + // Rendu minimal Atlantis + const buttonContent = ( + <> + + {showLabel && {theme.name}} + + ); + + // Si c'est le bouton MENU et qu'on a un chantier, utiliser le composant menu + if (type === 'MENU' && chantier && onMenuAction) { + return ( + + ); + } + + return ( + <> + + + + + ); +}; + +export default ActionButton; \ No newline at end of file diff --git a/components/chantiers/ActionButtonGroup.tsx b/components/chantiers/ActionButtonGroup.tsx new file mode 100644 index 0000000..1ac9236 --- /dev/null +++ b/components/chantiers/ActionButtonGroup.tsx @@ -0,0 +1,73 @@ +/** + * Groupe de boutons d'action avec animations et espacement optimisé + */ + +import React from 'react'; +import ActionButton from './ActionButton'; +import { ActionButtonType } from './ActionButtonStyles'; +import { ChantierActif } from '../../hooks/useDashboard'; + +interface ActionButtonGroupProps { + chantier: ChantierActif; + actions: ActionButtonType[]; + onAction: (action: ActionButtonType, chantier: ChantierActif) => void; + size?: 'xs' | 'sm' | 'md' | 'lg'; + orientation?: 'horizontal' | 'vertical'; + spacing?: 'none' | 'sm' | 'md' | 'lg'; + showLabels?: boolean; + className?: string; +} + +const ActionButtonGroup: React.FC = ({ + chantier, + actions, + onAction, + size = 'md', + orientation = 'horizontal', + spacing = 'sm', + showLabels = false, + className = '' +}) => { + // Classes pour l'espacement - plus compact + const spacingClasses = { + none: 'gap-0', + sm: 'gap-1', + md: 'gap-1', + lg: 'gap-2' + }; + + // Classes pour l'orientation + const orientationClasses = { + horizontal: 'flex-row', + vertical: 'flex-column' + }; + + const containerClasses = [ + 'flex', + 'align-items-center', + orientationClasses[orientation], + spacingClasses[spacing], + 'action-button-group', + className + ].filter(Boolean).join(' '); + + return ( +
+ {actions.map((actionType, index) => ( + onAction(actionType, chantier)} + className="action-button-group-item" + // Props pour le menu + chantier={chantier} + onMenuAction={actionType === 'MENU' ? onAction : undefined} + /> + ))} +
+ ); +}; + +export default ActionButtonGroup; \ No newline at end of file diff --git a/components/chantiers/ActionButtonStyles.ts b/components/chantiers/ActionButtonStyles.ts new file mode 100644 index 0000000..4507ee3 --- /dev/null +++ b/components/chantiers/ActionButtonStyles.ts @@ -0,0 +1,115 @@ +/** + * Styles distinctifs pour chaque bouton d'action + * Couleurs spécifiques et animations pour une UX premium + */ + +export const ACTION_BUTTON_THEMES = { + VIEW: { + name: 'Vue Rapide', + icon: 'pi pi-eye', + colors: { + primary: '#3B82F6', // Bleu moderne + light: '#DBEAFE', // Bleu très clair + dark: '#1D4ED8', // Bleu foncé + text: '#1E40AF' // Texte bleu + }, + className: '' + }, + PHASES: { + name: 'Phases', + icon: 'pi pi-sitemap', + colors: { + primary: '#10B981', // Vert émeraude + light: '#D1FAE5', // Vert très clair + dark: '#059669', // Vert foncé + text: '#047857' // Texte vert + }, + className: '' + }, + PLANNING: { + name: 'Planning', + icon: 'pi pi-calendar', + colors: { + primary: '#8B5CF6', // Violet moderne + light: '#EDE9FE', // Violet très clair + dark: '#7C3AED', // Violet foncé + text: '#6D28D9' // Texte violet + }, + className: '' + }, + STATS: { + name: 'Statistiques', + icon: 'pi pi-chart-bar', + colors: { + primary: '#06B6D4', // Cyan moderne + light: '#CFFAFE', // Cyan très clair + dark: '#0891B2', // Cyan foncé + text: '#0E7490' // Texte cyan + }, + className: '' + }, + MENU: { + name: 'Plus d\'actions', + icon: 'pi pi-ellipsis-v', + colors: { + primary: '#6B7280', // Gris moderne + light: '#F3F4F6', // Gris très clair + dark: '#4B5563', // Gris foncé + text: '#374151' // Texte gris + }, + className: '' + }, + EDIT: { + name: 'Modifier', + icon: 'pi pi-pencil', + colors: { + primary: '#F59E0B', // Orange/Ambre + light: '#FEF3C7', // Orange très clair + dark: '#D97706', // Orange foncé + text: '#B45309' // Texte orange + }, + className: '' + }, + DELETE: { + name: 'Supprimer', + icon: 'pi pi-trash', + colors: { + primary: '#EF4444', // Rouge moderne + light: '#FEE2E2', // Rouge très clair + dark: '#DC2626', // Rouge foncé + text: '#B91C1C' // Texte rouge + }, + className: '' + } +} as const; + +export type ActionButtonType = keyof typeof ACTION_BUTTON_THEMES; + +// Tailles compactes pour DataTable optimisée +export const BUTTON_SIZES = { + xs: { + padding: 'p-1', + iconSize: 'text-xs', + width: 'w-5 h-5' // Extra compact + }, + sm: { + padding: 'p-1', + iconSize: 'text-sm', + width: 'w-6 h-6' // Compact + }, + md: { + padding: 'p-2', + iconSize: 'text-base', + width: 'w-8 h-8' + }, + lg: { + padding: 'p-2', + iconSize: 'text-lg', + width: 'w-10 h-10' + } +} as const; + +// Style Rounded Text uniquement - autres variantes supprimées +export const BUTTON_VARIANTS = { + roundedText: 'p-button-text p-button-rounded' +} as const; \ No newline at end of file diff --git a/components/chantiers/ChantierActions.tsx b/components/chantiers/ChantierActions.tsx new file mode 100644 index 0000000..7cc33ab --- /dev/null +++ b/components/chantiers/ChantierActions.tsx @@ -0,0 +1,215 @@ +/** + * Composant réutilisable pour les actions sur les chantiers + */ + +import React, { useRef } from 'react'; +import { Button } from 'primereact/button'; +import { Menu } from 'primereact/menu'; +import { MenuItem } from 'primereact/menuitem'; +import { ACTION_BUTTONS, COMMON_CLASSES, ActionButtonType } from './ChantierStyles'; +import { ChantierActif } from '../../hooks/useDashboard'; + +interface ChantierActionsProps { + chantier: ChantierActif; + onQuickView?: (chantier: ChantierActif) => void; + onManagePhases?: (chantier: ChantierActif) => void; + onViewPlanning?: (chantier: ChantierActif) => void; + onViewStats?: (chantier: ChantierActif) => void; + onMenuAction?: (action: string, chantier: ChantierActif) => void; + showLabels?: boolean; + size?: 'small' | 'normal' | 'large'; + layout?: 'horizontal' | 'vertical'; + buttons?: ActionButtonType[]; + className?: string; +} + +const ChantierActions: React.FC = ({ + chantier, + onQuickView, + onManagePhases, + onViewPlanning, + onViewStats, + onMenuAction, + showLabels = false, + size = 'normal', + layout = 'horizontal', + buttons = ['VIEW', 'PHASES', 'PLANNING', 'STATS', 'MENU'], + className = '' +}) => { + const menuRef = useRef(null); + + const sizeClasses = { + small: 'p-button-sm', + normal: '', + large: 'p-button-lg' + }; + + const layoutClasses = { + horizontal: COMMON_CLASSES.BUTTON_GROUP, + vertical: 'flex flex-column gap-2' + }; + + // Configuration du menu contextuel + const menuItems: MenuItem[] = [ + { + label: 'Navigation', + items: [ + { + label: 'Détails complets', + icon: 'pi pi-external-link', + command: () => onMenuAction?.('details', chantier) + }, + { + label: 'Documents', + icon: 'pi pi-file', + command: () => onMenuAction?.('documents', chantier) + }, + { + label: 'Photos', + icon: 'pi pi-images', + command: () => onMenuAction?.('photos', chantier) + } + ] + }, + { separator: true }, + { + label: 'Ressources', + items: [ + { + label: 'Équipe assignée', + icon: 'pi pi-users', + command: () => onMenuAction?.('team', chantier) + }, + { + label: 'Matériel utilisé', + icon: 'pi pi-cog', + command: () => onMenuAction?.('equipment', chantier) + } + ] + }, + { separator: true }, + { + label: 'Rapports', + items: [ + { + label: 'Générer rapport', + icon: 'pi pi-chart-bar', + command: () => onMenuAction?.('report', chantier) + }, + { + label: 'Export PDF', + icon: 'pi pi-file-pdf', + command: () => onMenuAction?.('export-pdf', chantier) + }, + { + label: 'Export Excel', + icon: 'pi pi-file-excel', + command: () => onMenuAction?.('export-excel', chantier) + } + ] + }, + { separator: true }, + { + label: 'Actions', + items: [ + { + label: chantier.statut === 'SUSPENDU' ? 'Reprendre' : 'Suspendre', + icon: chantier.statut === 'SUSPENDU' ? 'pi pi-play' : 'pi pi-pause', + command: () => onMenuAction?.('toggle-suspend', chantier), + className: 'text-orange-500' + }, + { + label: 'Clôturer', + icon: 'pi pi-check-circle', + command: () => onMenuAction?.('close', chantier), + disabled: chantier.statut === 'TERMINE', + className: 'text-green-500' + }, + { + label: 'Archiver', + icon: 'pi pi-inbox', + command: () => onMenuAction?.('archive', chantier), + className: 'text-gray-500' + } + ] + } + ]; + + const handleMenuClick = (e: React.MouseEvent) => { + menuRef.current?.toggle(e); + }; + + const renderButton = (buttonType: ActionButtonType) => { + const config = ACTION_BUTTONS[buttonType]; + const baseClassName = `${config.className} ${sizeClasses[size]}`; + + const buttonProps = { + icon: config.icon, + tooltip: config.tooltip, + tooltipOptions: { position: 'top' as const, showDelay: 500 }, + className: baseClassName, + 'aria-label': config.tooltip + }; + + switch (buttonType) { + case 'VIEW': + return ( + + + + + ) +} + +describe('AuthContext', () => { + beforeEach(() => { + jest.clearAllMocks() + mockAuthService.getToken.mockReturnValue(null) + mockAuthService.getCurrentUserFromStorage.mockReturnValue(null) + }) + + it('devrait initialiser avec un état par défaut', async () => { + render( + + + + ) + + await waitFor(() => { + expect(screen.getByTestId('loading')).toHaveTextContent('Not Loading') + expect(screen.getByTestId('authenticated')).toHaveTextContent('Not Authenticated') + expect(screen.getByTestId('user')).toHaveTextContent('No User') + expect(screen.getByTestId('error')).toHaveTextContent('No Error') + }) + }) + + it('devrait initialiser avec un utilisateur connecté si token valide', async () => { + const mockUser = { + id: '1', + email: 'test@test.com', + nom: 'Test', + prenom: 'User', + role: UserRole.ADMIN, + telephone: '0612345678', + adresse: '123 rue Test', + codePostal: '75001', + ville: 'Paris' + } + + mockAuthService.getToken.mockReturnValue('valid-token') + mockAuthService.getCurrentUserFromStorage.mockReturnValue(mockUser) + mockAuthService.getCurrentUser.mockResolvedValue(mockUser) + + render( + + + + ) + + await waitFor(() => { + expect(screen.getByTestId('authenticated')).toHaveTextContent('Authenticated') + expect(screen.getByTestId('user')).toHaveTextContent('User: test@test.com') + }) + }) + + it('devrait nettoyer l\'état si le token est invalide', async () => { + const mockUser = { + id: '1', + email: 'test@test.com', + nom: 'Test', + prenom: 'User', + role: UserRole.ADMIN, + telephone: '0612345678', + adresse: '123 rue Test', + codePostal: '75001', + ville: 'Paris' + } + + mockAuthService.getToken.mockReturnValue('invalid-token') + mockAuthService.getCurrentUserFromStorage.mockReturnValue(mockUser) + mockAuthService.getCurrentUser.mockResolvedValue(null) + mockAuthService.logout.mockResolvedValue() + + render( + + + + ) + + await waitFor(() => { + expect(screen.getByTestId('authenticated')).toHaveTextContent('Not Authenticated') + expect(screen.getByTestId('user')).toHaveTextContent('No User') + }) + + expect(mockAuthService.logout).toHaveBeenCalled() + }) + + it('devrait gérer les erreurs d\'initialisation', async () => { + mockAuthService.getToken.mockImplementation(() => { + throw new Error('Storage error') + }) + + render( + + + + ) + + await waitFor(() => { + expect(screen.getByTestId('error')).toHaveTextContent('Erreur d\'initialisation') + expect(screen.getByTestId('authenticated')).toHaveTextContent('Not Authenticated') + }) + }) + + it('devrait lancer une erreur si utilisé hors du provider', () => { + // Supprimer les erreurs de console pour ce test + const originalError = console.error + console.error = jest.fn() + + expect(() => { + render() + }).toThrow('useAuthContext must be used within an AuthProvider') + + console.error = originalError + }) + + it('devrait permettre d\'effacer les erreurs', async () => { + mockAuthService.getToken.mockImplementation(() => { + throw new Error('Storage error') + }) + + render( + + + + ) + + await waitFor(() => { + expect(screen.getByTestId('error')).toHaveTextContent('Erreur d\'initialisation') + }) + + // Effacer l'erreur + screen.getByText('Clear Error').click() + + await waitFor(() => { + expect(screen.getByTestId('error')).toHaveTextContent('No Error') + }) + }) +}) + +describe('AuthContext avec useAuth mock', () => { + const mockUseAuth = { + user: null, + token: null, + isAuthenticated: false, + loading: false, + error: null, + login: jest.fn(), + register: jest.fn(), + logout: jest.fn(), + clearError: jest.fn(), + hasPermission: jest.fn(), + hasRole: jest.fn(), + hasAnyRole: jest.fn(), + } + + beforeEach(() => { + jest.clearAllMocks() + // Mock direct du hook useAuth + jest.doMock('../../hooks/useAuth', () => ({ + __esModule: true, + default: jest.fn(() => mockUseAuth), + })) + }) + + afterEach(() => { + jest.dontMock('../../hooks/useAuth') + }) + + it('devrait fournir toutes les méthodes du contexte', () => { + const TestHookComponent = () => { + const auth = useAuthContext() + + return ( +
+
+ {typeof auth.login === 'function' && + typeof auth.register === 'function' && + typeof auth.logout === 'function' && + typeof auth.clearError === 'function' && + typeof auth.hasPermission === 'function' && + typeof auth.hasRole === 'function' && + typeof auth.hasAnyRole === 'function' ? 'All methods available' : 'Missing methods'} +
+
+ ) + } + + render( + + + + ) + + expect(screen.getByTestId('methods-available')).toHaveTextContent('All methods available') + }) +}) \ No newline at end of file diff --git a/data/chantier-templates.ts b/data/chantier-templates.ts new file mode 100644 index 0000000..248d3f3 --- /dev/null +++ b/data/chantier-templates.ts @@ -0,0 +1,498 @@ +/** + * Base de données des templates de chantiers avec phases pré-configurées + * Basé sur les standards BTP et pratiques métier + */ + +import { ChantierTemplate, PhaseTemplate, TypeChantier, PHASES_COMMUNES } from '../types/chantier-templates'; + +// Template pour Maison Individuelle +const MAISON_INDIVIDUELLE_TEMPLATE: ChantierTemplate = { + typeChantier: 'MAISON_INDIVIDUELLE', + nom: 'Construction Maison Individuelle', + description: 'Construction neuve d\'une maison individuelle traditionnelle', + dureeMoyenneJours: 270, + phases: [ + ...PHASES_COMMUNES, + { + id: 'terrassement-fondations', + nom: 'Terrassement et fondations', + description: 'Préparation du terrain et réalisation des fondations', + ordreExecution: 4, + dureePrevueJours: 15, + critique: true, + prerequis: ['preparation-chantier'], + sousPhases: [ + { + id: 'terrassement', + nom: 'Terrassement général', + description: 'Décaissement, nivellement, évacuation terres', + ordreExecution: 1, + dureePrevueJours: 5, + materielsTypes: ['Pelle mécanique', 'Compacteur', 'Camions'], + competencesRequises: ['Conducteur d\'engins', 'Chef d\'équipe terrassement'] + }, + { + id: 'reseaux-enterres', + nom: 'Réseaux enterrés', + description: 'Eau, électricité, drainage, assainissement', + ordreExecution: 2, + dureePrevueJours: 3, + materielsTypes: ['Canalisations', 'Regards', 'Câbles'], + competencesRequises: ['Plombier', 'Électricien', 'Canalisateur'] + }, + { + id: 'fondations', + nom: 'Coulage des fondations', + description: 'Semelles filantes, longrines, vide sanitaire', + ordreExecution: 3, + dureePrevueJours: 7, + materielsTypes: ['Béton', 'Ferraillage', 'Coffrage'], + competencesRequises: ['Maçon', 'Ferrailleur', 'Coffreur'] + } + ], + materielsTypes: ['Engins de terrassement', 'Matériaux fondations'], + competencesRequises: ['Maçon', 'Conducteur d\'engins'], + controleQualite: ['Contrôle géométrie', 'Résistance béton'] + }, + { + id: 'gros-oeuvre', + nom: 'Gros œuvre', + description: 'Structure porteuse, murs, planchers, toiture', + ordreExecution: 5, + dureePrevueJours: 45, + critique: true, + prerequis: ['terrassement-fondations'], + sousPhases: [ + { + id: 'elevation-murs-porteurs', + nom: 'Élévation murs porteurs', + description: 'Murs en parpaings, poteaux, chaînages', + ordreExecution: 1, + dureePrevueJours: 20, + materielsTypes: ['Parpaings', 'Mortier', 'Ferraillage'], + competencesRequises: ['Maçon', 'Ferrailleur'] + }, + { + id: 'planchers-dalles', + nom: 'Planchers et dalles', + description: 'Hourdis, dalle béton, plancher bois', + ordreExecution: 2, + dureePrevueJours: 10, + materielsTypes: ['Hourdis', 'Béton', 'Poutrelles'], + competencesRequises: ['Maçon', 'Charpentier'] + }, + { + id: 'charpente-couverture', + nom: 'Charpente et couverture', + description: 'Charpente bois/métal, couverture, étanchéité', + ordreExecution: 3, + dureePrevueJours: 15, + materielsTypes: ['Bois charpente', 'Tuiles', 'Isolant'], + competencesRequises: ['Charpentier', 'Couvreur'] + } + ], + materielsTypes: ['Matériaux gros œuvre'], + competencesRequises: ['Maçon', 'Charpentier', 'Couvreur'], + controleQualite: ['Verticalité murs', 'Étanchéité toiture'] + }, + { + id: 'second-oeuvre', + nom: 'Second œuvre', + description: 'Menuiseries, cloisons, réseaux, finitions', + ordreExecution: 6, + dureePrevueJours: 60, + critique: false, + prerequis: ['gros-oeuvre'], + sousPhases: [ + { + id: 'menuiseries-exterieures', + nom: 'Menuiseries extérieures', + description: 'Fenêtres, portes-fenêtres, porte d\'entrée', + ordreExecution: 1, + dureePrevueJours: 5, + materielsTypes: ['Menuiseries', 'Quincaillerie'], + competencesRequises: ['Menuisier', 'Poseur'] + }, + { + id: 'cloisons-isolation', + nom: 'Cloisons et isolation', + description: 'Cloisons placo, isolation thermique/acoustique', + ordreExecution: 2, + dureePrevueJours: 15, + materielsTypes: ['Placo', 'Isolant', 'Rails'], + competencesRequises: ['Plaquiste', 'Isolateur'] + }, + { + id: 'plomberie-electricite', + nom: 'Plomberie et électricité', + description: 'Réseaux eau, électricité, chauffage', + ordreExecution: 3, + dureePrevueJours: 20, + materielsTypes: ['Canalisations', 'Câbles', 'Équipements'], + competencesRequises: ['Plombier', 'Électricien', 'Chauffagiste'] + }, + { + id: 'revetements-finitions', + nom: 'Revêtements et finitions', + description: 'Carrelage, peinture, parquet, sanitaires', + ordreExecution: 4, + dureePrevueJours: 20, + materielsTypes: ['Carrelage', 'Peinture', 'Parquet'], + competencesRequises: ['Carreleur', 'Peintre', 'Parqueteur'] + } + ], + materielsTypes: ['Matériaux second œuvre'], + competencesRequises: ['Corps d\'état secondaires'], + controleQualite: ['Conformité installations', 'Finitions qualité'] + }, + { + id: 'amenagements-exterieurs', + nom: 'Aménagements extérieurs', + description: 'Voiries, espaces verts, clôtures', + ordreExecution: 7, + dureePrevueJours: 20, + critique: false, + prerequis: ['second-oeuvre'], + sousPhases: [ + { + id: 'voiries-acces', + nom: 'Voiries et accès', + description: 'Allées, parking, accès véhicules', + ordreExecution: 1, + dureePrevueJours: 10, + materielsTypes: ['Béton', 'Enrobé', 'Pavés'], + competencesRequises: ['Maçon VRD', 'Conducteur d\'engins'] + }, + { + id: 'espaces-verts', + nom: 'Espaces verts', + description: 'Pelouse, plantations, arrosage', + ordreExecution: 2, + dureePrevueJours: 7, + materielsTypes: ['Terre végétale', 'Plants', 'Arrosage'], + competencesRequises: ['Paysagiste', 'Jardinier'] + }, + { + id: 'clotures-portails', + nom: 'Clôtures et portails', + description: 'Clôtures périmètre, portail, boîte aux lettres', + ordreExecution: 3, + dureePrevueJours: 3, + materielsTypes: ['Clôtures', 'Portail', 'Serrurerie'], + competencesRequises: ['Poseur clôtures', 'Serrurier'] + } + ], + materielsTypes: ['Matériaux VRD'], + competencesRequises: ['Équipe VRD', 'Paysagiste'], + controleQualite: ['Évacuation eaux pluviales', 'Finitions extérieures'] + }, + { + id: 'controles-reception', + nom: 'Contrôles et réception', + description: 'Vérifications, tests, réception des travaux', + ordreExecution: 8, + dureePrevueJours: 10, + critique: true, + prerequis: ['amenagements-exterieurs'], + sousPhases: [ + { + id: 'controles-techniques', + nom: 'Contrôles techniques', + description: 'Consuel, DPE, contrôles réglementaires', + ordreExecution: 1, + dureePrevueJours: 5, + competencesRequises: ['Organisme contrôle', 'Diagnostiqueur'] + }, + { + id: 'levee-reserves', + nom: 'Levée des réserves', + description: 'Correction défauts, finitions', + ordreExecution: 2, + dureePrevueJours: 3, + competencesRequises: ['Tous corps d\'état'] + }, + { + id: 'reception-definitive', + nom: 'Réception définitive', + description: 'PV réception, remise clés, garanties', + ordreExecution: 3, + dureePrevueJours: 2, + competencesRequises: ['Maître d\'œuvre', 'Maître d\'ouvrage'] + } + ], + competencesRequises: ['Maître d\'œuvre', 'Organismes de contrôle'], + controleQualite: ['Conformité réglementaire', 'Satisfaction client'] + } + ], + specificites: [ + 'RT 2020 ou RE 2020', + 'Accessibilité PMR si requis', + 'Performance énergétique', + 'Qualité environnementale' + ], + reglementations: [ + 'Code de la construction', + 'Réglementation thermique', + 'Normes électriques NF C 15-100', + 'DTU applicables' + ] +}; + +// Template pour Immeuble Collectif +const IMMEUBLE_COLLECTIF_TEMPLATE: ChantierTemplate = { + typeChantier: 'IMMEUBLE_COLLECTIF', + nom: 'Construction Immeuble Collectif', + description: 'Construction d\'un immeuble d\'habitation collectif', + dureeMoyenneJours: 540, + phases: [ + ...PHASES_COMMUNES, + { + id: 'terrassement-fondations-collectif', + nom: 'Terrassement et fondations', + description: 'Préparation terrain et fondations pour immeuble', + ordreExecution: 4, + dureePrevueJours: 30, + critique: true, + prerequis: ['preparation-chantier'], + sousPhases: [ + { + id: 'terrassement-general', + nom: 'Terrassement général', + description: 'Décaissement, parking sous-sol éventuel', + ordreExecution: 1, + dureePrevueJours: 10, + materielsTypes: ['Engins lourds', 'Évacuation terres'], + competencesRequises: ['Conducteur d\'engins', 'Chef terrassement'] + }, + { + id: 'reseaux-collectifs', + nom: 'Réseaux collectifs', + description: 'Réseaux eau, gaz, électricité, télécoms', + ordreExecution: 2, + dureePrevueJours: 8, + materielsTypes: ['Réseaux enterrés', 'Compteurs collectifs'], + competencesRequises: ['Spécialistes réseaux', 'Canalisateur'] + }, + { + id: 'fondations-profondes', + nom: 'Fondations profondes', + description: 'Pieux, semelles, voiles béton armé', + ordreExecution: 3, + dureePrevueJours: 12, + materielsTypes: ['Béton haute résistance', 'Ferraillage lourd'], + competencesRequises: ['Maçon béton armé', 'Ferrailleur'] + } + ], + materielsTypes: ['Engins lourds', 'Béton armé'], + competencesRequises: ['Maçon BA', 'Conducteur d\'engins'], + controleQualite: ['Bureau contrôle', 'Résistance béton'] + }, + { + id: 'gros-oeuvre-collectif', + nom: 'Gros œuvre structure', + description: 'Structure béton armé, refends, planchers', + ordreExecution: 5, + dureePrevueJours: 120, + critique: true, + prerequis: ['terrassement-fondations-collectif'], + sousPhases: [ + { + id: 'structure-ba', + nom: 'Structure béton armé', + description: 'Poteaux, poutres, voiles porteurs', + ordreExecution: 1, + dureePrevueJours: 60, + materielsTypes: ['Béton armé', 'Coffrages'], + competencesRequises: ['Maçon BA', 'Coffreur', 'Ferrailleur'] + }, + { + id: 'planchers-etages', + nom: 'Planchers étages', + description: 'Dalles BA, prédalles pour chaque niveau', + ordreExecution: 2, + dureePrevueJours: 40, + materielsTypes: ['Prédalles', 'Béton', 'Treillis soudé'], + competencesRequises: ['Maçon', 'Grutier'] + }, + { + id: 'toiture-terrasse', + nom: 'Toiture terrasse', + description: 'Dalle haute, étanchéité, isolation', + ordreExecution: 3, + dureePrevueJours: 20, + materielsTypes: ['Étanchéité', 'Isolation', 'Protection'], + competencesRequises: ['Étancheur', 'Couvreur'] + } + ], + materielsTypes: ['Béton armé', 'Coffrages'], + competencesRequises: ['Maçon BA', 'Grutier'], + controleQualite: ['Bureau contrôle', 'Suivi béton'] + }, + // ... Autres phases spécifiques au collectif + { + id: 'second-oeuvre-collectif', + nom: 'Second œuvre collectif', + description: 'Aménagements intérieurs, équipements collectifs', + ordreExecution: 6, + dureePrevueJours: 150, + critique: false, + prerequis: ['gros-oeuvre-collectif'], + sousPhases: [ + { + id: 'cloisons-distribution', + nom: 'Cloisons et distribution', + description: 'Refends, cloisons séparatives, gaines techniques', + ordreExecution: 1, + dureePrevueJours: 40, + materielsTypes: ['Cloisons BA13', 'Gaines techniques'], + competencesRequises: ['Plaquiste', 'Cloisionneur'] + }, + { + id: 'lots-techniques', + nom: 'Lots techniques', + description: 'Plomberie, électricité, chauffage collectif, VMC', + ordreExecution: 2, + dureePrevueJours: 60, + materielsTypes: ['Équipements techniques', 'Réseaux'], + competencesRequises: ['Plombier', 'Électricien', 'Chauffagiste', 'Ventiliste'] + }, + { + id: 'finitions-logements', + nom: 'Finitions logements', + description: 'Sols, peintures, équipements sanitaires', + ordreExecution: 3, + dureePrevueJours: 50, + materielsTypes: ['Revêtements', 'Sanitaires', 'Peintures'], + competencesRequises: ['Carreleur', 'Peintre', 'Plombier'] + } + ], + materielsTypes: ['Équipements second œuvre'], + competencesRequises: ['Corps d\'état techniques'], + controleQualite: ['Performance énergétique', 'Acoustique'] + } + ], + specificites: [ + 'Accessibilité PMR obligatoire', + 'Parties communes', + 'Équipements collectifs', + 'Performance énergétique renforcée', + 'Acoustique réglementaire' + ], + reglementations: [ + 'Code de la construction (habitation)', + 'Accessibilité PMR', + 'Réglementation incendie ERP', + 'Acoustique NRA', + 'RT 2020' + ] +}; + +// Template pour Bureau Commercial +const BUREAU_COMMERCIAL_TEMPLATE: ChantierTemplate = { + typeChantier: 'BUREAU_COMMERCIAL', + nom: 'Construction Bureau/Commerce', + description: 'Bâtiment tertiaire à usage de bureau ou commercial', + dureeMoyenneJours: 360, + phases: [ + ...PHASES_COMMUNES, + // Phases spécifiques tertiaire avec espaces modulaires, + // parking, accessibilité ERP, réseaux informatiques... + ], + specificites: [ + 'Espaces modulaires', + 'Accessibilité ERP', + 'Parking dimensionné', + 'Réseaux informatiques', + 'Climatisation' + ], + reglementations: [ + 'ERP (Établissement Recevant du Public)', + 'Code du travail (locaux)', + 'Accessibilité PMR', + 'Réglementation incendie' + ] +}; + +// Base de données des templates +export const CHANTIER_TEMPLATES: Record = { + MAISON_INDIVIDUELLE: MAISON_INDIVIDUELLE_TEMPLATE, + IMMEUBLE_COLLECTIF: IMMEUBLE_COLLECTIF_TEMPLATE, + BUREAU_COMMERCIAL: BUREAU_COMMERCIAL_TEMPLATE, + + // Autres types (versions simplifiées pour l'exemple) + RENOVATION_RESIDENTIELLE: { + typeChantier: 'RENOVATION_RESIDENTIELLE', + nom: 'Rénovation Résidentielle', + description: 'Rénovation complète ou partielle d\'habitat', + dureeMoyenneJours: 180, + phases: [...PHASES_COMMUNES.slice(0, 2), /* phases spécifiques rénovation */], + specificites: ['Diagnostics préalables', 'Désamiantage éventuel', 'Isolation renforcée'], + reglementations: ['Diagnostic amiante', 'Performance énergétique'] + }, + + EXTENSION_RESIDENTIELLE: { + typeChantier: 'EXTENSION_RESIDENTIELLE', + nom: 'Extension Résidentielle', + description: 'Extension d\'une habitation existante', + dureeMoyenneJours: 120, + phases: [...PHASES_COMMUNES.slice(0, 2), /* phases spécifiques extension */], + specificites: ['Raccordement existant', 'Harmonie architecturale'], + reglementations: ['Permis de construire ou déclaration préalable'] + }, + + // Templates simplifiés pour les autres types + CENTRE_COMMERCIAL: { + typeChantier: 'CENTRE_COMMERCIAL', + nom: 'Centre Commercial', + description: 'Construction d\'un centre commercial', + dureeMoyenneJours: 720, + phases: [...PHASES_COMMUNES], + specificites: ['Grande portée', 'Équipements spécialisés', 'Fluides complexes'], + reglementations: ['ERP 1ère catégorie', 'Commission de sécurité'] + }, + + // ... (autres templates similaires pour tous les types) + ETABLISSEMENT_SCOLAIRE: { typeChantier: 'ETABLISSEMENT_SCOLAIRE', nom: 'Établissement Scolaire', description: '', dureeMoyenneJours: 600, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + ETABLISSEMENT_SANTE: { typeChantier: 'ETABLISSEMENT_SANTE', nom: 'Établissement de Santé', description: '', dureeMoyenneJours: 900, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + ETABLISSEMENT_SPORTIF: { typeChantier: 'ETABLISSEMENT_SPORTIF', nom: 'Établissement Sportif', description: '', dureeMoyenneJours: 480, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + ENTREPOT_LOGISTIQUE: { typeChantier: 'ENTREPOT_LOGISTIQUE', nom: 'Entrepôt Logistique', description: '', dureeMoyenneJours: 240, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + VOIRIE_URBAINE: { typeChantier: 'VOIRIE_URBAINE', nom: 'Voirie Urbaine', description: '', dureeMoyenneJours: 150, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + AUTOROUTE: { typeChantier: 'AUTOROUTE', nom: 'Autoroute', description: '', dureeMoyenneJours: 1080, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + PONT_VIADUC: { typeChantier: 'PONT_VIADUC', nom: 'Pont/Viaduc', description: '', dureeMoyenneJours: 900, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + TUNNEL: { typeChantier: 'TUNNEL', nom: 'Tunnel', description: '', dureeMoyenneJours: 1440, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + PARKING: { typeChantier: 'PARKING', nom: 'Parking', description: '', dureeMoyenneJours: 120, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + AIRE_AMENAGEE: { typeChantier: 'AIRE_AMENAGEE', nom: 'Aire Aménagée', description: '', dureeMoyenneJours: 90, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + USINE_INDUSTRIELLE: { typeChantier: 'USINE_INDUSTRIELLE', nom: 'Usine Industrielle', description: '', dureeMoyenneJours: 720, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + CENTRALE_ENERGIE: { typeChantier: 'CENTRALE_ENERGIE', nom: 'Centrale Énergétique', description: '', dureeMoyenneJours: 1800, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + STATION_EPURATION: { typeChantier: 'STATION_EPURATION', nom: 'Station d\'Épuration', description: '', dureeMoyenneJours: 540, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + INSTALLATION_CHIMIQUE: { typeChantier: 'INSTALLATION_CHIMIQUE', nom: 'Installation Chimique', description: '', dureeMoyenneJours: 960, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + PISCINE: { typeChantier: 'PISCINE', nom: 'Piscine', description: '', dureeMoyenneJours: 90, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + COURT_TENNIS: { typeChantier: 'COURT_TENNIS', nom: 'Court de Tennis', description: '', dureeMoyenneJours: 45, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + TERRAIN_SPORT: { typeChantier: 'TERRAIN_SPORT', nom: 'Terrain de Sport', description: '', dureeMoyenneJours: 60, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + MONUMENT_HISTORIQUE: { typeChantier: 'MONUMENT_HISTORIQUE', nom: 'Monument Historique', description: '', dureeMoyenneJours: 720, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] }, + OUVRAGE_ART: { typeChantier: 'OUVRAGE_ART', nom: 'Ouvrage d\'Art', description: '', dureeMoyenneJours: 540, phases: [...PHASES_COMMUNES], specificites: [], reglementations: [] } +}; + +// Fonction utilitaire pour récupérer un template +export function getChantierTemplate(typeChantier: TypeChantier): ChantierTemplate { + return CHANTIER_TEMPLATES[typeChantier]; +} + +// Fonction pour générer les phases d'un chantier +export function generatePhasesFromTemplate(typeChantier: TypeChantier, dateDebut: Date): PhaseTemplate[] { + const template = getChantierTemplate(typeChantier); + let currentDate = new Date(dateDebut); + + return template.phases.map(phase => { + const phaseWithDates = { + ...phase, + dateDebutPrevue: new Date(currentDate), + dateFinPrevue: new Date(currentDate.getTime() + (phase.dureePrevueJours * 24 * 60 * 60 * 1000)) + }; + + // Avancer la date pour la phase suivante + currentDate = new Date(phaseWithDates.dateFinPrevue); + + return phaseWithDates; + }); +} \ No newline at end of file diff --git a/data/materiaux-database.ts b/data/materiaux-database.ts new file mode 100644 index 0000000..6dba34d --- /dev/null +++ b/data/materiaux-database.ts @@ -0,0 +1,920 @@ +/** + * BASE DE DONNÉES ULTRA-DÉTAILLÉE DES MATÉRIAUX BTP + * Système le plus ambitieux d'Afrique - Tous les détails techniques + * Spécifications pour climat tropical, normes africaines, calculs précis + */ + +// ================== TYPES DE BASE ================== + +export interface DimensionsTechniques { + longueur: number; // mm + largeur: number; // mm + hauteur: number; // mm + epaisseur?: number; // mm + diametre?: number; // mm pour tubes, fers ronds + rayonCourbure?: number; // mm pour éléments courbes + tolerance: number; // mm - tolérance de fabrication +} + +export interface ProprietesPhysiques { + densite: number; // kg/m³ + resistanceCompression: number; // MPa + resistanceTraction: number; // MPa + resistanceFlexion: number; // MPa + moduleElasticite: number; // GPa + coefficientDilatation: number; // /°C + absorptionEau: number; // % + porosite: number; // % + conductiviteThermique: number; // W/m.K + resistanceGel: boolean; + resistanceIntemperies: 'EXCELLENT' | 'BON' | 'MOYEN' | 'FAIBLE'; +} + +export interface SpecificationsClimatiques { + temperatureMin: number; // °C + temperatureMax: number; // °C + humiditeMax: number; // % + resistanceUV: 'EXCELLENT' | 'BON' | 'MOYEN' | 'FAIBLE'; + resistancePluie: 'EXCELLENT' | 'BON' | 'MOYEN' | 'FAIBLE'; + resistanceVentFort: boolean; + adaptationSaison: { + saison: 'SECHE' | 'PLUIES' | 'HARMATTAN'; + recommandations: string[]; + }[]; +} + +export interface NormesAfricaines { + norme: string; // ex: "NF EN 197-1", "ASTM C150", "BS 12" + classification: string; + certificationRequise: boolean; + organismeControle: string[]; + testsObligatoires: string[]; + marquageCE: boolean; + conformiteEAC?: boolean; // East African Community + conformiteECOWAS?: boolean; // Economic Community of West African States + conformiteSADC?: boolean; // Southern African Development Community +} + +export interface CalculsQuantification { + uniteBase: string; // m², m³, kg, pièce, ml + facteurPerte: number; // % de perte normale + facteurSurapprovisionnement: number; // % de marge sécurité + modeFourniture: 'VRAC' | 'PALETTE' | 'SACS' | 'PIECES'; + conditionnement: { + quantiteParUnite: number; + poidsUnitaire: number; // kg + dimensionsEmballage: DimensionsTechniques; + }; + calculAutomatique: { + formule: string; // formule de calcul automatique + parametres: string[]; // paramètres nécessaires + }; +} + +export interface MaterielBTP { + id: string; + nom: string; + categorie: 'GROS_OEUVRE' | 'SECOND_OEUVRE' | 'FINITIONS' | 'ISOLATION' | 'ETANCHEITE' | 'EQUIPEMENTS'; + sousCategorie: string; + + // Spécifications techniques détaillées + dimensions: DimensionsTechniques; + proprietes: ProprietesPhysiques; + climatique: SpecificationsClimatiques; + normes: NormesAfricaines; + quantification: CalculsQuantification; + + // Informations commerciales + marques: { + nom: string; + origine: string; + certifie: boolean; + prix: { + devise: 'XOF' | 'XAF' | 'USD' | 'EUR'; + montant: number; + unite: string; + }[]; + }[]; + + fournisseurs: { + nom: string; + pays: string; + ville: string; + delaiLivraison: number; // jours + quantiteMinimale: number; + conditions: string[]; + }[]; + + // Mise en œuvre + miseEnOeuvre: { + outillageNecessaire: string[]; + competencesRequises: string[]; + tempsUnitaire: number; // minutes par unité + conditionsMeteo: string[]; + temperatureOptimale: { min: number; max: number }; + precautions: string[]; + }; + + // Qualité et contrôle + controleQualite: { + testReception: string[]; + frequenceControle: string; + critereAcceptation: string[]; + defautsFrequents: string[]; + }; + + // Durabilité et maintenance + durabilite: { + dureeVieEstimee: number; // années + maintenanceRequise: boolean; + frequenceMaintenance?: string; + signesdUsure: string[]; + remplacement: string[]; + }; +} + +// ================== BASE DE DONNÉES MATÉRIAUX ================== + +export const MATERIAUX_BTP_DATABASE: MaterielBTP[] = [ + + // =================== MAÇONNERIE =================== + { + id: 'brique-rouge-15x10x5', + nom: 'Brique Rouge Pleine 15x10x5cm', + categorie: 'GROS_OEUVRE', + sousCategorie: 'Maçonnerie - Briques', + + dimensions: { + longueur: 150, + largeur: 100, + hauteur: 50, + tolerance: 2 + }, + + proprietes: { + densite: 1800, + resistanceCompression: 15, + resistanceTraction: 2.5, + resistanceFlexion: 4.2, + moduleElasticite: 12000, + coefficientDilatation: 0.000006, + absorptionEau: 12, + porosite: 18, + conductiviteThermique: 0.85, + resistanceGel: true, + resistanceIntemperies: 'EXCELLENT' + }, + + climatique: { + temperatureMin: -10, + temperatureMax: 60, + humiditeMax: 95, + resistanceUV: 'EXCELLENT', + resistancePluie: 'EXCELLENT', + resistanceVentFort: true, + adaptationSaison: [ + { + saison: 'PLUIES', + recommandations: [ + 'Protection contre l\'eau pendant stockage', + 'Séchage avant pose si humide', + 'Éviter pose sous pluie battante' + ] + }, + { + saison: 'SECHE', + recommandations: [ + 'Humidification avant pose', + 'Protection solaire du mortier', + 'Arrosage après pose' + ] + } + ] + }, + + normes: { + norme: 'NF EN 771-1', + classification: 'M10 - FB 15', + certificationRequise: true, + organismeControle: ['CSTB', 'CERIB'], + testsObligatoires: [ + 'Résistance compression', + 'Absorption d\'eau', + 'Dimensions et tolérances', + 'Gel/dégel' + ], + marquageCE: true, + conformiteECOWAS: true + }, + + quantification: { + uniteBase: 'pièce', + facteurPerte: 5, + facteurSurapprovisionnement: 10, + modeFourniture: 'PALETTE', + conditionnement: { + quantiteParUnite: 500, + poidsUnitaire: 1.35, // kg par brique + dimensionsEmballage: { + longueur: 1200, + largeur: 800, + hauteur: 1000, + tolerance: 0 + } + }, + calculAutomatique: { + formule: '(surface_mur * 1000000) / (longueur * hauteur) / epaisseur_mur_en_briques', + parametres: ['surface_mur_m2', 'epaisseur_mur_cm'] + } + }, + + marques: [ + { + nom: 'Briqueterie du Sahel', + origine: 'Burkina Faso', + certifie: true, + prix: [ + { devise: 'XOF', montant: 45, unite: 'pièce' }, + { devise: 'XOF', montant: 22500, unite: 'palette_500' } + ] + }, + { + nom: 'CIMAF Briques', + origine: 'Côte d\'Ivoire', + certifie: true, + prix: [ + { devise: 'XOF', montant: 50, unite: 'pièce' }, + { devise: 'XOF', montant: 24000, unite: 'palette_500' } + ] + } + ], + + fournisseurs: [ + { + nom: 'Matériaux Modernes Abidjan', + pays: 'Côte d\'Ivoire', + ville: 'Abidjan', + delaiLivraison: 3, + quantiteMinimale: 1000, + conditions: ['Paiement comptant -3%', 'Livraison gratuite >5000 pièces'] + } + ], + + miseEnOeuvre: { + outillageNecessaire: [ + 'Truelle', + 'Niveau à bulle', + 'Cordeau', + 'Seau mortier', + 'Taloche', + 'Martelet caoutchouc' + ], + competencesRequises: ['Maçon qualifié', 'Lecture de plan'], + tempsUnitaire: 3, // 3min par brique posée + conditionsMeteo: ['Pas de pluie', 'Température > 5°C'], + temperatureOptimale: { min: 15, max: 35 }, + precautions: [ + 'Humidifier les briques avant pose', + 'Mortier dosé à 350kg/m³', + 'Joints de 10-12mm', + 'Appareillage en quinconce' + ] + }, + + controleQualite: { + testReception: [ + 'Vérification dimensions', + 'Test sonore (percussion)', + 'Contrôle visuel fissures', + 'Vérification planéité' + ], + frequenceControle: '1% des briques par lot', + critereAcceptation: [ + 'Dimensions ±2mm', + 'Pas de fissures > 1mm', + 'Couleur homogène', + 'Son clair à la percussion' + ], + defautsFrequents: [ + 'Fissures de séchage', + 'Variations dimensionnelles', + 'Éclats d\'angles', + 'Couleur hétérogène' + ] + }, + + durabilite: { + dureeVieEstimee: 100, + maintenanceRequise: false, + signesdUsure: [ + 'Efflorescence', + 'Fissuration', + 'Érosion des joints' + ], + remplacement: [ + 'Reprise de maçonnerie localisée', + 'Rejointoiement si nécessaire' + ] + } + }, + + // =================== BÉTON ARMÉ - FER À BÉTON =================== + { + id: 'fer-beton-ha-12mm', + nom: 'Fer à Béton HA 12mm - Haute Adhérence', + categorie: 'GROS_OEUVRE', + sousCategorie: 'Béton Armé - Armatures', + + dimensions: { + longueur: 12000, // barre de 12m standard + largeur: 0, + hauteur: 0, + diametre: 12, + tolerance: 0.5 + }, + + proprietes: { + densite: 7850, // kg/m³ acier + resistanceCompression: 500, // MPa (limite élastique) + resistanceTraction: 550, // MPa + resistanceFlexion: 550, + moduleElasticite: 200000, // GPa + coefficientDilatation: 0.000012, + absorptionEau: 0, + porosite: 0, + conductiviteThermique: 50, + resistanceGel: true, + resistanceIntemperies: 'MOYEN' // nécessite protection + }, + + climatique: { + temperatureMin: -40, + temperatureMax: 80, + humiditeMax: 100, + resistanceUV: 'BON', + resistancePluie: 'MOYEN', // corrosion possible + resistanceVentFort: true, + adaptationSaison: [ + { + saison: 'PLUIES', + recommandations: [ + 'Stockage sur chevrons, hors sol', + 'Bâchage étanche obligatoire', + 'Contrôle rouille avant mise en œuvre', + 'Nettoyage si corrosion superficielle' + ] + }, + { + saison: 'SECHE', + recommandations: [ + 'Protection UV des barres stockées', + 'Éviter surchauffe >60°C', + 'Humidification du béton de coulage' + ] + } + ] + }, + + normes: { + norme: 'NF A 35-080-1', + classification: 'FeE500 - HA', + certificationRequise: true, + organismeControle: ['AFNOR', 'CSTB'], + testsObligatoires: [ + 'Traction - limite élastique', + 'Traction - résistance rupture', + 'Allongement rupture', + 'Pliage-dépliage', + 'Géométrie des verrous' + ], + marquageCE: true, + conformiteECOWAS: true, + conformiteSADC: true + }, + + quantification: { + uniteBase: 'kg', + facteurPerte: 8, // chutes + façonnage + facteurSurapprovisionnement: 15, + modeFourniture: 'VRAC', + conditionnement: { + quantiteParUnite: 2000, // kg par lot + poidsUnitaire: 0.888, // kg/ml pour Ø12 + dimensionsEmballage: { + longueur: 12000, + largeur: 200, + hauteur: 200, + tolerance: 0 + } + }, + calculAutomatique: { + formule: 'surface_dalle * epaisseur_dalle * densite_armature_kg_m3', + parametres: ['surface_m2', 'epaisseur_cm', 'ratio_armature_kg_m3'] + } + }, + + marques: [ + { + nom: 'ACIERIES du Bénin', + origine: 'Bénin', + certifie: true, + prix: [ + { devise: 'XOF', montant: 850, unite: 'kg' }, + { devise: 'XOF', montant: 1700000, unite: 'tonne' } + ] + }, + { + nom: 'SIDEX Mali', + origine: 'Mali', + certifie: true, + prix: [ + { devise: 'XOF', montant: 820, unite: 'kg' }, + { devise: 'XOF', montant: 1640000, unite: 'tonne' } + ] + } + ], + + fournisseurs: [ + { + nom: 'Négoce Sidérurgie Ouest-Afrique', + pays: 'Sénégal', + ville: 'Dakar', + delaiLivraison: 7, + quantiteMinimale: 500, + conditions: ['Transport inclus >1T', 'Façonnage sur demande'] + } + ], + + miseEnOeuvre: { + outillageNecessaire: [ + 'Coupe-boulons Ø12', + 'Cintreuse manuelle', + 'Ployeur d\'acier', + 'Ligatures fil de fer', + 'Mètre ruban', + 'Équerre de maçon' + ], + competencesRequises: ['Ferrailleur qualifié', 'Lecture plans ferraillage'], + tempsUnitaire: 120, // 2h par 100kg façonnage + pose + conditionsMeteo: ['Pas de pluie pendant bétonnage'], + temperatureOptimale: { min: 5, max: 35 }, + precautions: [ + 'Enrobage minimum 2,5cm', + 'Recouvrement 40Ø minimum', + 'Calage armatures avec cales béton', + 'Vérification espacement barres', + 'Nettoyage rouille si nécessaire' + ] + }, + + controleQualite: { + testReception: [ + 'Vérification marquage acier', + 'Contrôle diamètre pied à coulisse', + 'Essai pliage manuel', + 'Contrôle rectitude', + 'État de surface (rouille)' + ], + frequenceControle: '10% des barres par livraison', + critereAcceptation: [ + 'Marquage conforme norme', + 'Diamètre ±0,5mm', + 'Pas de rouille adhérente', + 'Rectitude <5mm/m', + 'Nervures conformes' + ], + defautsFrequents: [ + 'Corrosion superficielle', + 'Défauts de nervurage', + 'Variations de diamètre', + 'Courbure excessive' + ] + }, + + durabilite: { + dureeVieEstimee: 50, + maintenanceRequise: false, + signesdUsure: [ + 'Corrosion si enrobage insuffisant', + 'Fissuration béton par gonflement rouille' + ], + remplacement: [ + 'Reprise béton si corrosion avancée', + 'Renforcement structure si nécessaire' + ] + } + }, + + // =================== BÉTON - CIMENT =================== + { + id: 'ciment-portland-cem1-525', + nom: 'Ciment Portland CEM I 52.5 N', + categorie: 'GROS_OEUVRE', + sousCategorie: 'Béton - Liants', + + dimensions: { + longueur: 0, + largeur: 0, + hauteur: 0, + tolerance: 0 + }, + + proprietes: { + densite: 3150, // kg/m³ ciment pur + resistanceCompression: 52.5, // MPa à 28j + resistanceTraction: 0, + resistanceFlexion: 0, + moduleElasticite: 0, + coefficientDilatation: 0.00001, + absorptionEau: 0, + porosite: 0, + conductiviteThermique: 1.4, + resistanceGel: true, + resistanceIntemperies: 'EXCELLENT' + }, + + climatique: { + temperatureMin: 5, + temperatureMax: 50, + humiditeMax: 85, + resistanceUV: 'EXCELLENT', + resistancePluie: 'EXCELLENT', + resistanceVentFort: true, + adaptationSaison: [ + { + saison: 'PLUIES', + recommandations: [ + 'Stockage impérativement au sec', + 'Palettes surélevées obligatoires', + 'Bâchage étanche renforcé', + 'Rotation stock (premier entré = premier sorti)', + 'Contrôle prise avant usage si humidité' + ] + }, + { + saison: 'SECHE', + recommandations: [ + 'Protection chaleur excessive >40°C', + 'Humidification granulats et eau', + 'Coulage tôt le matin ou tard le soir', + 'Cure humide prolongée 7 jours minimum' + ] + } + ] + }, + + normes: { + norme: 'NF EN 197-1', + classification: 'CEM I 52.5 N', + certificationRequise: true, + organismeControle: ['AFNOR', 'CERIB'], + testsObligatoires: [ + 'Résistance compression 2j, 7j, 28j', + 'Temps de prise début/fin', + 'Expansion Le Chatelier', + 'Finesse Blaine', + 'Composition chimique' + ], + marquageCE: true, + conformiteECOWAS: true + }, + + quantification: { + uniteBase: 'kg', + facteurPerte: 3, + facteurSurapprovisionnement: 10, + modeFourniture: 'SACS', + conditionnement: { + quantiteParUnite: 50, // sac de 50kg + poidsUnitaire: 50, + dimensionsEmballage: { + longueur: 600, + largeur: 400, + hauteur: 120, + tolerance: 0 + } + }, + calculAutomatique: { + formule: 'volume_beton_m3 * dosage_ciment_kg_m3', + parametres: ['volume_beton_m3', 'classe_resistance', 'type_ouvrage'] + } + }, + + marques: [ + { + nom: 'CIMTOGO', + origine: 'Togo', + certifie: true, + prix: [ + { devise: 'XOF', montant: 4200, unite: 'sac_50kg' }, + { devise: 'XOF', montant: 84, unite: 'kg' } + ] + }, + { + nom: 'CIMENTS du Sahel', + origine: 'Burkina Faso', + certifie: true, + prix: [ + { devise: 'XOF', montant: 4000, unite: 'sac_50kg' }, + { devise: 'XOF', montant: 80, unite: 'kg' } + ] + } + ], + + fournisseurs: [ + { + nom: 'Distribution BTP Sahel', + pays: 'Mali', + ville: 'Bamako', + delaiLivraison: 2, + quantiteMinimale: 1000, + conditions: ['Livraison camion souffleur', 'Stockage silo si >5T'] + } + ], + + miseEnOeuvre: { + outillageNecessaire: [ + 'Bétonnière ou centrale béton', + 'Pelle, seau doseur', + 'Vibreur béton', + 'Taloche, règle', + 'Pulvérisateur cure', + 'Bâches protection' + ], + competencesRequises: ['Maçon béton armé', 'Dosage béton'], + tempsUnitaire: 30, // 30min par m³ fabrication + coulage + conditionsMeteo: ['Température 5-35°C', 'Pas de gel', 'Pas pluie battante'], + temperatureOptimale: { min: 15, max: 25 }, + precautions: [ + 'Dosage précis selon classe résistance', + 'Malaxage minimum 2 minutes', + 'Coulage dans les 1h30', + 'Vibration complète sans ségrégation', + 'Cure humide 7j minimum climat tropical' + ] + }, + + controleQualite: { + testReception: [ + 'Vérification date fabrication <3 mois', + 'Contrôle emballage (pas de trous)', + 'Test prise main (pas de grumeaux durs)', + 'Couleur gris homogène', + 'Marquage conforme sac' + ], + frequenceControle: '1 sac par palette', + critereAcceptation: [ + 'Date <90j', + 'Pas de prise en sac', + 'Pas de contamination', + 'Marquage CE visible', + 'Finesse tactile correcte' + ], + defautsFrequents: [ + 'Prise prématurée (humidité)', + 'Grumeaux durs', + 'Contamination plâtre', + 'Sacs percés' + ] + }, + + durabilite: { + dureeVieEstimee: 100, + maintenanceRequise: false, + signesdUsure: [ + 'Carbonatation surface', + 'Microfissuration retrait', + 'Décoloration' + ], + remplacement: [ + 'Réparation béton si dégradation', + 'Protection surface si nécessaire' + ] + } + } + + // [La base sera étendue avec TOUS les matériaux : sables, graviers, carrelages, + // peintures, isolants, menuiseries, plomberie, électricité, etc.] +]; + +// ================== CALCULS AUTOMATIQUES AVANCÉS ================== + +export class CalculateurBTPAfrique { + + /** + * Calcul ultra-précis quantité briques pour mur + */ + static calculerBriquesMur(params: { + longueur: number; // m + hauteur: number; // m + epaisseur: number; // cm (10, 15, 20) + ouvertures?: { largeur: number; hauteur: number }[]; // portes/fenêtres + typeAppareillage: 'DROIT' | 'QUINCONCE' | 'FLAMAND'; + jointHorizontal: number; // mm (généralement 10-12) + jointVertical: number; // mm (généralement 10-12) + }) { + + const { longueur, hauteur, epaisseur, ouvertures = [], + typeAppareillage, jointHorizontal, jointVertical } = params; + + // Dimensions brique standard (peut être paramétrable) + const brique = MATERIAUX_BTP_DATABASE.find(m => m.id === 'brique-rouge-15x10x5')!; + const largeurBrique = brique.dimensions.longueur; // 150mm + const hauteurBrique = brique.dimensions.hauteur; // 50mm + + // Surface nette mur + let surfaceMur = longueur * hauteur; + + // Déduction ouvertures + for (const ouverture of ouvertures) { + surfaceMur -= ouverture.largeur * ouverture.hauteur; + } + + // Nombre de briques par m² + const largeurAvecJoint = largeurBrique + jointVertical; + const hauteurAvecJoint = hauteurBrique + jointHorizontal; + + const briquesParM2 = (1000 / largeurAvecJoint) * (1000 / hauteurAvecJoint); + + // Nombre briques selon appareillage + let coefficientAppareillage = 1; + switch (typeAppareillage) { + case 'QUINCONCE': + coefficientAppareillage = 1.02; // légère surconsommation + break; + case 'FLAMAND': + coefficientAppareillage = 1.15; // appareillage décoratif + break; + } + + // Épaisseur mur (nombre de briques en épaisseur) + const nombreCouchesEpaisseur = Math.ceil(epaisseur * 10 / brique.dimensions.largeur); + + const nombreBriques = Math.ceil( + surfaceMur * briquesParM2 * coefficientAppareillage * nombreCouchesEpaisseur + ); + + // Calcul mortier + const volumeMortier = this.calculerMortierMaconnerie({ + nombreBriques, + jointHorizontal, + jointVertical, + surfaceMur, + epaisseurMur: epaisseur + }); + + return { + nombreBriques, + briquesParM2: Math.round(briquesParM2), + surfaceNette: surfaceMur, + coefficientAppareillage, + mortier: volumeMortier, + details: { + largeurAvecJoint, + hauteurAvecJoint, + nombreCouchesEpaisseur + } + }; + } + + /** + * Calcul volume mortier pour maçonnerie + */ + static calculerMortierMaconnerie(params: { + nombreBriques: number; + jointHorizontal: number; // mm + jointVertical: number; // mm + surfaceMur: number; // m² + epaisseurMur: number; // cm + }) { + + const { nombreBriques, jointHorizontal, jointVertical, surfaceMur, epaisseurMur } = params; + + // Volume joints approximatif = 15% du volume briques + const volumeBriques = nombreBriques * 0.15 * 0.10 * 0.05; // m³ + const volumeMortier = volumeBriques * 0.25; // 25% du volume briques + + // Dosage mortier standard maçonnerie : 350kg ciment/m³ + const cimentKg = volumeMortier * 350; + const sableM3 = volumeMortier * 0.8; // 800L sable par m³ mortier + const eauLitres = volumeMortier * 175; // 175L eau par m³ + + return { + volumeTotal: volumeMortier, + dosage: { + ciment: Math.ceil(cimentKg), + sable: Math.ceil(sableM3 * 1000), // en litres + eau: Math.ceil(eauLitres) + }, + nombreSacsCiment50kg: Math.ceil(cimentKg / 50) + }; + } + + /** + * Calcul béton armé dalle - ULTRA DÉTAILLÉ + */ + static calculerBetonArme(params: { + longueur: number; // m + largeur: number; // m + epaisseur: number; // cm + typeOuvrage: 'DALLE' | 'POUTRE' | 'POTEAU' | 'VOILE'; + classeBeton: 'C20/25' | 'C25/30' | 'C30/37' | 'C35/45'; + classeExposition: 'XC1' | 'XC3' | 'XC4' | 'XS1' | 'XS3'; // selon EN 206 + acierType: 'FeE400' | 'FeE500'; + enrobageRequis?: number; // cm + }) { + + const { longueur, largeur, epaisseur, typeOuvrage, classeBeton, + classeExposition, acierType, enrobageRequis } = params; + + // Volume béton + const volumeBeton = longueur * largeur * (epaisseur / 100); + + // Dosage béton selon classe + const dosagesBeton = { + 'C20/25': { ciment: 300, eau: 165, graviers: 1100, sable: 650 }, + 'C25/30': { ciment: 350, eau: 175, graviers: 1050, sable: 600 }, + 'C30/37': { ciment: 385, eau: 180, graviers: 1000, sable: 580 }, + 'C35/45': { ciment: 420, eau: 185, graviers: 950, sable: 550 } + }; + + const dosage = dosagesBeton[classeBeton]; + + // Enrobage selon classe exposition (climat tropical africain) + const enrobages = { + 'XC1': 2.0, // intérieur sec + 'XC3': 2.5, // intérieur humide + 'XC4': 3.0, // extérieur avec gel + 'XS1': 3.5, // air marin + 'XS3': 4.5 // marnage + }; + + const enrobage = enrobageRequis || enrobages[classeExposition]; + + // Calcul armatures selon type ouvrage + let ratioArmature = 80; // kg/m³ par défaut + + switch (typeOuvrage) { + case 'DALLE': + ratioArmature = epaisseur < 15 ? 60 : 80; + break; + case 'POUTRE': + ratioArmature = 120; + break; + case 'POTEAU': + ratioArmature = 150; + break; + case 'VOILE': + ratioArmature = 100; + break; + } + + const poidsAcierTotal = volumeBeton * ratioArmature; + + // Répartition par diamètres (approximation standard) + const repartitionAcier = { + 6: poidsAcierTotal * 0.1, // 10% en Ø6 + 8: poidsAcierTotal * 0.15, // 15% en Ø8 + 10: poidsAcierTotal * 0.25, // 25% en Ø10 + 12: poidsAcierTotal * 0.30, // 30% en Ø12 + 14: poidsAcierTotal * 0.15, // 15% en Ø14 + 16: poidsAcierTotal * 0.05 // 5% en Ø16 + }; + + return { + volumeBeton, + materiaux: { + ciment: { + quantite: Math.ceil(volumeBeton * dosage.ciment), + sacs50kg: Math.ceil(volumeBeton * dosage.ciment / 50) + }, + sable: { + quantite: Math.ceil(volumeBeton * dosage.sable), // kg + volumeM3: Math.ceil(volumeBeton * dosage.sable / 1600) // densité sable + }, + graviers: { + quantite: Math.ceil(volumeBeton * dosage.graviers), // kg + volumeM3: Math.ceil(volumeBeton * dosage.graviers / 1500) // densité graviers + }, + eau: Math.ceil(volumeBeton * dosage.eau), // litres + acier: { + total: Math.ceil(poidsAcierTotal), + repartition: repartitionAcier + } + }, + specifications: { + classeBeton, + classeExposition, + enrobage, + ratioArmature + }, + controles: { + slumpTest: '8-12cm', + resistanceRequise: classeBeton, + ageDecoffrage: epaisseur < 20 ? '7j' : '14j' + } + }; + } +} + +// [SUITE AVEC TOUS LES AUTRES MATÉRIAUX ET CALCULS...] \ No newline at end of file diff --git a/data/templates-afrique.ts b/data/templates-afrique.ts new file mode 100644 index 0000000..7ecf0ba --- /dev/null +++ b/data/templates-afrique.ts @@ -0,0 +1,695 @@ +/** + * TEMPLATES ULTRA-DÉTAILLÉS POUR ZONES CLIMATIQUES AFRICAINES + * Système le plus ambitieux d'Afrique - Adaptation climatique précise + */ + +import { TypeChantierTemplate, PhaseTemplate } from '../components/phases/PhaseGenerationWizard'; +import { MATERIAUX_BTP_DATABASE, CalculateurBTPAfrique } from './materiaux-database'; + +// ================== ZONES CLIMATIQUES AFRICAINES ================== + +export interface ZoneClimatiqueAfrique { + id: string; + nom: string; + pays: string[]; + caracteristiques: { + temperatureMoyenne: { min: number; max: number }; + pluviometrieAnnuelle: number; // mm + humiditeRelative: { min: number; max: number }; // % + ventsMaximaux: number; // km/h + saisons: { + nom: string; + mois: number[]; + contraintes: string[]; + recommandations: string[]; + }[]; + }; + contraintesConstruction: { + fondations: string[]; + drainage: string[]; + ventilation: string[]; + materiaux: string[]; + }; + normesSpecifiques: { + sisimique?: string; + cyclonique?: string; + thermique: string; + pluviale: string; + }; +} + +export const ZONES_CLIMATIQUES: ZoneClimatiqueAfrique[] = [ + { + id: 'sahel', + nom: 'Zone Sahélienne', + pays: ['Mali', 'Burkina Faso', 'Niger', 'Tchad', 'Sénégal Nord'], + caracteristiques: { + temperatureMoyenne: { min: 15, max: 45 }, + pluviometrieAnnuelle: 200, + humiditeRelative: { min: 20, max: 60 }, + ventsMaximaux: 80, + saisons: [ + { + nom: 'Saison sèche froide', + mois: [12, 1, 2], + contraintes: ['Harmattan violent', 'Poussière intense', 'Écarts thermiques'], + recommandations: ['Protection anti-poussière', 'Cure béton renforcée'] + }, + { + nom: 'Saison sèche chaude', + mois: [3, 4, 5], + contraintes: ['Chaleur extrême 45°C+', 'Évaporation rapide', 'Dilatation'], + recommandations: ['Travail tôt/tard', 'Arrosage constant', 'Protection solaire'] + }, + { + nom: 'Saison des pluies', + mois: [6, 7, 8, 9], + contraintes: ['Pluies torrentielles', 'Inondations', 'Humidité'], + recommandations: ['Drainage prioritaire', 'Stockage étanche', 'Planning adapté'] + } + ] + }, + contraintesConstruction: { + fondations: [ + 'Fondations profondes (sol gonflant)', + 'Drainage périphérique obligatoire', + 'Protection contre remontées capillaires' + ], + drainage: [ + 'Évacuation eaux pluviales surdimensionnée', + 'Pentes toitures minimum 40%', + 'Caniveaux périmétriques' + ], + ventilation: [ + 'Ventilation traversante obligatoire', + 'Ouvertures hautes/basses', + 'Protection solaire systématique' + ], + materiaux: [ + 'Résistance UV renforcée', + 'Dilatation thermique prévue', + 'Protection anti-poussière' + ] + }, + normesSpecifiques: { + thermique: 'Isolation thermique obligatoire', + pluviale: 'Évacuation 150mm/h minimum' + } + }, + + { + id: 'guinee-forestiere', + nom: 'Zone Guinéenne Forestière', + pays: ['Côte d\'Ivoire Sud', 'Ghana Sud', 'Guinée', 'Liberia', 'Sierra Leone'], + caracteristiques: { + temperatureMoyenne: { min: 22, max: 32 }, + pluviometrieAnnuelle: 2000, + humiditeRelative: { min: 70, max: 95 }, + ventsMaximaux: 60, + saisons: [ + { + nom: 'Grande saison sèche', + mois: [12, 1, 2, 3], + contraintes: ['Harmattan modéré', 'Humidité résiduelle'], + recommandations: ['Séchage matériaux prolongé', 'Ventilation renforcée'] + }, + { + nom: 'Grande saison des pluies', + mois: [4, 5, 6, 7, 8, 9, 10], + contraintes: ['Pluies quasi-permanentes', 'Humidité 95%', 'Moisissures'], + recommandations: ['Étanchéité absolue', 'Anti-moisissures', 'Drainage maximal'] + } + ] + }, + contraintesConstruction: { + fondations: [ + 'Imperméabilisation obligatoire', + 'Vide sanitaire ventilé minimum 60cm', + 'Drainage français complet' + ], + drainage: [ + 'Double évacuation eaux pluviales', + 'Pentes toitures minimum 45%', + 'Gouttières surdimensionnées' + ], + ventilation: [ + 'VMC obligatoire zones humides', + 'Ventilation haute continue', + 'Déshumidification naturelle' + ], + materiaux: [ + 'Traitement anti-moisissures systématique', + 'Résistance humidité permanente', + 'Matériaux imputrescibles privilégiés' + ] + }, + normesSpecifiques: { + thermique: 'Isolation humidité prioritaire', + pluviale: 'Évacuation 200mm/h minimum' + } + }, + + { + id: 'cotiere-atlantique', + nom: 'Zone Côtière Atlantique', + pays: ['Sénégal Côte', 'Gambie', 'Guinée Bissau', 'Mauritanie Sud'], + caracteristiques: { + temperatureMoyenne: { min: 18, max: 35 }, + pluviometrieAnnuelle: 800, + humiditeRelative: { min: 60, max: 85 }, + ventsMaximaux: 120, + saisons: [ + { + nom: 'Saison fraîche', + mois: [12, 1, 2, 3], + contraintes: ['Alizés forts', 'Embruns salés', 'Corrosion'], + recommandations: ['Protection anticorrosion renforcée', 'Matériaux marins'] + }, + { + nom: 'Saison chaude', + mois: [4, 5, 6], + contraintes: ['Chaleur humide', 'Évaporation marine'], + recommandations: ['Ventilation marine', 'Protection UV marine'] + }, + { + nom: 'Hivernage', + mois: [7, 8, 9, 10], + contraintes: ['Pluies + vents', 'Tempêtes', 'Infiltrations'], + recommandations: ['Étanchéité renforcée', 'Résistance cyclonique'] + } + ] + }, + contraintesConstruction: { + fondations: [ + 'Fondations anti-corrosion marines', + 'Drainage anti-sel', + 'Imperméabilisation renforcée' + ], + drainage: [ + 'Évacuation résistante embruns', + 'Pentes adaptées vents', + 'Matériaux inoxydables' + ], + ventilation: [ + 'Résistance vents 120 km/h', + 'Protection embruns salés', + 'Ventilation anti-corrosion' + ], + materiaux: [ + 'Aciers galvanisés ou inox obligatoires', + 'Béton haute résistance chlorures', + 'Peintures marines exclusivement' + ] + }, + normesSpecifiques: { + thermique: 'Isolation marine spécialisée', + pluviale: 'Évacuation 180mm/h + résistance vents', + cyclonique: 'Résistance vents 150 km/h' + } + } +]; + +// ================== TEMPLATES ULTRA-DÉTAILLÉS PAR ZONE ================== + +export const TEMPLATES_AFRIQUE_DETAILLES: TypeChantierTemplate[] = [ + + // ========== VILLA MODERNE ZONE SAHÉLIENNE ========== + { + id: 'villa-moderne-sahel', + nom: 'Villa Moderne - Zone Sahélienne', + description: 'Villa bioclimatique adaptée climat sahélien - Résistance chaleur/harmattan', + categorie: 'RESIDENTIEL', + complexiteMetier: 'COMPLEXE', + dureeGlobaleEstimee: 240, // jours + budgetGlobalEstime: 450000, // USD + nombreTotalPhases: 18, + tags: ['Sahel', 'Bioclimatique', 'Anti-harmattan', 'Isolation thermique'], + + phases: [ + { + id: 'vs-01', + nom: 'Études Géotechniques Sahéliennes', + description: 'Analyse sols gonflants, nappe phréatique, contraintes climatiques', + ordre: 1, + dureeEstimee: 15, + budgetEstime: 25000, + competencesRequises: ['Géotechnicien sols africains', 'Hydrogéologue'], + prerequis: ['Permis construire', 'Bornage terrain'], + categorieMetier: 'GROS_OEUVRE', + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vs-01-01', + nom: 'Sondages géotechniques', + description: 'Minimum 3 sondages jusqu\'à 8m - identification argiles gonflantes', + ordre: 1, + dureeEstimee: 5, + budgetEstime: 12000, + competencesRequises: ['Sondeur géotechnique'], + obligatoire: true + }, + { + id: 'vs-01-02', + nom: 'Essais laboratoire sols', + description: 'Limites Atterberg, CBR, gonflement, perméabilité', + ordre: 2, + dureeEstimee: 7, + budgetEstime: 8000, + competencesRequises: ['Laboratoire géotechnique'], + obligatoire: true + }, + { + id: 'vs-01-03', + nom: 'Recommandations fondations', + description: 'Dimensionnement fondations adaptées sol gonflant', + ordre: 3, + dureeEstimee: 3, + budgetEstime: 5000, + competencesRequises: ['Ingénieur géotechnicien'], + obligatoire: true + } + ] + }, + + { + id: 'vs-02', + nom: 'Terrassement et Fondations Anti-Gonflantes', + description: 'Terrassement adapté, fondations sur sol gonflant, drainage', + ordre: 2, + dureeEstimee: 20, + budgetEstime: 45000, + competencesRequises: ['Terrassier spécialisé', 'Maçon béton armé', 'Draineur'], + prerequis: ['Études géotechniques validées'], + categorieMetier: 'GROS_OEUVRE', + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vs-02-01', + nom: 'Décapage sélectif', + description: 'Décapage 50cm + substitution matériaux inertes', + ordre: 1, + dureeEstimee: 5, + budgetEstime: 15000, + competencesRequises: ['Terrassier', 'Contrôleur matériaux'], + obligatoire: true + }, + { + id: 'vs-02-02', + nom: 'Fondations profondes', + description: 'Semelles filantes BA avec longrines - 1,2m profondeur minimum', + ordre: 2, + dureeEstimee: 10, + budgetEstime: 25000, + competencesRequises: ['Ferrailleur', 'Coffreur', 'Bétonnier'], + obligatoire: true + }, + { + id: 'vs-02-03', + nom: 'Drainage périphérique', + description: 'Drain français + regard + évacuation - protection gonflement', + ordre: 3, + dureeEstimee: 5, + budgetEstime: 5000, + competencesRequises: ['Draineur', 'Canalisateur'], + obligatoire: true + } + ] + }, + + { + id: 'vs-03', + nom: 'Vide Sanitaire Ventilé Anti-Termites', + description: 'VS hauteur 60cm minimum, ventilé, traité anti-termites', + ordre: 3, + dureeEstimee: 12, + budgetEstime: 28000, + competencesRequises: ['Maçon', 'Traitement bois', 'Ventilation'], + prerequis: ['Fondations terminées'], + categorieMetier: 'GROS_OEUVRE', + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vs-03-01', + nom: 'Murs vide sanitaire', + description: 'Murs agglos 15cm avec ventilations - 4 ventilations mini par face', + ordre: 1, + dureeEstimee: 6, + budgetEstime: 15000, + competencesRequises: ['Maçon'], + obligatoire: true + }, + { + id: 'vs-03-02', + nom: 'Traitement anti-termites', + description: 'Traitement chimique sol + barrière physique Termimesh', + ordre: 2, + dureeEstimee: 3, + budgetEstime: 8000, + competencesRequises: ['Applicateur agréé termites'], + obligatoire: true + }, + { + id: 'vs-03-03', + nom: 'Hourdi ventilé', + description: 'Plancher poutrelles/hourdis avec isolation réfléchissante', + ordre: 3, + dureeEstimee: 3, + budgetEstime: 5000, + competencesRequises: ['Poseur plancher'], + obligatoire: true + } + ] + }, + + { + id: 'vs-04', + nom: 'Élévation Murs - Système Bioclimatique', + description: 'Murs double cloison isolante - orientation optimisée climat sahélien', + ordre: 4, + dureeEstimee: 25, + budgetEstime: 55000, + competencesRequises: ['Maçon qualifié', 'Isolateur thermique'], + prerequis: ['Vide sanitaire achevé'], + categorieMetier: 'GROS_OEUVRE', + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vs-04-01', + nom: 'Mur extérieur porteur', + description: 'Agglos 15cm - Résistance thermique climat sahélien', + ordre: 1, + dureeEstimee: 12, + budgetEstime: 25000, + competencesRequises: ['Maçon'], + obligatoire: true + }, + { + id: 'vs-04-02', + nom: 'Isolation thermique', + description: 'Isolation réfléchissante + laine roche 10cm - R≥3', + ordre: 2, + dureeEstimee: 8, + budgetEstime: 18000, + competencesRequises: ['Isolateur thermique'], + obligatoire: true + }, + { + id: 'vs-04-03', + nom: 'Mur intérieur + lame air', + description: 'Cloison placoplatre + lame air ventilée 5cm', + ordre: 3, + dureeEstimee: 5, + budgetEstime: 12000, + competencesRequises: ['Plaquiste'], + obligatoire: true + } + ] + }, + + { + id: 'vs-05', + nom: 'Charpente Anti-Harmattan Renforcée', + description: 'Charpente métallique galvanisée - résistance vents violents 100km/h', + ordre: 5, + dureeEstimee: 15, + budgetEstime: 35000, + competencesRequises: ['Charpentier métallique', 'Soudeur qualifié'], + prerequis: ['Murs terminés'], + categorieMetier: 'GROS_OEUVRE', + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vs-05-01', + nom: 'Structure primaire', + description: 'Fermes métalliques galvanisées - espacement 3m max', + ordre: 1, + dureeEstimee: 8, + budgetEstime: 20000, + competencesRequises: ['Charpentier métallique'], + obligatoire: true + }, + { + id: 'vs-05-02', + nom: 'Pannes et contre-ventements', + description: 'Pannes acier + contreventements anti-soulèvement', + ordre: 2, + dureeEstimee: 4, + budgetEstime: 8000, + competencesRequises: ['Charpentier'], + obligatoire: true + }, + { + id: 'vs-05-03', + nom: 'Fixations renforcées', + description: 'Ancrages chimiques + boulons HA - résistance arrachement', + ordre: 3, + dureeEstimee: 3, + budgetEstime: 7000, + competencesRequises: ['Fixateur qualifié'], + obligatoire: true + } + ] + } + + // [CONTINUE AVEC LES 13 AUTRES PHASES ULTRA-DÉTAILLÉES...] + ] + }, + + // ========== IMMEUBLE R+4 ZONE CÔTIÈRE ========== + { + id: 'immeuble-r4-cotier', + nom: 'Immeuble R+4 - Zone Côtière Atlantique', + description: 'Immeuble résistant embruns salés, vents forts, corrosion marine', + categorie: 'RESIDENTIEL', + complexiteMetier: 'EXPERT', + dureeGlobaleEstimee: 360, + budgetGlobalEstime: 850000, + nombreTotalPhases: 22, + tags: ['Côtier', 'Anti-corrosion', 'Embruns', 'Vents forts', 'R+4'], + + phases: [ + { + id: 'ic-01', + nom: 'Études Spécialisées Environnement Marin', + description: 'Études corrosion, vents, fondations marines, impact environnemental', + ordre: 1, + dureeEstimee: 30, + budgetEstime: 45000, + competencesRequises: ['Ingénieur maritime', 'Géotechnicien côtier', 'Climatologue'], + prerequis: ['Permis construire', 'Étude impact'], + categorieMetier: 'GROS_OEUVRE', + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'ic-01-01', + nom: 'Étude corrosion marine', + description: 'Analyse agressivité chlorures, pH, résistivité sols', + ordre: 1, + dureeEstimee: 10, + budgetEstime: 15000, + competencesRequises: ['Spécialiste corrosion marine'], + obligatoire: true + }, + { + id: 'ic-01-02', + nom: 'Étude vents et cyclones', + description: 'Rose des vents, pressions dynamiques, calculs structure', + ordre: 2, + dureeEstimee: 12, + budgetEstime: 18000, + competencesRequises: ['Ingénieur calcul vent'], + obligatoire: true + }, + { + id: 'ic-01-03', + nom: 'Géotechnique marine', + description: 'Sondages marins, battage, liquéfaction, tassements', + ordre: 3, + dureeEstimee: 8, + budgetEstime: 12000, + competencesRequises: ['Géotechnicien maritime'], + obligatoire: true + } + ] + } + + // [AUTRES PHASES ULTRA-DÉTAILLÉES POUR ZONE CÔTIÈRE...] + ] + } + + // [CONTINUER AVEC TOUS LES AUTRES TEMPLATES...] +]; + +// ================== CALCULATEUR SPÉCIALISÉ AFRIQUE ================== + +export class CalculateurAfriqueDetaille extends CalculateurBTPAfrique { + + /** + * Calcul spécialisé pour fondations sols gonflants (Sahel) + */ + static calculerFondationsSolsGonflants(params: { + surface: number; // m² + chargesBatiment: number; // tonnes + gonflementPrevu: number; // % (généralement 2-8%) + profondeurHorsGel: number; // m + zoneClimatique: string; + }) { + + const { surface, chargesBatiment, gonflementPrevu, profondeurHorsGel, zoneClimatique } = params; + + // Profondeur fondations selon gonflement + let profondeurRequise = Math.max(profondeurHorsGel, 1.2); + if (gonflementPrevu > 4) profondeurRequise += 0.3; + if (gonflementPrevu > 6) profondeurRequise += 0.5; + + // Surface semelles (approximation 10% surface bâtiment) + const surfaceSemelles = surface * 0.10; + + // Volume béton semelles + longrines + const volumeBetonSemelles = surfaceSemelles * 0.4; // 40cm hauteur moyenne + const volumeBetonLongrines = surface * 0.15 * 0.3 * 0.4; // périmètre × section + const volumeBetonTotal = volumeBetonSemelles + volumeBetonLongrines; + + // Béton haute résistance pour sols agressifs + const betonC30 = this.calculerBetonArme({ + longueur: Math.sqrt(surface), + largeur: Math.sqrt(surface), + epaisseur: profondeurRequise * 100, + typeOuvrage: 'DALLE', + classeBeton: 'C30/37', // Résistance chimique + classeExposition: 'XC4', // Agression chimique modérée + acierType: 'FeE500' + }); + + // Drainage spécialisé + const longueurDrainagePE = surface * 0.5; // 0.5ml/m² + const volumeGravierDrainage = longueurDrainagePE * 0.3 * 0.3; // m³ + + // Matériaux anti-gonflement + const volumeSubstitution = surface * 0.5; // 50cm substitution + const gravierConcasse = volumeSubstitution * 1.7; // tonnes (densité 1.7) + + return { + fondations: { + profondeur: profondeurRequise, + volumeBeton: volumeBetonTotal, + materiaux: betonC30.materiaux, + acierRequis: Math.ceil(volumeBetonTotal * 120) // 120kg/m³ pour fondations + }, + drainage: { + longueurTubes: longueurDrainagePE, + gravierDrainant: Math.ceil(volumeGravierDrainage), + regardsVisite: Math.ceil(longueurDrainagePE / 20) // 1 regard/20ml + }, + substitution: { + volumeDecapage: volumeSubstitution, + gravierSubstitution: Math.ceil(gravierConcasse), + geotextile: Math.ceil(surface * 1.1) // +10% recouvrements + }, + specifications: { + classeBeton: 'C30/37 XC4', + enrobage: '4cm minimum', + acierType: 'FeE500 galvanisé recommandé', + drainage: 'PE 100mm perforé + géotextile' + } + }; + } + + /** + * Calcul toiture anti-cyclonique (zone côtière) + */ + static calculerToitureAntiCyclonique(params: { + surface: number; // m² + hauteurBatiment: number; // m + ventMaxPrevus: number; // km/h + formeToiture: 'TERRASSE' | 'PENTE_FAIBLE' | 'PENTE_FORTE'; + expositionVent: 'PROTEGE' | 'NORMAL' | 'EXPOSE'; + }) { + + const { surface, hauteurBatiment, ventMaxPrevus, formeToiture, expositionVent } = params; + + // Pression dynamique vent (formule Eurocode) + const vitesseVent = ventMaxPrevus / 3.6; // m/s + const pressionVent = 0.613 * Math.pow(vitesseVent, 2); // Pa + + // Coefficients selon exposition + const coeffExposition = { + 'PROTEGE': 0.8, + 'NORMAL': 1.0, + 'EXPOSE': 1.3 + }; + + const pressionCalcul = pressionVent * coeffExposition[expositionVent]; + + // Force arrachement totale + const forceArrachement = surface * pressionCalcul; // N + + // Nombre fixations nécessaires (sécurité 2.5) + const resistanceFixation = 2000; // N par fixation (ancrage chimique) + const nombreFixations = Math.ceil(forceArrachement * 2.5 / resistanceFixation); + + // Espacement fixations + const espacementFixations = Math.min( + Math.sqrt(surface / nombreFixations), + 0.6 // maximum 60cm + ); + + // Matériaux structure + let epaisseurDalle = 15; // cm minimum + if (ventMaxPrevus > 150) epaisseurDalle = 20; + if (ventMaxPrevus > 200) epaisseurDalle = 25; + + const betonToiture = this.calculerBetonArme({ + longueur: Math.sqrt(surface), + largeur: Math.sqrt(surface), + epaisseur: epaisseurDalle, + typeOuvrage: 'DALLE', + classeBeton: 'C35/45', // Haute résistance + classeExposition: 'XS3', // Embruns marins + acierType: 'FeE500' + }); + + // Étanchéité renforcée + const surfaceEtancheite = surface * 1.15; // +15% relevés + const epaisseurEtancheite = ventMaxPrevus > 180 ? 2 : 1.5; // mm + + return { + calculs: { + pressionVent: Math.round(pressionCalcul), + forceArrachement: Math.round(forceArrachement / 1000), // kN + nombreFixations, + espacementFixations: Math.round(espacementFixations * 100) // cm + }, + structure: { + epaisseurDalle: epaisseurDalle, + materiaux: betonToiture.materiaux, + armatureSpeciale: 'Treillis soudé + cadres anti-poinçonnement' + }, + fixations: { + type: 'Ancrages chimiques M12 longueur 150mm', + nombre: nombreFixations, + espacement: `${Math.round(espacementFixations * 100)}cm`, + couple: 'Couple serrage 85 Nm' + }, + etancheite: { + surface: Math.ceil(surfaceEtancheite), + type: `Membrane EPDM ${epaisseurEtancheite}mm`, + fixationSpeciale: 'Fixation mécanique + collage', + lestage: ventMaxPrevus > 200 ? 'Lestage graviers 50kg/m²' : 'Non requis' + }, + evacuation: { + nombreEP: Math.ceil(surface / 50), // 1 EP par 50m² + diametreEP: ventMaxPrevus > 150 ? 125 : 100, // mm + tropPlein: 'Obligatoire si surface >200m²' + } + }; + } +} + +export default TEMPLATES_AFRIQUE_DETAILLES; \ No newline at end of file diff --git a/docs/AUTHENTICATION_FLOW.md b/docs/AUTHENTICATION_FLOW.md new file mode 100644 index 0000000..b3c3a94 --- /dev/null +++ b/docs/AUTHENTICATION_FLOW.md @@ -0,0 +1,125 @@ +# Flux d'Authentification BTP Xpress + +## 🎯 **Architecture Optimisée** + +L'authentification BTP Xpress utilise une **redirection directe vers Keycloak** sans pages intermédiaires inutiles. + +## 🔄 **Flux d'Authentification** + +### **1. Connexion** +``` +Page d'accueil → Bouton "Commencer" → /api/auth/login → Keycloak → Dashboard +``` + +**Détails :** +- **Bouton "Commencer"** : Redirige vers `/api/auth/login` +- **API Route** : `/app/api/auth/login/route.ts` construit l'URL Keycloak et redirige +- **Keycloak** : Gère l'authentification utilisateur +- **Retour** : Redirection vers `/dashboard` après succès + +### **2. Déconnexion** +``` +Menu utilisateur → "Se déconnecter" → /api/auth/logout → Keycloak → Page d'accueil +``` + +**Détails :** +- **Bouton déconnexion** : Redirige vers `/api/auth/logout` +- **API Route** : `/app/api/auth/logout/route.ts` construit l'URL de déconnexion Keycloak +- **Cookies** : Suppression automatique des tokens +- **Retour** : Redirection vers `/` après déconnexion + +### **3. Protection des Routes** +``` +Route protégée → Middleware → Vérification token → Si invalide → /api/auth/login +``` + +**Détails :** +- **Middleware** : `/middleware.ts` vérifie les tokens sur toutes les routes protégées +- **Redirection automatique** : Vers `/api/auth/login` avec paramètre `redirect` +- **Retour intelligent** : Redirection vers la page initialement demandée + +## 📁 **Structure des Fichiers** + +### **API Routes** +- `/app/api/auth/login/route.ts` - Redirection vers Keycloak pour connexion +- `/app/api/auth/logout/route.ts` - Redirection vers Keycloak pour déconnexion + +### **Pages de Fallback** +- `/app/not-found.tsx` - Page 404 + +### **Configuration** +- `/middleware.ts` - Protection des routes et redirections +- `/contexts/AuthContext.tsx` - Gestion de l'état d'authentification +- `/config/keycloak.ts` - Configuration Keycloak + +## ⚙️ **Configuration Keycloak** + +### **Variables d'Environnement** +```env +NEXT_PUBLIC_KEYCLOAK_URL=https://security.lions.dev +NEXT_PUBLIC_KEYCLOAK_REALM=btpxpress +NEXT_PUBLIC_KEYCLOAK_CLIENT_ID=btpxpress-frontend +``` + +### **URLs de Redirection Keycloak** +- **Connexion** : `${KEYCLOAK_URL}/realms/${REALM}/protocol/openid_connect/auth` +- **Déconnexion** : `${KEYCLOAK_URL}/realms/${REALM}/protocol/openid_connect/logout` +- **Inscription** : `${KEYCLOAK_URL}/realms/${REALM}/protocol/openid_connect/registrations` + +## 🚀 **Avantages de cette Architecture** + +### **✅ Simplicité** +- **Pas de pages intermédiaires** inutiles +- **Redirection directe** vers Keycloak +- **Flux utilisateur optimisé** + +### **✅ Performance** +- **Moins de redirections** = chargement plus rapide +- **Pas de JavaScript côté client** pour l'authentification +- **Server-side redirects** plus efficaces + +### **✅ Sécurité** +- **Tokens gérés côté serveur** uniquement +- **Pas d'exposition des tokens** côté client +- **Suppression automatique** des cookies sensibles + +### **✅ Maintenance** +- **Configuration centralisée** dans les API routes +- **Moins de code** à maintenir +- **Logique d'authentification** simplifiée + +## 🔧 **Utilisation** + +### **Pour les Développeurs** +```typescript +// Dans un composant, pour déclencher la connexion +const handleLogin = () => { + window.location.href = '/api/auth/login'; +}; + +// Pour la déconnexion +const handleLogout = () => { + window.location.href = '/api/auth/logout'; +}; +``` + +### **Pour les Utilisateurs** +1. **Cliquer sur "Commencer"** sur la page d'accueil +2. **Être redirigé automatiquement** vers Keycloak +3. **Se connecter** avec ses identifiants +4. **Être redirigé** vers le dashboard BTP Xpress + +## 🛠️ **Dépannage** + +### **Si la redirection ne fonctionne pas** +1. Vérifier les variables d'environnement Keycloak +2. Vérifier que Keycloak est accessible +3. Consulter les logs de l'API route +4. Utiliser la page de fallback `/auth/login` + +### **En cas d'erreur d'authentification** +- Les pages de fallback (`/auth/login`, `/auth/forbidden`) restent disponibles +- Les erreurs sont loggées dans la console +- Redirection automatique vers les pages d'erreur appropriées + +Cette architecture garantit une **expérience utilisateur fluide** et une **maintenance simplifiée** du système d'authentification. diff --git a/docs/DEPLOYMENT_GUIDE.md b/docs/DEPLOYMENT_GUIDE.md new file mode 100644 index 0000000..87fc2f3 --- /dev/null +++ b/docs/DEPLOYMENT_GUIDE.md @@ -0,0 +1,304 @@ +# 🚀 Guide de Déploiement BTP Xpress + +## 📋 Prérequis + +### Environnement de Production +- **Node.js**: 18.x ou supérieur +- **Java**: 17 ou supérieur (pour Quarkus) +- **PostgreSQL**: 14 ou supérieur +- **Keycloak**: 22.x ou supérieur +- **Docker**: 24.x ou supérieur (optionnel) +- **Nginx**: 1.20 ou supérieur (reverse proxy) + +### Domaines et Certificats SSL +- `btpxpress.lions.dev` (Frontend) +- `api.lions.dev` (Backend API) +- `security.lions.dev` (Keycloak) + +## 🏗️ Architecture de Déploiement + +``` +Internet + ↓ +[Nginx Reverse Proxy] + ↓ +┌─────────────────┬─────────────────┐ +│ Frontend │ Backend API │ +│ Next.js │ Quarkus │ +│ Port 3000 │ Port 8080 │ +└─────────────────┴─────────────────┘ + ↓ ↓ +[PostgreSQL] [Keycloak] +Port 5432 Port 8180 +``` + +## 🐳 Déploiement avec Docker + +### 1. Construction des Images + +```bash +# Frontend +cd btpxpress-client +docker build -f Dockerfile.prod -t btpxpress-frontend:latest . + +# Backend +cd btpxpress-server +docker build -f Dockerfile.prod -t btpxpress-backend:latest . +``` + +### 2. Docker Compose Production + +```yaml +# docker-compose.prod.yml +version: '3.8' + +services: + postgres: + image: postgres:14-alpine + environment: + POSTGRES_DB: btpxpress + POSTGRES_USER: btpxpress_user + POSTGRES_PASSWORD: ${DB_PASSWORD} + volumes: + - postgres_data:/var/lib/postgresql/data + ports: + - "5432:5432" + restart: unless-stopped + + keycloak: + image: quay.io/keycloak/keycloak:22.0 + environment: + KEYCLOAK_ADMIN: admin + KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD} + KC_DB: postgres + KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak + KC_DB_USERNAME: keycloak_user + KC_DB_PASSWORD: ${KEYCLOAK_DB_PASSWORD} + KC_HOSTNAME: security.lions.dev + KC_PROXY: edge + ports: + - "8180:8080" + depends_on: + - postgres + restart: unless-stopped + command: start + + backend: + image: btpxpress-backend:latest + environment: + DB_URL: jdbc:postgresql://postgres:5432/btpxpress + DB_USERNAME: btpxpress_user + DB_PASSWORD: ${DB_PASSWORD} + KEYCLOAK_SERVER_URL: https://security.lions.dev + KEYCLOAK_REALM: btpxpress + KEYCLOAK_CLIENT_ID: btpxpress-backend + KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET} + ports: + - "8080:8080" + depends_on: + - postgres + - keycloak + restart: unless-stopped + + frontend: + image: btpxpress-frontend:latest + environment: + NEXT_PUBLIC_API_URL: https://api.lions.dev + NEXT_PUBLIC_KEYCLOAK_URL: https://security.lions.dev + NEXT_PUBLIC_KEYCLOAK_REALM: btpxpress + NEXT_PUBLIC_KEYCLOAK_CLIENT_ID: btpxpress-frontend + ports: + - "3000:3000" + depends_on: + - backend + restart: unless-stopped + +volumes: + postgres_data: +``` + +### 3. Lancement + +```bash +# Variables d'environnement +export DB_PASSWORD="your-secure-db-password" +export KEYCLOAK_ADMIN_PASSWORD="your-keycloak-admin-password" +export KEYCLOAK_DB_PASSWORD="your-keycloak-db-password" +export KEYCLOAK_CLIENT_SECRET="your-client-secret" + +# Démarrage +docker-compose -f docker-compose.prod.yml up -d +``` + +## 🌐 Configuration Nginx + +```nginx +# /etc/nginx/sites-available/btpxpress +server { + listen 80; + server_name btpxpress.lions.dev; + return 301 https://$server_name$request_uri; +} + +server { + listen 443 ssl http2; + server_name btpxpress.lions.dev; + + ssl_certificate /path/to/ssl/cert.pem; + ssl_certificate_key /path/to/ssl/key.pem; + + # Frontend + location / { + proxy_pass http://localhost:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_cache_bypass $http_upgrade; + } +} + +server { + listen 443 ssl http2; + server_name api.lions.dev; + + ssl_certificate /path/to/ssl/cert.pem; + ssl_certificate_key /path/to/ssl/key.pem; + + # Backend API + location / { + proxy_pass http://localhost:8080; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} +``` + +## 🔧 Configuration Keycloak + +### 1. Création du Realm + +1. Accéder à https://security.lions.dev +2. Créer le realm `btpxpress` +3. Configurer les clients : + - `btpxpress-frontend` (Public) + - `btpxpress-backend` (Confidential) + +### 2. Configuration des Rôles + +```json +{ + "roles": [ + "super_admin", + "admin", + "directeur", + "manager", + "chef_chantier", + "conducteur_travaux", + "chef_equipe", + "commercial", + "comptable", + "logisticien", + "employe", + "ouvrier", + "client_entreprise", + "client_particulier", + "viewer", + "guest" + ] +} +``` + +## 📊 Monitoring et Logs + +### Health Checks + +```bash +# Frontend +curl https://btpxpress.lions.dev/_next/static/health + +# Backend +curl https://api.lions.dev/api/health + +# Keycloak +curl https://security.lions.dev/health +``` + +### Logs + +```bash +# Docker logs +docker-compose logs -f frontend +docker-compose logs -f backend +docker-compose logs -f keycloak + +# Application logs +tail -f /var/log/btpxpress/application.log +``` + +## 🔒 Sécurité + +### Firewall + +```bash +# Ouvrir les ports nécessaires +ufw allow 80/tcp +ufw allow 443/tcp +ufw allow 22/tcp +ufw enable +``` + +### Backup + +```bash +# Base de données +pg_dump -h localhost -U btpxpress_user btpxpress > backup_$(date +%Y%m%d).sql + +# Volumes Docker +docker run --rm -v btpxpress_postgres_data:/data -v $(pwd):/backup alpine tar czf /backup/postgres_backup_$(date +%Y%m%d).tar.gz /data +``` + +## 🚀 Mise en Production + +### Checklist + +- [ ] SSL/TLS configuré +- [ ] Base de données initialisée +- [ ] Keycloak configuré +- [ ] Variables d'environnement définies +- [ ] Nginx configuré +- [ ] Monitoring activé +- [ ] Backups programmés +- [ ] Tests de charge effectués +- [ ] Documentation à jour + +### Commandes de Déploiement + +```bash +# 1. Arrêt des services +docker-compose down + +# 2. Mise à jour du code +git pull origin main + +# 3. Reconstruction des images +docker-compose build + +# 4. Redémarrage +docker-compose up -d + +# 5. Vérification +docker-compose ps +curl -f https://btpxpress.lions.dev/api/health +``` + +## 📞 Support + +- **Documentation**: https://docs.btpxpress.lions.dev +- **Support**: support@btpxpress.com +- **Urgences**: +33 1 23 45 67 89 diff --git a/fix-uris-simple.ps1 b/fix-uris-simple.ps1 new file mode 100644 index 0000000..708875a --- /dev/null +++ b/fix-uris-simple.ps1 @@ -0,0 +1,53 @@ +# Script simple pour corriger les redirect URIs +$KeycloakUrl = "https://security.lions.dev" +$Realm = "btpxpress" +$ClientId = "btpxpress-frontend" +$AdminUser = "admin" +$AdminPassword = "KeycloakAdmin2025!" + +Write-Host "Correction des redirect URIs..." -ForegroundColor Yellow + +# 1. Obtenir un token admin +Write-Host "Authentification admin..." -ForegroundColor Gray +$tokenResponse = Invoke-RestMethod -Uri "$KeycloakUrl/realms/master/protocol/openid-connect/token" -Method Post -Body @{ + username = $AdminUser + password = $AdminPassword + grant_type = "password" + client_id = "admin-cli" +} -ContentType "application/x-www-form-urlencoded" + +$headers = @{ + "Authorization" = "Bearer $($tokenResponse.access_token)" + "Content-Type" = "application/json" +} + +# 2. Récupérer le client +Write-Host "Recherche du client..." -ForegroundColor Gray +$clients = Invoke-RestMethod -Uri "$KeycloakUrl/admin/realms/$Realm/clients?clientId=$ClientId" -Method Get -Headers $headers + +$client = $clients[0] +$clientUuid = $client.id + +Write-Host "Client trouve: $clientUuid" -ForegroundColor Green + +# 3. Mettre à jour les redirect URIs +$newRedirectUris = @( + "http://localhost:3000/dashboard", + "http://localhost:3001/dashboard", + "https://btpxpress.lions.dev/dashboard", + "http://localhost:3000/", + "http://localhost:3001/", + "https://btpxpress.lions.dev/" +) + +$updateData = @{ + redirectUris = $newRedirectUris +} + +$updateJson = $updateData | ConvertTo-Json -Depth 10 + +# 4. Appliquer la mise à jour +Write-Host "Mise a jour..." -ForegroundColor Yellow +Invoke-RestMethod -Uri "$KeycloakUrl/admin/realms/$Realm/clients/$clientUuid" -Method Put -Headers $headers -Body $updateJson + +Write-Host "Redirect URIs mis a jour!" -ForegroundColor Green diff --git a/hooks/__tests__/useDashboard.test.tsx b/hooks/__tests__/useDashboard.test.tsx new file mode 100644 index 0000000..6ca536d --- /dev/null +++ b/hooks/__tests__/useDashboard.test.tsx @@ -0,0 +1,364 @@ +import { renderHook, waitFor } from '@testing-library/react' +import { useDashboard } from '../useDashboard' +import { clientService, chantierService, devisService, factureService } from '../../services/api' + +// Mock des services +jest.mock('../../services/api') + +const mockClientService = clientService as jest.Mocked +const mockChantierService = chantierService as jest.Mocked +const mockDevisService = devisService as jest.Mocked +const mockFactureService = factureService as jest.Mocked + +const mockClients = [ + { id: '1', nom: 'Client', prenom: 'Un', email: 'client1@test.com' }, + { id: '2', nom: 'Client', prenom: 'Deux', email: 'client2@test.com' }, +] + +const mockChantiers = [ + { + id: '1', + nom: 'Chantier 1', + client: mockClients[0], + statut: 'EN_COURS', + dateDebut: '2024-01-01', + montantPrevu: 10000, + }, + { + id: '2', + nom: 'Chantier 2', + client: mockClients[1], + statut: 'PLANIFIE', + dateDebut: '2024-01-15', + montantPrevu: 15000, + }, + { + id: '3', + nom: 'Chantier 3', + client: mockClients[0], + statut: 'TERMINE', + dateDebut: '2024-01-10', + montantPrevu: 8000, + }, +] + +const mockDevis = [ + { + id: '1', + numero: 'D2024-001', + client: mockClients[0], + statut: 'ENVOYE', + dateEmission: '2024-01-01', + dateValidite: '2024-12-31', + montantTTC: 5000, + }, + { + id: '2', + numero: 'D2024-002', + client: mockClients[1], + statut: 'ACCEPTE', + dateEmission: '2024-01-05', + dateValidite: '2024-12-31', + montantTTC: 7000, + }, +] + +const mockFactures = [ + { + id: '1', + numero: 'F2024-001', + client: mockClients[0], + statut: 'PAYEE', + dateEmission: '2024-01-01', + dateEcheance: '2024-01-31', + montantTTC: 10000, + }, + { + id: '2', + numero: 'F2024-002', + client: mockClients[1], + statut: 'ENVOYEE', + dateEmission: '2024-01-10', + dateEcheance: '2024-01-01', // En retard + montantTTC: 5000, + }, +] + +describe('Hook useDashboard', () => { + beforeEach(() => { + jest.clearAllMocks() + jest.spyOn(console, 'log').mockImplementation(() => {}) + jest.spyOn(console, 'error').mockImplementation(() => {}) + }) + + afterEach(() => { + jest.restoreAllMocks() + }) + + it('devrait initialiser avec les valeurs par défaut', () => { + mockClientService.getAll.mockImplementation(() => new Promise(() => {})) + mockChantierService.getAll.mockImplementation(() => new Promise(() => {})) + mockDevisService.getAll.mockImplementation(() => new Promise(() => {})) + mockFactureService.getAll.mockImplementation(() => new Promise(() => {})) + + const { result } = renderHook(() => useDashboard()) + + expect(result.current.stats).toBeNull() + expect(result.current.chantiersRecents).toEqual([]) + expect(result.current.facturesEnRetard).toEqual([]) + expect(result.current.devisEnAttente).toEqual([]) + expect(result.current.loading).toBe(true) + expect(result.current.error).toBeNull() + }) + + it('devrait charger les données avec succès', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(mockChantiers) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.stats).toEqual({ + totalClients: 2, + totalChantiers: 3, + chantiersEnCours: 1, + chantiersPlanifies: 1, + chantiersTermines: 1, + totalDevis: 2, + devisAcceptes: 1, + devisEnAttente: 1, + totalFactures: 2, + facturesPayees: 1, + facturesEnRetard: 1, + chiffreAffaires: 10000, + chiffreAffairesMois: expect.any(Number), + chiffreAffairesAnnee: expect.any(Number), + }) + }) + + it('devrait calculer les chantiers récents', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(mockChantiers) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.chantiersRecents).toHaveLength(3) + expect(result.current.chantiersRecents[0]).toEqual({ + id: '2', + nom: 'Chantier 2', + client: 'Client Deux', + statut: 'PLANIFIE', + dateDebut: '2024-01-15', + montantPrevu: 15000, + }) + }) + + it('devrait calculer les factures en retard', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(mockChantiers) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.facturesEnRetard).toHaveLength(1) + expect(result.current.facturesEnRetard[0]).toEqual({ + id: '2', + numero: 'F2024-002', + client: 'Client Deux', + montantTTC: 5000, + dateEcheance: '2024-01-01', + joursRetard: expect.any(Number), + }) + }) + + it('devrait calculer les devis en attente', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(mockChantiers) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.devisEnAttente).toHaveLength(1) + expect(result.current.devisEnAttente[0]).toEqual({ + id: '1', + numero: 'D2024-001', + client: 'Client Un', + montantTTC: 5000, + dateEmission: '2024-01-01', + dateValidite: '2024-12-31', + joursRestants: expect.any(Number), + }) + }) + + it('devrait gérer les erreurs partielles', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockRejectedValue(new Error('Erreur chantiers')) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.error).toBeNull() + expect(result.current.stats?.totalClients).toBe(2) + expect(result.current.stats?.totalChantiers).toBe(0) + expect(result.current.chantiersRecents).toEqual([]) + }) + + it('devrait gérer les erreurs complètes', async () => { + mockClientService.getAll.mockRejectedValue(new Error('Erreur clients')) + mockChantierService.getAll.mockRejectedValue(new Error('Erreur chantiers')) + mockDevisService.getAll.mockRejectedValue(new Error('Erreur devis')) + mockFactureService.getAll.mockRejectedValue(new Error('Erreur factures')) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.error).toBeNull() + expect(result.current.stats?.totalClients).toBe(0) + expect(result.current.stats?.totalChantiers).toBe(0) + expect(result.current.chantiersRecents).toEqual([]) + }) + + it('devrait permettre de rafraîchir les données', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(mockChantiers) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(mockClientService.getAll).toHaveBeenCalledTimes(1) + + // Rafraîchir + result.current.refresh() + + await waitFor(() => { + expect(mockClientService.getAll).toHaveBeenCalledTimes(2) + }) + }) + + it('devrait gérer les données non-array', async () => { + mockClientService.getAll.mockResolvedValue(null as any) + mockChantierService.getAll.mockResolvedValue(undefined as any) + mockDevisService.getAll.mockResolvedValue({} as any) + mockFactureService.getAll.mockResolvedValue('invalid' as any) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.stats?.totalClients).toBe(0) + expect(result.current.stats?.totalChantiers).toBe(0) + expect(result.current.stats?.totalDevis).toBe(0) + expect(result.current.stats?.totalFactures).toBe(0) + }) + + it('devrait calculer correctement le chiffre d\'affaires mensuel', async () => { + const today = new Date() + const thisMonth = today.getMonth() + const thisYear = today.getFullYear() + + const facturesThisMonth = [ + { + id: '1', + numero: 'F2024-001', + client: mockClients[0], + statut: 'PAYEE', + dateEmission: new Date(thisYear, thisMonth, 1).toISOString(), + dateEcheance: new Date(thisYear, thisMonth, 31).toISOString(), + montantTTC: 10000, + }, + { + id: '2', + numero: 'F2024-002', + client: mockClients[1], + statut: 'PAYEE', + dateEmission: new Date(thisYear, thisMonth - 1, 1).toISOString(), // Mois précédent + dateEcheance: new Date(thisYear, thisMonth - 1, 31).toISOString(), + montantTTC: 5000, + }, + ] + + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue([]) + mockDevisService.getAll.mockResolvedValue([]) + mockFactureService.getAll.mockResolvedValue(facturesThisMonth) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.stats?.chiffreAffairesMois).toBe(10000) + }) + + it('devrait limiter les chantiers récents à 5', async () => { + const manyChantiers = Array.from({ length: 10 }, (_, i) => ({ + id: `${i + 1}`, + nom: `Chantier ${i + 1}`, + client: mockClients[0], + statut: 'EN_COURS', + dateDebut: new Date(2024, 0, i + 1).toISOString(), + montantPrevu: 10000, + })) + + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(manyChantiers) + mockDevisService.getAll.mockResolvedValue([]) + mockFactureService.getAll.mockResolvedValue([]) + + const { result } = renderHook(() => useDashboard()) + + await waitFor(() => { + expect(result.current.loading).toBe(false) + }) + + expect(result.current.chantiersRecents).toHaveLength(5) + }) + + it('devrait fournir un alias isLoading', async () => { + mockClientService.getAll.mockResolvedValue(mockClients) + mockChantierService.getAll.mockResolvedValue(mockChantiers) + mockDevisService.getAll.mockResolvedValue(mockDevis) + mockFactureService.getAll.mockResolvedValue(mockFactures) + + const { result } = renderHook(() => useDashboard()) + + expect(result.current.isLoading).toBe(result.current.loading) + }) +}) \ No newline at end of file diff --git a/hooks/useApiCall.tsx b/hooks/useApiCall.tsx new file mode 100644 index 0000000..a0a3ce0 --- /dev/null +++ b/hooks/useApiCall.tsx @@ -0,0 +1,173 @@ +'use client'; + +import { useState, useCallback, useRef } from 'react'; +import { Toast } from 'primereact/toast'; +import { apiService } from '../services/api'; + +interface UseApiCallOptions { + onSuccess?: (data: any) => void; + onError?: (error: any) => void; + showSuccessToast?: boolean; + showErrorToast?: boolean; + successMessage?: string; + retryAttempts?: number; + retryDelay?: number; +} + +interface UseApiCallReturn { + data: T | null; + loading: boolean; + error: any; + execute: (...args: any[]) => Promise; + retry: () => Promise; + reset: () => void; + toast: React.RefObject; +} + +export function useApiCall( + apiFunction: (...args: any[]) => Promise, + options: UseApiCallOptions = {} +): UseApiCallReturn { + const [data, setData] = useState(null); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(null); + const toast = useRef(null); + const lastArgsRef = useRef([]); + const retryCountRef = useRef(0); + + const { + onSuccess, + onError, + showSuccessToast = false, + showErrorToast = true, + successMessage = 'Opération réussie', + retryAttempts = 0, + retryDelay = 1000 + } = options; + + const execute = useCallback(async (...args: any[]): Promise => { + lastArgsRef.current = args; + setLoading(true); + setError(null); + retryCountRef.current = 0; + + try { + const result = await apiFunction(...args); + setData(result); + + // Notifier que le serveur répond (pour une détection immédiate) + // Cette ligne se déclenchera dès qu'un appel API réussit + + if (showSuccessToast && toast.current) { + toast.current.show({ + severity: 'success', + summary: 'Succès', + detail: successMessage, + life: 3000 + }); + } + + if (onSuccess) { + onSuccess(result); + } + + return result; + } catch (err: any) { + setError(err); + + // Déclenchement d'un health check urgent uniquement pour les erreurs critiques + if (shouldRetry(err) && retryCountRef.current === 0) { + // Health check urgent seulement au premier échec pour éviter le spam + apiService.checkServerHealth(true).catch(() => {}); + } + + // Gestion des erreurs réseau avec retry automatique + if (shouldRetry(err) && retryCountRef.current < retryAttempts) { + retryCountRef.current++; + + if (showErrorToast && toast.current) { + toast.current.show({ + severity: 'warn', + summary: 'Tentative de reconnexion', + detail: `Tentative ${retryCountRef.current}/${retryAttempts}...`, + life: 2000 + }); + } + + // Attendre avant de retry + await new Promise(resolve => setTimeout(resolve, retryDelay)); + return execute(...args); + } + + // Afficher l'erreur finale + if (showErrorToast && toast.current) { + const message = getErrorMessage(err); + toast.current.show({ + severity: 'error', + summary: 'Erreur', + detail: message, + life: err.statusCode === 'SERVER_UNAVAILABLE' ? 0 : 5000 // Sticky pour erreurs serveur + }); + } + + if (onError) { + onError(err); + } + + return null; + } finally { + setLoading(false); + } + }, [apiFunction, onSuccess, onError, showSuccessToast, showErrorToast, successMessage, retryAttempts, retryDelay]); + + const retry = useCallback(async (): Promise => { + if (lastArgsRef.current.length > 0) { + return execute(...lastArgsRef.current); + } + return execute(); + }, [execute]); + + const reset = useCallback(() => { + setData(null); + setError(null); + setLoading(false); + retryCountRef.current = 0; + }, []); + + return { + data, + loading, + error, + execute, + retry, + reset, + toast + }; +} + +// Fonctions utilitaires +function shouldRetry(error: any): boolean { + return error?.statusCode === 'NETWORK_ERROR' || + error?.statusCode === 'SERVER_UNAVAILABLE' || + error?.statusCode === 'TIMEOUT' || + error?.code === 'ECONNABORTED' || + error?.code === 'ERR_NETWORK'; +} + +function getErrorMessage(error: any): string { + if (error?.statusCode === 'SERVER_UNAVAILABLE') { + return 'Serveur indisponible. Vérifiez que le serveur backend est démarré.'; + } + + if (error?.statusCode === 'NETWORK_ERROR') { + return 'Erreur réseau. Vérifiez votre connexion internet.'; + } + + if (error?.statusCode === 'TIMEOUT') { + return 'Délai d\'attente dépassé. Le serveur met trop de temps à répondre.'; + } + + return error?.userMessage || error?.message || 'Une erreur inattendue s\'est produite'; +} + +export default useApiCall; \ No newline at end of file diff --git a/hooks/useBTPServices.ts b/hooks/useBTPServices.ts new file mode 100644 index 0000000..96dfece --- /dev/null +++ b/hooks/useBTPServices.ts @@ -0,0 +1,491 @@ +import { useState, useEffect, useCallback } from 'react'; +import { + MaterielBTPService, + MaterielBTP, + CategorieMateriel, + RechercheMaterielParams +} from '../services/materielBTPService'; +import { + ZoneClimatiqueService, + ZoneClimatique, + CriteresRecherche +} from '../services/zoneClimatiqueService'; +import { + CalculsTechniquesService, + ParametresCalculBriques, + ResultatCalculBriques, + ParametresCalculBetonArme, + ResultatCalculBetonArme +} from '../services/calculsTechniquesService'; +import { + ExportBTPService, + FormatExport, + OptionsExport, + ResultatExport +} from '../services/exportBTPService'; + +/** + * Hook personnalisé pour l'utilisation des services BTP ultra-détaillés + * Système le plus ambitieux d'Afrique pour la gestion BTP + */ + +export interface UseBTPServicesReturn { + // États de chargement + loading: { + materiaux: boolean; + zones: boolean; + calculs: boolean; + export: boolean; + }; + + // États d'erreur + errors: { + materiaux: string | null; + zones: string | null; + calculs: string | null; + export: string | null; + }; + + // Données + data: { + materiaux: MaterielBTP[]; + zones: ZoneClimatique[]; + dernierCalcul: any; + dernierExport: ResultatExport | null; + }; + + // Actions matériaux + materiaux: { + charger: (params?: RechercheMaterielParams) => Promise; + rechercher: (criteres: RechercheMaterielParams) => Promise; + obtenirParCode: (code: string) => Promise; + obtenirParCategorie: (categorie: CategorieMateriel) => Promise; + validerPourZone: (codeMateriel: string, zoneCode: string) => Promise; + obtenirAlternatives: (codeMateriel: string, zoneCode?: string) => Promise; + }; + + // Actions zones climatiques + zones: { + charger: () => Promise; + rechercher: (criteres: CriteresRecherche) => Promise; + obtenirParCode: (code: string) => Promise; + obtenirMeilleureAdaptation: (temp: number, humidite: number, vents: number) => Promise; + obtenirRecommandations: (zoneCode: string) => Promise; + simulerImpact: (zoneCode: string, parametres: any) => Promise; + }; + + // Actions calculs techniques + calculs: { + calculerBriques: (params: ParametresCalculBriques) => Promise; + calculerBetonArme: (params: ParametresCalculBetonArme) => Promise; + obtenirDosagesBeton: () => Promise; + estimationRapideBriques: (surface: number, typeBrique?: string) => Promise; + estimationRapideBeton: (volume: number, classeBeton?: string) => Promise; + genererDevis: (calculs: any, options?: any) => Promise; + }; + + // Actions export + export: { + exporterMateriaux: (options: OptionsExport & { filtres?: RechercheMaterielParams }) => Promise; + exporterZones: (options: OptionsExport) => Promise; + exporterCalculs: (calculs: any[], options: OptionsExport) => Promise; + genererDevis: (devisData: any, format?: FormatExport) => Promise; + telechargerDernier: () => void; + }; + + // Utilitaires + utils: { + reinitialiser: () => void; + obtenirStatistiques: () => any; + validerParametres: (type: string, params: any) => any; + }; +} + +export const useBTPServices = (): UseBTPServicesReturn => { + // États de chargement + const [loading, setLoading] = useState({ + materiaux: false, + zones: false, + calculs: false, + export: false + }); + + // États d'erreur + const [errors, setErrors] = useState({ + materiaux: null as string | null, + zones: null as string | null, + calculs: null as string | null, + export: null as string | null + }); + + // Données + const [data, setData] = useState({ + materiaux: [] as MaterielBTP[], + zones: [] as ZoneClimatique[], + dernierCalcul: null as any, + dernierExport: null as ResultatExport | null + }); + + // =================== FONCTIONS UTILITAIRES =================== + + const setLoadingState = useCallback((key: keyof typeof loading, value: boolean) => { + setLoading(prev => ({ ...prev, [key]: value })); + }, []); + + const setErrorState = useCallback((key: keyof typeof errors, error: string | null) => { + setErrors(prev => ({ ...prev, [key]: error })); + }, []); + + const handleError = useCallback((key: keyof typeof errors, error: any) => { + const message = error?.message || error?.toString() || 'Une erreur est survenue'; + setErrorState(key, message); + console.error(`Erreur ${key}:`, error); + }, [setErrorState]); + + // =================== ACTIONS MATÉRIAUX =================== + + const chargerMateriaux = useCallback(async (params?: RechercheMaterielParams) => { + setLoadingState('materiaux', true); + setErrorState('materiaux', null); + + try { + const response = await MaterielBTPService.getMateriaux(params); + setData(prev => ({ ...prev, materiaux: response.materiaux })); + } catch (error) { + handleError('materiaux', error); + } finally { + setLoadingState('materiaux', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const rechercherMateriaux = useCallback(async (criteres: RechercheMaterielParams): Promise => { + try { + return await MaterielBTPService.rechercherMateriaux(criteres); + } catch (error) { + handleError('materiaux', error); + return []; + } + }, [handleError]); + + const obtenirMaterielParCode = useCallback(async (code: string): Promise => { + try { + return await MaterielBTPService.getMaterielByCode(code); + } catch (error) { + handleError('materiaux', error); + throw error; + } + }, [handleError]); + + const obtenirMateriauxParCategorie = useCallback(async (categorie: CategorieMateriel): Promise => { + try { + return await MaterielBTPService.getMateriauxByCategorie(categorie); + } catch (error) { + handleError('materiaux', error); + return []; + } + }, [handleError]); + + const validerMaterielPourZone = useCallback(async (codeMateriel: string, zoneCode: string) => { + try { + return await MaterielBTPService.validerMaterielPourZone(codeMateriel, zoneCode); + } catch (error) { + handleError('materiaux', error); + return { adapte: false, warnings: ['Validation impossible'], recommendations: [] }; + } + }, [handleError]); + + const obtenirAlternativesMateriel = useCallback(async (codeMateriel: string, zoneCode?: string): Promise => { + try { + return await MaterielBTPService.getAlternativesMateriel(codeMateriel, zoneCode); + } catch (error) { + handleError('materiaux', error); + return []; + } + }, [handleError]); + + // =================== ACTIONS ZONES CLIMATIQUES =================== + + const chargerZones = useCallback(async () => { + setLoadingState('zones', true); + setErrorState('zones', null); + + try { + const response = await ZoneClimatiqueService.getZonesClimatiques(); + setData(prev => ({ ...prev, zones: response.zones })); + } catch (error) { + handleError('zones', error); + } finally { + setLoadingState('zones', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const rechercherZones = useCallback(async (criteres: CriteresRecherche): Promise => { + try { + return await ZoneClimatiqueService.rechercherZones(criteres); + } catch (error) { + handleError('zones', error); + return []; + } + }, [handleError]); + + const obtenirZoneParCode = useCallback(async (code: string): Promise => { + try { + return await ZoneClimatiqueService.getZoneByCode(code); + } catch (error) { + handleError('zones', error); + throw error; + } + }, [handleError]); + + const obtenirMeilleureAdaptation = useCallback(async (temp: number, humidite: number, vents: number) => { + try { + return await ZoneClimatiqueService.getMeilleureAdaptation(temp, humidite, vents); + } catch (error) { + handleError('zones', error); + return null; + } + }, [handleError]); + + const obtenirRecommandationsZone = useCallback(async (zoneCode: string) => { + try { + return await ZoneClimatiqueService.getRecommandationsConstruction(zoneCode); + } catch (error) { + handleError('zones', error); + return { fondations: [], structure: [], enveloppe: [], finitions: [], equipements: [] }; + } + }, [handleError]); + + const simulerImpactClimatique = useCallback(async (zoneCode: string, parametres: any) => { + try { + return await ZoneClimatiqueService.simulerImpactClimatique(zoneCode, parametres); + } catch (error) { + handleError('zones', error); + return null; + } + }, [handleError]); + + // =================== ACTIONS CALCULS TECHNIQUES =================== + + const calculerBriquesMur = useCallback(async (params: ParametresCalculBriques): Promise => { + setLoadingState('calculs', true); + setErrorState('calculs', null); + + try { + const resultat = await CalculsTechniquesService.calculerBriquesMur(params); + setData(prev => ({ ...prev, dernierCalcul: { type: 'BRIQUES', resultat, params } })); + return resultat; + } catch (error) { + handleError('calculs', error); + throw error; + } finally { + setLoadingState('calculs', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const calculerBetonArme = useCallback(async (params: ParametresCalculBetonArme): Promise => { + setLoadingState('calculs', true); + setErrorState('calculs', null); + + try { + const resultat = await CalculsTechniquesService.calculerBetonArme(params); + setData(prev => ({ ...prev, dernierCalcul: { type: 'BETON', resultat, params } })); + return resultat; + } catch (error) { + handleError('calculs', error); + throw error; + } finally { + setLoadingState('calculs', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const obtenirDosagesBeton = useCallback(async () => { + try { + return await CalculsTechniquesService.getDosagesBeton(); + } catch (error) { + handleError('calculs', error); + return { dosages: {}, notes: [] }; + } + }, [handleError]); + + const estimationRapideBriques = useCallback(async (surface: number, typeBrique?: string) => { + try { + return await CalculsTechniquesService.estimationRapideBriques(surface, typeBrique); + } catch (error) { + handleError('calculs', error); + return { estimationBasse: 0, estimationHaute: 0, estimationMoyenne: 0, baseCalcul: '' }; + } + }, [handleError]); + + const estimationRapideBeton = useCallback(async (volume: number, classeBeton?: string) => { + try { + return await CalculsTechniquesService.estimationRapideBeton(volume, classeBeton); + } catch (error) { + handleError('calculs', error); + return { cimentSacs: 0, sableM3: 0, graviersM3: 0, eauLitres: 0, coutEstime: 0 }; + } + }, [handleError]); + + const genererDevis = useCallback(async (calculs: any, options?: any) => { + try { + return await CalculsTechniquesService.genererDevis(calculs, options); + } catch (error) { + handleError('calculs', error); + return { lignesDevis: [], totalHT: 0, totalTTC: 0, delaiExecution: 0 }; + } + }, [handleError]); + + // =================== ACTIONS EXPORT =================== + + const exporterMateriaux = useCallback(async (options: OptionsExport & { filtres?: RechercheMaterielParams }) => { + setLoadingState('export', true); + setErrorState('export', null); + + try { + const resultat = await ExportBTPService.exporterMateriaux(options); + setData(prev => ({ ...prev, dernierExport: resultat })); + ExportBTPService.telechargerFichier(resultat); + } catch (error) { + handleError('export', error); + } finally { + setLoadingState('export', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const exporterZones = useCallback(async (options: OptionsExport) => { + setLoadingState('export', true); + setErrorState('export', null); + + try { + const resultat = await ExportBTPService.exporterZonesClimatiques(options); + setData(prev => ({ ...prev, dernierExport: resultat })); + ExportBTPService.telechargerFichier(resultat); + } catch (error) { + handleError('export', error); + } finally { + setLoadingState('export', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const exporterCalculs = useCallback(async (calculs: any[], options: OptionsExport) => { + setLoadingState('export', true); + setErrorState('export', null); + + try { + const resultat = await ExportBTPService.exporterCalculs(calculs, options); + setData(prev => ({ ...prev, dernierExport: resultat })); + ExportBTPService.telechargerFichier(resultat); + } catch (error) { + handleError('export', error); + } finally { + setLoadingState('export', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const genererDevisBTP = useCallback(async (devisData: any, format: FormatExport = 'PDF') => { + setLoadingState('export', true); + setErrorState('export', null); + + try { + const resultat = await ExportBTPService.genererDevisBTP(devisData, format); + setData(prev => ({ ...prev, dernierExport: resultat })); + ExportBTPService.telechargerFichier(resultat); + } catch (error) { + handleError('export', error); + } finally { + setLoadingState('export', false); + } + }, [setLoadingState, setErrorState, handleError]); + + const telechargerDernierExport = useCallback(() => { + if (data.dernierExport) { + ExportBTPService.telechargerFichier(data.dernierExport); + } + }, [data.dernierExport]); + + // =================== UTILITAIRES =================== + + const reinitialiser = useCallback(() => { + setData({ + materiaux: [], + zones: [], + dernierCalcul: null, + dernierExport: null + }); + setErrors({ + materiaux: null, + zones: null, + calculs: null, + export: null + }); + }, []); + + const obtenirStatistiques = useCallback(() => { + return { + nbMateriaux: data.materiaux.length, + nbZones: data.zones.length, + categoriesMateriaux: [...new Set(data.materiaux.map(m => m.categorie))], + derniereActivite: data.dernierCalcul ? new Date(data.dernierCalcul.date || Date.now()) : null, + tailleDernierExport: data.dernierExport?.size || 0 + }; + }, [data]); + + const validerParametres = useCallback((type: string, params: any) => { + return CalculsTechniquesService.validerParametres(type as any, params); + }, []); + + // =================== CHARGEMENT INITIAL =================== + + useEffect(() => { + // Chargement automatique des données de base + chargerZones(); + }, [chargerZones]); + + // =================== RETURN =================== + + return { + loading, + errors, + data, + + materiaux: { + charger: chargerMateriaux, + rechercher: rechercherMateriaux, + obtenirParCode: obtenirMaterielParCode, + obtenirParCategorie: obtenirMateriauxParCategorie, + validerPourZone: validerMaterielPourZone, + obtenirAlternatives: obtenirAlternativesMateriel + }, + + zones: { + charger: chargerZones, + rechercher: rechercherZones, + obtenirParCode: obtenirZoneParCode, + obtenirMeilleureAdaptation, + obtenirRecommandations: obtenirRecommandationsZone, + simulerImpact: simulerImpactClimatique + }, + + calculs: { + calculerBriques: calculerBriquesMur, + calculerBetonArme, + obtenirDosagesBeton, + estimationRapideBriques, + estimationRapideBeton, + genererDevis + }, + + export: { + exporterMateriaux, + exporterZones, + exporterCalculs, + genererDevis: genererDevisBTP, + telechargerDernier: telechargerDernierExport + }, + + utils: { + reinitialiser, + obtenirStatistiques, + validerParametres + } + }; +}; \ No newline at end of file diff --git a/hooks/useChantierActions.ts b/hooks/useChantierActions.ts new file mode 100644 index 0000000..c0f608f --- /dev/null +++ b/hooks/useChantierActions.ts @@ -0,0 +1,299 @@ +/** + * Hook personnalisé pour gérer les actions sur les chantiers + * Centralise la logique métier et facilite la réutilisation + */ + +import { useCallback } from 'react'; +import { useRouter } from 'next/navigation'; +import { Toast } from 'primereact/toast'; +import { confirmDialog } from 'primereact/confirmdialog'; +import { chantierActionsService } from '../services/chantierActionsService'; +import { ChantierActif } from './useDashboard'; + +interface UseChantierActionsProps { + toast?: React.RefObject; + onRefresh?: () => void; +} + +interface UseChantierActionsReturn { + handleQuickView: (chantier: ChantierActif) => void; + handleViewStats: (chantier: ChantierActif) => Promise; + handleGenerateReport: (chantier: ChantierActif) => Promise; + handleExport: (chantier: ChantierActif, format: 'pdf' | 'excel') => Promise; + handleToggleSuspend: (chantier: ChantierActif) => void; + handleClose: (chantier: ChantierActif) => void; + handleArchive: (chantier: ChantierActif) => void; + handleMenuAction: (action: string, chantier: ChantierActif) => Promise; + // Nouvelles actions prioritaires BTP + handleSuspendChantier: (chantier: ChantierActif) => void; + handleCloseChantier: (chantier: ChantierActif) => void; + handleNotifyClient: (chantier: ChantierActif) => Promise; + handleGenerateInvoice: (chantier: ChantierActif) => Promise; + handleCreateAmendment: (chantier: ChantierActif) => Promise; +} + +export const useChantierActions = ({ + toast, + onRefresh +}: UseChantierActionsProps = {}): UseChantierActionsReturn => { + const router = useRouter(); + + const showToast = useCallback((severity: 'success' | 'info' | 'warn' | 'error', summary: string, detail: string, life = 3000) => { + toast?.current?.show({ severity, summary, detail, life }); + }, [toast]); + + const handleQuickView = useCallback(async (chantier: ChantierActif) => { + try { + // Pour la vue rapide, on utilise les données déjà disponibles + // Si nécessaire, on peut récupérer des détails depuis l'endpoint /chantiers/{id} + // Mais pour l'instant, on utilise ce qu'on a déjà + console.log('Vue rapide du chantier:', chantier); + + // Calculer des stats basiques depuis les données existantes + const joursEcoules = chantier.dateDebut ? + Math.floor((new Date().getTime() - new Date(chantier.dateDebut).getTime()) / (1000 * 60 * 60 * 24)) : 0; + + const joursRestants = chantier.dateFinPrevue ? + Math.floor((new Date(chantier.dateFinPrevue).getTime() - new Date().getTime()) / (1000 * 60 * 60 * 24)) : 0; + + const tauxDepense = chantier.budget > 0 ? + Math.round((chantier.coutReel / chantier.budget) * 100) : 0; + + // Les données sont déjà passées au composant Dialog, pas besoin d'appel API + showToast('info', 'Vue rapide', `Affichage des détails de ${chantier.nom}`); + } catch (error) { + console.error('Erreur lors de l\'affichage de la vue rapide:', error); + showToast('warn', 'Avertissement', 'Détails limités disponibles'); + } + }, [showToast]); + + const handleViewStats = useCallback(async (chantier: ChantierActif) => { + showToast('info', 'Chargement', 'Chargement des statistiques...', 2000); + + try { + const stats = await chantierActionsService.getChantierStats(chantier.id); + router.push(`/chantiers/${chantier.id}#stats`); + } catch (error) { + showToast('error', 'Erreur', 'Impossible de charger les statistiques'); + } + }, [router, showToast]); + + const handleGenerateReport = useCallback(async (chantier: ChantierActif) => { + showToast('info', 'Génération en cours', `Génération du rapport pour ${chantier.nom}...`); + + const result = await chantierActionsService.generateReport(chantier.id); + if (result.success) { + showToast('success', 'Rapport généré', 'Le rapport a été téléchargé avec succès'); + } else { + showToast('error', 'Erreur', result.message, 5000); + } + }, [showToast]); + + const handleExport = useCallback(async (chantier: ChantierActif, format: 'pdf' | 'excel') => { + showToast('info', 'Export en cours', `Export ${format.toUpperCase()} pour ${chantier.nom}...`); + + const result = await chantierActionsService.exportChantier(chantier.id, format); + if (result.success) { + showToast('success', 'Export réussi', `Le fichier ${format.toUpperCase()} a été téléchargé`); + } else { + showToast('error', 'Erreur d\'export', result.message, 5000); + } + }, [showToast]); + + const handleToggleSuspend = useCallback((chantier: ChantierActif) => { + const isSuspended = chantier.statut === 'SUSPENDU'; + const action = isSuspended ? 'reprendre' : 'suspendre'; + + confirmDialog({ + message: `Êtes-vous sûr de vouloir ${action} le chantier "${chantier.nom}" ?`, + header: 'Confirmation', + icon: 'pi pi-exclamation-triangle', + acceptLabel: 'Oui', + rejectLabel: 'Non', + accept: async () => { + const result = await chantierActionsService.toggleSuspend(chantier.id, !isSuspended); + if (result.success) { + showToast('success', 'Succès', result.message); + onRefresh?.(); + } else { + showToast('error', 'Erreur', result.message, 5000); + } + } + }); + }, [showToast, onRefresh]); + + const handleClose = useCallback((chantier: ChantierActif) => { + confirmDialog({ + message: `Êtes-vous sûr de vouloir clôturer le chantier "${chantier.nom}" ?\nCette action est irréversible.`, + header: 'Clôturer le chantier', + icon: 'pi pi-info-circle', + acceptClassName: 'p-button-success', + acceptLabel: 'Clôturer', + rejectLabel: 'Annuler', + accept: async () => { + const result = await chantierActionsService.closeChantier(chantier.id); + if (result.success) { + showToast('success', 'Chantier clôturé', result.message); + onRefresh?.(); + } else { + showToast('error', 'Erreur', result.message, 5000); + } + } + }); + }, [showToast, onRefresh]); + + const handleArchive = useCallback((chantier: ChantierActif) => { + confirmDialog({ + message: `Voulez-vous archiver le chantier "${chantier.nom}" ?\nIl sera déplacé dans les archives.`, + header: 'Archiver le chantier', + icon: 'pi pi-inbox', + acceptLabel: 'Archiver', + rejectLabel: 'Annuler', + accept: async () => { + const result = await chantierActionsService.archiveChantier(chantier.id); + if (result.success) { + showToast('info', 'Chantier archivé', result.message); + onRefresh?.(); + } else { + showToast('error', 'Erreur', result.message, 5000); + } + } + }); + }, [showToast, onRefresh]); + + const handleMenuAction = useCallback(async (action: string, chantier: ChantierActif) => { + switch (action) { + case 'details': + router.push(`/chantiers/${chantier.id}`); + break; + case 'documents': + router.push(`/documents?chantier=${chantier.id}`); + break; + case 'photos': + router.push(`/photos/par-chantier?id=${chantier.id}`); + break; + case 'team': + router.push(`/equipes?chantier=${chantier.id}`); + break; + case 'equipment': + router.push(`/materiels?chantier=${chantier.id}`); + break; + case 'report': + await handleGenerateReport(chantier); + break; + case 'export-pdf': + await handleExport(chantier, 'pdf'); + break; + case 'export-excel': + await handleExport(chantier, 'excel'); + break; + case 'toggle-suspend': + handleToggleSuspend(chantier); + break; + case 'close': + handleClose(chantier); + break; + case 'archive': + handleArchive(chantier); + break; + default: + console.warn('Action inconnue:', action); + } + }, [router, handleGenerateReport, handleExport, handleToggleSuspend, handleClose, handleArchive]); + + // Actions prioritaires BTP + const handleSuspendChantier = useCallback((chantier: ChantierActif) => { + confirmDialog({ + message: `Suspendre temporairement le chantier "${chantier.nom}" ?\nLes équipes seront notifiées.`, + header: 'Suspendre le chantier', + icon: 'pi pi-pause-circle', + acceptClassName: 'p-button-warning p-button-text p-button-rounded', + acceptLabel: 'Suspendre', + rejectLabel: 'Annuler', + accept: async () => { + try { + const result = await chantierActionsService.suspendChantier(chantier.id); + showToast('warn', 'Chantier suspendu', `${chantier.nom} a été suspendu temporairement`); + onRefresh?.(); + } catch (error) { + showToast('error', 'Erreur', 'Impossible de suspendre le chantier'); + } + } + }); + }, [showToast, onRefresh]); + + const handleCloseChantier = useCallback((chantier: ChantierActif) => { + confirmDialog({ + message: `Clôturer définitivement le chantier "${chantier.nom}" ?\nUn rapport final sera généré.`, + header: 'Clôturer le chantier', + icon: 'pi pi-check-circle', + acceptClassName: 'p-button-success p-button-text p-button-rounded', + acceptLabel: 'Clôturer', + rejectLabel: 'Annuler', + accept: async () => { + try { + const result = await chantierActionsService.closeChantierDefinitively(chantier.id); + showToast('success', 'Chantier clôturé', `${chantier.nom} a été clôturé avec succès`); + onRefresh?.(); + } catch (error) { + showToast('error', 'Erreur', 'Impossible de clôturer le chantier'); + } + } + }); + }, [showToast, onRefresh]); + + const handleNotifyClient = useCallback(async (chantier: ChantierActif) => { + try { + showToast('info', 'Envoi en cours...', 'Préparation de la notification client'); + const result = await chantierActionsService.notifyClient(chantier.id); + showToast('success', 'Notification envoyée', `Le client a été informé de l'avancement du chantier ${chantier.nom}`); + } catch (error) { + showToast('error', 'Erreur', 'Impossible d\'envoyer la notification au client'); + } + }, [showToast]); + + const handleGenerateInvoice = useCallback(async (chantier: ChantierActif) => { + try { + showToast('info', 'Génération...', 'Préparation de la facture intermédiaire'); + const result = await chantierActionsService.generateIntermediateInvoice(chantier.id); + showToast('success', 'Facture générée', `Facture intermédiaire créée pour ${chantier.nom}`); + + // Ouvrir la facture dans un nouvel onglet si URL fournie + if (result.pdfUrl) { + window.open(result.pdfUrl, '_blank'); + } + } catch (error) { + showToast('error', 'Erreur', 'Impossible de générer la facture intermédiaire'); + } + }, [showToast]); + + const handleCreateAmendment = useCallback(async (chantier: ChantierActif) => { + try { + showToast('info', 'Création avenant...', 'Préparation du document d\'avenant'); + const result = await chantierActionsService.createAmendment(chantier.id); + showToast('success', 'Avenant créé', `Avenant budgétaire créé pour ${chantier.nom}`); + + // Rediriger vers la page d'édition de l'avenant + router.push(`/chantiers/${chantier.id}/avenant/${result.amendmentId}`); + } catch (error) { + showToast('error', 'Erreur', 'Impossible de créer l\'avenant'); + } + }, [showToast, router]); + + return { + handleQuickView, + handleViewStats, + handleGenerateReport, + handleExport, + handleToggleSuspend, + handleClose, + handleArchive, + handleMenuAction, + // Nouvelles actions prioritaires + handleSuspendChantier, + handleCloseChantier, + handleNotifyClient, + handleGenerateInvoice, + handleCreateAmendment + }; +}; \ No newline at end of file diff --git a/hooks/useChantiers.ts b/hooks/useChantiers.ts new file mode 100644 index 0000000..859a0a4 --- /dev/null +++ b/hooks/useChantiers.ts @@ -0,0 +1,80 @@ +import { useState, useEffect } from 'react'; +import { apiClient } from '../services/api-client'; +import { Chantier } from '../types/btp'; + +export const useChantiers = () => { + const [chantiers, setChantiers] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + const fetchChantiers = async () => { + try { + setLoading(true); + const response = await apiClient.get('/chantiers'); + setChantiers(response.data); + setError(null); + } catch (err) { + console.error('Erreur lors du chargement des chantiers:', err); + setError('Erreur lors du chargement des chantiers'); + } finally { + setLoading(false); + } + }; + + const getChantierById = async (id: string) => { + try { + const response = await apiClient.get(`/chantiers/${id}`); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement du chantier:', err); + throw err; + } + }; + + const createChantier = async (chantier: Partial) => { + try { + const response = await apiClient.post('/chantiers', chantier); + await fetchChantiers(); + return response.data; + } catch (err) { + console.error('Erreur lors de la création du chantier:', err); + throw err; + } + }; + + const updateChantier = async (id: string, chantier: Partial) => { + try { + const response = await apiClient.put(`/chantiers/${id}`, chantier); + await fetchChantiers(); + return response.data; + } catch (err) { + console.error('Erreur lors de la mise à jour du chantier:', err); + throw err; + } + }; + + const deleteChantier = async (id: string) => { + try { + await apiClient.delete(`/chantiers/${id}`); + await fetchChantiers(); + } catch (err) { + console.error('Erreur lors de la suppression du chantier:', err); + throw err; + } + }; + + useEffect(() => { + fetchChantiers(); + }, []); + + return { + chantiers, + loading, + error, + refresh: fetchChantiers, + getChantierById, + createChantier, + updateChantier, + deleteChantier + }; +}; \ No newline at end of file diff --git a/hooks/useDashboard.ts b/hooks/useDashboard.ts new file mode 100644 index 0000000..6fb731d --- /dev/null +++ b/hooks/useDashboard.ts @@ -0,0 +1,335 @@ +/** + * Hook pour les données du dashboard - Version 2025 BTP Xpress + */ + +import { useState, useEffect, useCallback } from 'react'; +import { apiClient } from '../services/api-client'; +import { Chantier } from '../types/btp'; + +// Types pour les données du dashboard +export interface DashboardMetrics { + totalChantiers: number; + chantiersActifs: number; + chantiersEnRetard: number; + chantiersTermines: number; + totalEquipes: number; + equipesDisponibles: number; + totalMateriel: number; + materielDisponible: number; + materielEnMaintenance: number; + totalDocuments: number; + totalPhotos: number; + budgetTotal: number; + coutReel: number; + chiffreAffaires: number; + objectifCA: number; + tauxReussite: number; + satisfactionClient: number; +} + +export interface ChantierActif { + id: string; + nom: string; + client: string | { nom: string; prenom?: string }; + avancement: number; + dateDebut: string; + dateFinPrevue: string; + statut: 'EN_COURS' | 'EN_RETARD' | 'PLANIFIE' | 'TERMINE'; + budget: number; + coutReel: number; + equipe?: { + id: string; + nom: string; + nombreMembres: number; + }; +} + +export interface ActiviteRecente { + id: string; + type: 'CHANTIER' | 'MAINTENANCE' | 'DOCUMENT' | 'EQUIPE'; + titre: string; + description: string; + date: string; + utilisateur: string; + statut: 'SUCCESS' | 'WARNING' | 'ERROR' | 'INFO'; +} + +export interface TacheUrgente { + id: string; + titre: string; + description: string; + priorite: 'HAUTE' | 'MOYENNE' | 'BASSE'; + echeance: string; + assignee: string; + statut: 'A_FAIRE' | 'EN_COURS' | 'TERMINEE'; + chantier?: { + id: string; + nom: string; + }; +} + +interface DashboardData { + metrics: DashboardMetrics | null; + chantiersActifs: ChantierActif[]; + activitesRecentes: ActiviteRecente[]; + tachesUrgentes: TacheUrgente[]; + loading: boolean; + error: string | null; +} + +export const useDashboard = (periode: 'semaine' | 'mois' | 'trimestre' | 'annee' = 'mois') => { + const [data, setData] = useState({ + metrics: null, + chantiersActifs: [], + activitesRecentes: [], + tachesUrgentes: [], + loading: true, + error: null, + }); + + const [currentPeriode, setCurrentPeriode] = useState(periode); + + const loadDashboardData = useCallback(async (abortController?: AbortController) => { + try { + setData(prev => ({ ...prev, loading: true, error: null })); + + console.log('📊 Dashboard: Démarrage du chargement des données...'); + console.log('🔗 API Base URL:', process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8080/api/v1'); + + // Vérifier si la requête a été annulée + if (abortController?.signal.aborted) { + console.log('📊 Dashboard: Requête annulée avant le début'); + return; + } + + // Test de connectivité simple d'abord + try { + const healthCheck = await apiClient.get('/health'); + console.log('💚 Backend accessible:', healthCheck.status === 200 ? 'OK' : 'ERREUR'); + } catch (healthError) { + console.warn('⚠️ Backend health check échoué, tentative des endpoints dashboard...', healthError.message); + } + + // Charger les données du dashboard depuis l'API - STRICTEMENT depuis le backend + const [dashboardStatsResponse, chantiersActifsResponse] = await Promise.allSettled([ + apiClient.get('/api/v1/dashboard/stats').catch(async (error) => { + console.warn('⚠️ /api/v1/dashboard/stats non disponible, fallback vers /api/v1/chantiers'); + // Si l'endpoint stats n'existe pas, essayer /api/v1/chantiers + const chantiers = await apiClient.get('/api/v1/chantiers'); + const chantiersActifs = chantiers.data.filter(c => c.actif && (c.statut === 'EN_COURS' || c.statut === 'PLANIFIE')); + return { + data: { + totalChantiers: chantiers.data.length, + chantiersActifs: chantiersActifs.length, + chantiersEnRetard: 0, + chantiersTermines: chantiers.data.filter(c => c.statut === 'TERMINE').length, + totalEquipes: 0, + equipesDisponibles: 0, + totalMateriel: 0, + materielDisponible: 0, + materielEnMaintenance: 0, + totalDocuments: 0, + totalPhotos: 0, + budgetTotal: chantiersActifs.reduce((sum, c) => sum + (c.montantPrevu || 0), 0), + coutReel: chantiersActifs.reduce((sum, c) => sum + (c.montantReel || 0), 0), + chiffreAffaires: 0, + objectifCA: 0, + tauxReussite: 0, + satisfactionClient: 0 + } + }; + }), + apiClient.get('/api/v1/chantiers').then(response => { + const allChantiers = response.data; + const chantiersActifs = allChantiers.filter(c => c.actif && (c.statut === 'EN_COURS' || c.statut === 'PLANIFIE')); + return { data: chantiersActifs }; + }) + ]); + + // Extraire les données avec gestion d'erreur + const dashboardStats = dashboardStatsResponse.status === 'fulfilled' ? dashboardStatsResponse.value.data : null; + const chantiersActifs = chantiersActifsResponse.status === 'fulfilled' ? chantiersActifsResponse.value.data : []; + + // Transformer les données pour correspondre à l'interface attendue - UNIQUEMENT données réelles + const metrics = dashboardStats ? { + totalChantiers: dashboardStats.totalChantiers || 0, + chantiersActifs: chantiersActifs.length || 0, + chantiersEnRetard: dashboardStats.chantiersEnRetard || 0, + chantiersTermines: dashboardStats.chantiersTermines || 0, + totalEquipes: dashboardStats.totalEquipes || 0, + equipesDisponibles: dashboardStats.equipesDisponibles || 0, + totalMateriel: dashboardStats.totalMateriel || 0, + materielDisponible: dashboardStats.materielDisponible || 0, + materielEnMaintenance: dashboardStats.materielEnMaintenance || 0, + totalDocuments: dashboardStats.totalDocuments || 0, + totalPhotos: dashboardStats.totalPhotos || 0, + budgetTotal: dashboardStats.budgetTotal || 0, + coutReel: dashboardStats.coutReel || 0, + chiffreAffaires: dashboardStats.chiffreAffaires || 0, + objectifCA: dashboardStats.objectifCA || 0, + tauxReussite: dashboardStats.tauxReussite || 0, + satisfactionClient: dashboardStats.satisfactionClient || 0 + } : null; + + // Transformer les chantiers Chantier[] vers ChantierActif[] avec avancement asynchrone + const transformedChantiersActifs: ChantierActif[] = await Promise.all( + (chantiersActifs as Chantier[]).map(async (chantier) => ({ + id: chantier.id, + nom: chantier.nom, + client: typeof chantier.client === 'string' ? chantier.client : chantier.client?.nom || 'Client inconnu', + avancement: await calculateAvancement(chantier), + dateDebut: chantier.dateDebut, + dateFinPrevue: chantier.dateFinPrevue || '', + statut: mapStatutChantier(chantier.statut), + budget: chantier.montantPrevu || 0, + coutReel: chantier.montantReel || 0 + })) + ); + + const activitesRecentes = []; // À implémenter avec un endpoint spécifique + const tachesUrgentes = []; // À implémenter avec un endpoint spécifique + + // Log des erreurs pour debugging + if (dashboardStatsResponse.status === 'rejected') { + console.error('❌ Erreur dashboard stats:', dashboardStatsResponse.reason?.message || dashboardStatsResponse.reason); + console.error('📡 URL tentée:', 'GET /api/v1/dashboard/stats'); + } + if (chantiersActifsResponse.status === 'rejected') { + console.error('❌ Erreur chantiers actifs:', chantiersActifsResponse.reason?.message || chantiersActifsResponse.reason); + console.error('📡 URL tentée:', 'GET /api/v1/chantiers/actifs'); + } + + console.log('✅ Dashboard stats:', dashboardStats ? 'Données reçues' : 'Pas de données'); + console.log('✅ Chantiers actifs:', chantiersActifs ? `${chantiersActifs.length} chantiers` : 'Pas de données'); + + setData({ + metrics, + chantiersActifs: transformedChantiersActifs, + activitesRecentes, + tachesUrgentes, + loading: false, + error: null, + }); + + } catch (error) { + console.error('💥 Erreur lors du chargement du dashboard:', error); + setData(prev => ({ + ...prev, + loading: false, + error: 'Erreur de communication avec le serveur. Vérifiez que le backend est démarré sur http://localhost:8080', + })); + } + }, [currentPeriode]); + + useEffect(() => { + const abortController = new AbortController(); + + // Vérifier si on a des tokens d'authentification stockés + if (typeof window !== 'undefined') { + const hasTokens = localStorage.getItem('accessToken'); + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + console.log('📊 Dashboard Hook: État actuel', { + hasTokens: !!hasTokens, + hasAuthCode, + url: currentUrl + }); + + // Si on a des tokens, charger immédiatement même avec un code dans l'URL + if (hasTokens) { + console.log('📊 Dashboard Hook: Tokens trouvés, chargement immédiat des données...'); + loadDashboardData(abortController); + return () => abortController.abort(); + } + + if (hasAuthCode && !hasTokens) { + console.log('📊 Dashboard Hook: Attente de la fin du traitement d\'authentification...'); + // Attendre un peu puis réessayer (délai réduit) + const timer = setTimeout(() => { + if (!abortController.signal.aborted) { + console.log('📊 Dashboard Hook: Retry après authentification...'); + loadDashboardData(abortController); + } + }, 3000); // Attendre 3 secondes pour que l'auth se termine + + return () => { + clearTimeout(timer); + abortController.abort(); + }; + } + } + + // Charger par défaut + console.log('📊 Dashboard Hook: Chargement par défaut...'); + loadDashboardData(abortController); + + return () => abortController.abort(); + }, [loadDashboardData]); + + const refresh = useCallback(() => { + const abortController = new AbortController(); + loadDashboardData(abortController); + return () => abortController.abort(); + }, [loadDashboardData]); + + const changePeriode = useCallback((nouvellePeriode: 'semaine' | 'mois' | 'trimestre' | 'annee') => { + setCurrentPeriode(nouvellePeriode); + }, []); + + return { + ...data, + refresh, + changePeriode, + periode: currentPeriode, + isLoading: data.loading, + }; +}; + +// Fonctions utilitaires pour transformer les données +async function calculateAvancement(chantier: Chantier): Promise { + if (chantier.statut === 'TERMINE') return 100; + if (chantier.statut === 'ANNULE') return 0; + + try { + // Essayer d'obtenir l'avancement granulaire basé sur les tâches + const avancementGranulaire = await apiClient.get(`/chantiers/${chantier.id}/avancement-granulaire`); + if (avancementGranulaire.data && typeof avancementGranulaire.data.pourcentage === 'number') { + return Math.round(avancementGranulaire.data.pourcentage); + } + } catch (error) { + console.warn('Avancement granulaire non disponible, utilisation du calcul temporel:', error); + } + + // Fallback : calcul basé sur les dates (ancien système) + if (!chantier.dateDebut || !chantier.dateFinPrevue) { + return chantier.statut === 'EN_COURS' ? 25 : 0; + } + + const now = new Date(); + const start = new Date(chantier.dateDebut); + const end = new Date(chantier.dateFinPrevue); + + if (now < start) return 0; + if (now > end) return 100; + + const totalDays = (end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24); + const elapsedDays = (now.getTime() - start.getTime()) / (1000 * 60 * 60 * 24); + + const calculatedProgress = Math.min(Math.max((elapsedDays / totalDays) * 100, 0), 100); + + return Math.round(calculatedProgress); +} + +function mapStatutChantier(statut: string): 'EN_COURS' | 'EN_RETARD' | 'PLANIFIE' | 'TERMINE' { + switch (statut) { + case 'EN_COURS': return 'EN_COURS'; + case 'PLANIFIE': return 'PLANIFIE'; + case 'TERMINE': return 'TERMINE'; + case 'EN_RETARD': return 'EN_RETARD'; + // Si le statut backend n'est pas reconnu, essayer de déterminer s'il est en retard + default: return 'EN_COURS'; + } +} + +export default useDashboard; \ No newline at end of file diff --git a/hooks/usePhases.ts b/hooks/usePhases.ts new file mode 100644 index 0000000..fb232cf --- /dev/null +++ b/hooks/usePhases.ts @@ -0,0 +1,173 @@ +import { useState, useEffect } from 'react'; +import { apiClient } from '../services/api-client'; +import { PhaseChantier, StatutPhaseChantier } from '../types/phases'; + +export const usePhases = () => { + const [phases, setPhases] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + const fetchPhases = async () => { + try { + setLoading(true); + const response = await apiClient.get('/phases'); + setPhases(response.data); + setError(null); + } catch (err) { + console.error('Erreur lors du chargement des phases:', err); + setError('Erreur lors du chargement des phases'); + } finally { + setLoading(false); + } + }; + + const getPhasesByChantier = async (chantierId: string) => { + try { + const response = await apiClient.get(`/phases/chantier/${chantierId}`); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des phases du chantier:', err); + throw err; + } + }; + + const getPhasesByStatut = async (statut: StatutPhaseChantier) => { + try { + const response = await apiClient.get(`/phases/statut/${statut}`); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des phases par statut:', err); + throw err; + } + }; + + const getPhasesEnRetard = async () => { + try { + const response = await apiClient.get('/phases/en-retard'); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des phases en retard:', err); + throw err; + } + }; + + const getPhasesCritiques = async () => { + try { + const response = await apiClient.get('/phases/critiques'); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des phases critiques:', err); + throw err; + } + }; + + const createPhase = async (phase: Partial) => { + try { + const response = await apiClient.post('/phases', phase); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors de la création de la phase:', err); + throw err; + } + }; + + const updatePhase = async (id: string, phase: Partial) => { + try { + const response = await apiClient.put(`/phases/${id}`, phase); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors de la mise à jour de la phase:', err); + throw err; + } + }; + + const demarrerPhase = async (id: string) => { + try { + const response = await apiClient.post(`/phases/${id}/demarrer`); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors du démarrage de la phase:', err); + throw err; + } + }; + + const terminerPhase = async (id: string) => { + try { + const response = await apiClient.post(`/phases/${id}/terminer`); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors de la terminaison de la phase:', err); + throw err; + } + }; + + const suspendrePhase = async (id: string, motif: string) => { + try { + const response = await apiClient.post(`/phases/${id}/suspendre`, { motif }); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors de la suspension de la phase:', err); + throw err; + } + }; + + const reprendrePhase = async (id: string) => { + try { + const response = await apiClient.post(`/phases/${id}/reprendre`); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors de la reprise de la phase:', err); + throw err; + } + }; + + const updateAvancement = async (id: string, pourcentage: number) => { + try { + const response = await apiClient.post(`/phases/${id}/avancement`, { pourcentage }); + await fetchPhases(); + return response.data; + } catch (err) { + console.error('Erreur lors de la mise à jour de l\'avancement:', err); + throw err; + } + }; + + const deletePhase = async (id: string) => { + try { + await apiClient.delete(`/phases/${id}`); + await fetchPhases(); + } catch (err) { + console.error('Erreur lors de la suppression de la phase:', err); + throw err; + } + }; + + useEffect(() => { + fetchPhases(); + }, []); + + return { + phases, + loading, + error, + refresh: fetchPhases, + getPhasesByChantier, + getPhasesByStatut, + getPhasesEnRetard, + getPhasesCritiques, + createPhase, + updatePhase, + demarrerPhase, + terminerPhase, + suspendrePhase, + reprendrePhase, + updateAvancement, + deletePhase + }; +}; \ No newline at end of file diff --git a/hooks/usePhasesManager.ts b/hooks/usePhasesManager.ts new file mode 100644 index 0000000..82eefcb --- /dev/null +++ b/hooks/usePhasesManager.ts @@ -0,0 +1,298 @@ +import { useState, useCallback, useRef } from 'react'; +import { PhaseChantier, PhaseFormData } from '../types/btp-extended'; +import phaseService from '../services/phaseService'; +import { Toast } from 'primereact/toast'; + +interface UsePhasesManagerProps { + chantierId?: string; + onPhasesChange?: () => void; +} + +export const usePhasesManager = ({ chantierId, onPhasesChange }: UsePhasesManagerProps = {}) => { + const [phases, setPhases] = useState([]); + const [loading, setLoading] = useState(false); + const [selectedPhase, setSelectedPhase] = useState(null); + const toast = useRef(null); + + // Chargement des phases + const loadPhases = useCallback(async () => { + setLoading(true); + try { + let phasesData: PhaseChantier[]; + + if (chantierId) { + console.log('Chargement des phases pour le chantier:', chantierId); + phasesData = await phaseService.getByChantier(chantierId); + } else { + console.log('Chargement de toutes les phases'); + phasesData = await phaseService.getAll(); + } + + console.log('Phases récupérées:', phasesData); + setPhases(phasesData); + + if (onPhasesChange) { + onPhasesChange(); + } + } catch (error) { + console.error('Erreur lors du chargement des phases:', error); + showError('Impossible de charger les phases'); + } finally { + setLoading(false); + } + }, [chantierId, onPhasesChange]); + + // Création d'une phase + const createPhase = useCallback(async (phaseData: PhaseFormData) => { + try { + setLoading(true); + const newPhase = await phaseService.create({ + ...phaseData, + chantierId: chantierId || phaseData.chantierId, + statut: 'PLANIFIEE' + }); + + await loadPhases(); + showSuccess(`La phase "${phaseData.nom}" a été créée`); + + return newPhase; + } catch (error) { + console.error('Erreur lors de la création de la phase:', error); + showError('Impossible de créer la phase'); + throw error; + } finally { + setLoading(false); + } + }, [chantierId, loadPhases]); + + // Mise à jour d'une phase + const updatePhase = useCallback(async (phaseId: string, phaseData: Partial) => { + try { + setLoading(true); + const updatedPhase = await phaseService.update(phaseId, phaseData); + + await loadPhases(); + showSuccess(`La phase a été mise à jour`); + + return updatedPhase; + } catch (error) { + console.error('Erreur lors de la mise à jour de la phase:', error); + showError('Impossible de mettre à jour la phase'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Suppression d'une phase + const deletePhase = useCallback(async (phaseId: string) => { + try { + setLoading(true); + await phaseService.delete(phaseId); + + await loadPhases(); + showSuccess('La phase a été supprimée'); + } catch (error) { + console.error('Erreur lors de la suppression de la phase:', error); + showError('Impossible de supprimer la phase'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Démarrage d'une phase + const startPhase = useCallback(async (phaseId: string) => { + try { + setLoading(true); + await phaseService.demarrer(phaseId); + + await loadPhases(); + showSuccess('La phase a été démarrée'); + } catch (error) { + console.error('Erreur lors du démarrage de la phase:', error); + showError('Impossible de démarrer la phase'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Mise à jour de l'avancement + const updateProgress = useCallback(async (phaseId: string, pourcentage: number) => { + try { + setLoading(true); + await phaseService.updateAvancement(phaseId, pourcentage); + + await loadPhases(); + showSuccess('L\'avancement a été mis à jour'); + } catch (error) { + console.error('Erreur lors de la mise à jour de l\'avancement:', error); + showError('Impossible de mettre à jour l\'avancement'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Terminer une phase + const completePhase = useCallback(async (phaseId: string) => { + try { + setLoading(true); + await phaseService.terminer(phaseId); + + await loadPhases(); + showSuccess('La phase a été terminée'); + } catch (error) { + console.error('Erreur lors de la terminaison de la phase:', error); + showError('Impossible de terminer la phase'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Suspendre une phase + const suspendPhase = useCallback(async (phaseId: string, motif: string) => { + try { + setLoading(true); + await phaseService.suspendre(phaseId, motif); + + await loadPhases(); + showSuccess('La phase a été suspendue'); + } catch (error) { + console.error('Erreur lors de la suspension de la phase:', error); + showError('Impossible de suspendre la phase'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Reprendre une phase + const resumePhase = useCallback(async (phaseId: string) => { + try { + setLoading(true); + await phaseService.reprendre(phaseId); + + await loadPhases(); + showSuccess('La phase a été reprise'); + } catch (error) { + console.error('Erreur lors de la reprise de la phase:', error); + showError('Impossible de reprendre la phase'); + throw error; + } finally { + setLoading(false); + } + }, [loadPhases]); + + // Créer une sous-phase + const createSubPhase = useCallback(async (parentPhaseId: string, subPhaseData: PhaseFormData) => { + try { + setLoading(true); + const parentPhase = phases.find(p => p.id === parentPhaseId); + + if (!parentPhase) { + throw new Error('Phase parente non trouvée'); + } + + const newSubPhase = await phaseService.create({ + ...subPhaseData, + chantierId: parentPhase.chantierId || chantierId, + phaseParent: parentPhaseId, + statut: 'PLANIFIEE' + }); + + await loadPhases(); + showSuccess(`La sous-phase "${subPhaseData.nom}" a été créée`); + + return newSubPhase; + } catch (error) { + console.error('Erreur lors de la création de la sous-phase:', error); + showError('Impossible de créer la sous-phase'); + throw error; + } finally { + setLoading(false); + } + }, [phases, chantierId, loadPhases]); + + // Statistiques + const getStatistics = useCallback(() => { + const stats = { + total: phases.length, + planifiees: phases.filter(p => p.statut === 'PLANIFIEE').length, + enCours: phases.filter(p => p.statut === 'EN_COURS').length, + terminees: phases.filter(p => p.statut === 'TERMINEE').length, + enRetard: phases.filter(p => { + if (!p.dateFinPrevue || p.statut === 'TERMINEE') return false; + return new Date(p.dateFinPrevue) < new Date(); + }).length, + critiques: phases.filter(p => p.priorite === 'CRITIQUE' || p.priorite === 'HAUTE').length, + avancementMoyen: phases.length > 0 + ? Math.round(phases.reduce((sum, p) => sum + (p.pourcentageAvancement || 0), 0) / phases.length) + : 0 + }; + + return stats; + }, [phases]); + + // Helpers pour les notifications + const showSuccess = (message: string) => { + if (toast.current) { + toast.current.show({ + severity: 'success', + summary: 'Succès', + detail: message, + life: 3000 + }); + } + }; + + const showError = (message: string) => { + if (toast.current) { + toast.current.show({ + severity: 'error', + summary: 'Erreur', + detail: message, + life: 5000 + }); + } + }; + + // Attacher la ref toast + const setToastRef = (ref: any) => { + toast.current = ref; + }; + + return { + // État + phases, + loading, + selectedPhase, + setSelectedPhase, + + // Actions CRUD + loadPhases, + createPhase, + updatePhase, + deletePhase, + createSubPhase, + + // Actions métier + startPhase, + completePhase, + suspendPhase, + resumePhase, + updateProgress, + + // Statistiques + getStatistics, + + // Helpers + setToastRef, + showSuccess, + showError + }; +}; + +export default usePhasesManager; \ No newline at end of file diff --git a/hooks/useServerStatusInit.ts b/hooks/useServerStatusInit.ts new file mode 100644 index 0000000..33afca8 --- /dev/null +++ b/hooks/useServerStatusInit.ts @@ -0,0 +1,29 @@ +/** + * Hook pour initialiser le service de monitoring serveur SSE + * À utiliser dans le layout principal pour démarrer le service une seule fois + */ + +import { useEffect } from 'react'; +import { getServerStatusService } from '../services/serverStatusService'; + +export const useServerStatusInit = () => { + useEffect(() => { + // Vérifier si on est côté client + if (typeof window === 'undefined') return; + + console.log('🌐 Initialisation globale du monitoring serveur SSE'); + + // Obtenir l'instance du service côté client + const service = getServerStatusService(); + if (!service) return; + + // Démarrer le service SSE + service.start(); + + // Nettoyer à la fermeture de l'application + return () => { + console.log('🛑 Arrêt du monitoring serveur SSE'); + service.stop(); + }; + }, []); // Dépendances vides = exécution une seule fois +}; \ No newline at end of file diff --git a/hooks/useStocks.ts b/hooks/useStocks.ts new file mode 100644 index 0000000..f857484 --- /dev/null +++ b/hooks/useStocks.ts @@ -0,0 +1,224 @@ +import { useState, useEffect } from 'react'; +import { apiClient } from '../services/api-client'; +import { Stock, CategorieStock, StatutStock, MouvementStock } from '../types/stocks'; + +export const useStocks = () => { + const [stocks, setStocks] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + const fetchStocks = async () => { + try { + setLoading(true); + const response = await apiClient.get('/stocks'); + setStocks(response.data); + setError(null); + } catch (err) { + console.error('Erreur lors du chargement des stocks:', err); + setError('Erreur lors du chargement des stocks'); + } finally { + setLoading(false); + } + }; + + const getStockByReference = async (reference: string) => { + try { + const response = await apiClient.get(`/stocks/reference/${reference}`); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement du stock:', err); + throw err; + } + }; + + const searchByDesignation = async (designation: string) => { + try { + const response = await apiClient.get('/stocks/search', { + params: { designation } + }); + return response.data; + } catch (err) { + console.error('Erreur lors de la recherche:', err); + throw err; + } + }; + + const getStocksByCategorie = async (categorie: CategorieStock) => { + try { + const response = await apiClient.get(`/stocks/categorie/${categorie}`); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des stocks par catégorie:', err); + throw err; + } + }; + + const getStocksEnRupture = async () => { + try { + const response = await apiClient.get('/stocks/rupture'); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des stocks en rupture:', err); + throw err; + } + }; + + const getStocksSousMinimum = async () => { + try { + const response = await apiClient.get('/stocks/sous-minimum'); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des stocks sous minimum:', err); + throw err; + } + }; + + const createStock = async (stock: Partial) => { + try { + const response = await apiClient.post('/stocks', stock); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de la création du stock:', err); + throw err; + } + }; + + const updateStock = async (id: string, stock: Partial) => { + try { + const response = await apiClient.put(`/stocks/${id}`, stock); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de la mise à jour du stock:', err); + throw err; + } + }; + + const entreeStock = async (mouvement: MouvementStock) => { + try { + const response = await apiClient.post('/stocks/entree', mouvement); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de l\'entrée de stock:', err); + throw err; + } + }; + + const sortieStock = async (mouvement: MouvementStock) => { + try { + const response = await apiClient.post('/stocks/sortie', mouvement); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de la sortie de stock:', err); + throw err; + } + }; + + const reserverStock = async (stockId: string, quantite: number, chantierId?: string) => { + try { + const response = await apiClient.post('/stocks/reserver', { + stockId, + quantite, + chantierId + }); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de la réservation:', err); + throw err; + } + }; + + const libererReservation = async (stockId: string, quantite: number) => { + try { + const response = await apiClient.post('/stocks/liberer-reservation', { + stockId, + quantite + }); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de la libération de réservation:', err); + throw err; + } + }; + + const inventaire = async (stockId: string, quantiteReelle: number, observations?: string) => { + try { + const response = await apiClient.post('/stocks/inventaire', { + stockId, + quantiteReelle, + observations + }); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors de l\'inventaire:', err); + throw err; + } + }; + + const changerStatut = async (stockId: string, nouveauStatut: StatutStock, motif?: string) => { + try { + const response = await apiClient.post('/stocks/statut', { + stockId, + nouveauStatut, + motif + }); + await fetchStocks(); + return response.data; + } catch (err) { + console.error('Erreur lors du changement de statut:', err); + throw err; + } + }; + + const getStatistiques = async () => { + try { + const response = await apiClient.get('/stocks/statistiques'); + return response.data; + } catch (err) { + console.error('Erreur lors du chargement des statistiques:', err); + throw err; + } + }; + + const deleteStock = async (id: string) => { + try { + await apiClient.delete(`/stocks/${id}`); + await fetchStocks(); + } catch (err) { + console.error('Erreur lors de la suppression du stock:', err); + throw err; + } + }; + + useEffect(() => { + fetchStocks(); + }, []); + + return { + stocks, + loading, + error, + refresh: fetchStocks, + getStockByReference, + searchByDesignation, + getStocksByCategorie, + getStocksEnRupture, + getStocksSousMinimum, + createStock, + updateStock, + entreeStock, + sortieStock, + reserverStock, + libererReservation, + inventaire, + changerStatut, + getStatistiques, + deleteStock + }; +}; \ No newline at end of file diff --git a/hooks/useUserRoles.ts b/hooks/useUserRoles.ts new file mode 100644 index 0000000..a77c346 --- /dev/null +++ b/hooks/useUserRoles.ts @@ -0,0 +1,85 @@ +'use client'; + +import { useState, useEffect } from 'react'; + +interface UserRoles { + roles: string[]; + hasRole: (role: string) => boolean; + hasAnyRole: (roles: string[]) => boolean; + canAccess: (requiredRoles: string[]) => boolean; + isLoading: boolean; +} + +export const useUserRoles = (): UserRoles => { + const [roles, setRoles] = useState([]); + const [isLoading, setIsLoading] = useState(true); + + useEffect(() => { + const loadUserRoles = () => { + try { + // Récupérer les rôles depuis le token stocké + const accessToken = localStorage.getItem('accessToken'); + if (accessToken) { + // Décoder le token JWT pour extraire les rôles + const payload = JSON.parse(atob(accessToken.split('.')[1])); + + // Extraire les rôles du realm et du client + const realmRoles = payload.realm_access?.roles || []; + const clientRoles = payload.resource_access?.['btpxpress-frontend']?.roles || []; + + const allRoles = [...realmRoles, ...clientRoles]; + setRoles(allRoles); + console.log('🔐 Rôles utilisateur chargés:', allRoles); + } else { + console.warn('⚠️ Aucun token d\'accès trouvé'); + setRoles([]); + } + } catch (error) { + console.error('❌ Erreur lors du chargement des rôles:', error); + setRoles([]); + } finally { + setIsLoading(false); + } + }; + + loadUserRoles(); + }, []); + + const hasRole = (role: string): boolean => { + return roles.includes(role); + }; + + const hasAnyRole = (requiredRoles: string[]): boolean => { + return requiredRoles.some(role => roles.includes(role)); + }; + + const canAccess = (requiredRoles: string[]): boolean => { + if (requiredRoles.length === 0) return true; + return hasAnyRole(requiredRoles); + }; + + return { + roles, + hasRole, + hasAnyRole, + canAccess, + isLoading + }; +}; + +// Configuration des rôles par page/fonctionnalité +export const PAGE_ROLES = { + DASHBOARD: [], // Accessible à tous les utilisateurs authentifiés + PLANNING: ['super_admin', 'admin', 'directeur', 'manager', 'chef_chantier'], + CHANTIERS: ['super_admin', 'admin', 'directeur', 'manager', 'chef_chantier', 'ouvrier'], + CLIENTS: ['super_admin', 'admin', 'directeur', 'commercial'], + DEVIS: ['super_admin', 'admin', 'directeur', 'commercial'], + FACTURES: ['super_admin', 'admin', 'directeur', 'comptable'], + MATERIELS: ['super_admin', 'admin', 'directeur', 'manager', 'logisticien'], + EMPLOYES: ['super_admin', 'admin', 'directeur', 'manager'], + EQUIPES: ['super_admin', 'admin', 'directeur', 'manager', 'chef_chantier'], + REPORTS: ['super_admin', 'admin', 'directeur', 'manager'], + ADMIN: ['super_admin', 'admin'] +} as const; + +export type PageRole = keyof typeof PAGE_ROLES; diff --git a/layout/AppBreadCrumb.tsx b/layout/AppBreadCrumb.tsx new file mode 100644 index 0000000..ec77041 --- /dev/null +++ b/layout/AppBreadCrumb.tsx @@ -0,0 +1,94 @@ +'use client'; + +import { usePathname } from 'next/navigation'; +import { ObjectUtils, classNames } from 'primereact/utils'; +import React, { useContext, useEffect, useRef, useState } from 'react'; +import { LayoutContext } from './context/layoutcontext'; +import { Breadcrumb } from '../types/layout'; +import { InputText } from 'primereact/inputtext'; +import { Button } from 'primereact/button'; + +const AppBreadcrumb = () => { + const [searchActive, setSearchActive] = useState(false); + const pathname = usePathname(); + const [breadcrumb, setBreadcrumb] = useState(null); + const { breadcrumbs, showSidebar } = useContext(LayoutContext); + const searchInput = useRef(null); + + useEffect(() => { + const filteredBreadcrumbs = breadcrumbs?.find((crumb) => { + const lastPathSegment = crumb.to.split('/').pop(); + const lastRouterSegment = pathname.split('/').pop(); + + if (lastRouterSegment?.startsWith('[') && !isNaN(Number(lastPathSegment))) { + return pathname.split('/').slice(0, -1).join('/') === crumb.to?.split('/').slice(0, -1).join('/'); + } + return crumb.to === pathname; + }); + + setBreadcrumb(filteredBreadcrumbs); + }, [pathname, breadcrumbs]); + + const activateSearch = () => { + setSearchActive(true); + setTimeout(() => { + searchInput.current.focus(); + }, 100); + }; + + const deactivateSearch = () => { + setSearchActive(false); + }; + + const onSidebarButtonClick = () => { + showSidebar(); + }; + + return ( +
+ +
    +
  • +
    + +
    + + { + if (e.key === 'ESCAPE') deactivateSearch(); + }} + /> + + +
    +
    +
  • +
  • + + +
  • +
+
+ ); +}; + +export default AppBreadcrumb; diff --git a/layout/AppConfig.tsx b/layout/AppConfig.tsx new file mode 100644 index 0000000..3b17811 --- /dev/null +++ b/layout/AppConfig.tsx @@ -0,0 +1,209 @@ +'use client'; + +import React from 'react'; +import { classNames } from 'primereact/utils'; +import { PrimeReactContext } from 'primereact/api'; +import { RadioButton, RadioButtonChangeEvent } from 'primereact/radiobutton'; +import { InputSwitch, InputSwitchChangeEvent } from 'primereact/inputswitch'; +import { Button } from 'primereact/button'; +import { LayoutContext } from './context/layoutcontext'; +import { Sidebar } from 'primereact/sidebar'; +import { useContext, useEffect } from 'react'; +import { AppConfigProps, ColorScheme } from '../types/layout'; + +const AppConfig = (props: AppConfigProps) => { + const { layoutConfig, setLayoutConfig, layoutState, setLayoutState, isSlim, isHorizontal, isSlimPlus } = useContext(LayoutContext); + const { setRipple, changeTheme } = useContext(PrimeReactContext); + const scales = [12, 13, 14, 15, 16]; + + const componentThemes = [ + { name: 'blue', color: '#0F8BFD' }, + { name: 'green', color: '#0BD18A' }, + { name: 'magenta', color: '#EC4DBC' }, + { name: 'orange', color: '#FD9214' }, + { name: 'purple', color: '#873EFE' }, + { name: 'red', color: '#FC6161' }, + { name: 'teal', color: '#00D0DE' }, + { name: 'yellow', color: '#EEE500' } + ]; + + useEffect(() => { + if (isSlim() || isHorizontal() || isSlimPlus()) { + setLayoutState((prevState) => ({ ...prevState, resetMenu: true })); + } + }, [layoutConfig.menuMode]); + + const changeInputStyle = (e: RadioButtonChangeEvent) => { + setLayoutConfig((prevState) => ({ ...prevState, inputStyle: e.value })); + }; + + const changeRipple = (e: InputSwitchChangeEvent) => { + setRipple(e.value); + setLayoutConfig((prevState) => ({ ...prevState, ripple: e.value })); + }; + + const changeMenuMode = (e: RadioButtonChangeEvent) => { + setLayoutConfig((prevState) => ({ ...prevState, menuMode: e.value })); + }; + + const changeColorScheme = (colorScheme: ColorScheme) => { + changeTheme(layoutConfig.colorScheme, colorScheme, 'theme-link', () => { + setLayoutConfig((prevState) => ({ ...prevState, colorScheme })); + }); + }; + + const _changeTheme = (theme: string) => { + changeTheme(layoutConfig.theme, theme, 'theme-link', () => { + setLayoutConfig((prevState) => ({ ...prevState, theme })); + }); + }; + + const getComponentThemes = () => { + return ( +
+ {componentThemes.map((theme, i) => { + return ( + + ); + })} +
+ ); + }; + + const componentThemesElement = getComponentThemes(); + + const decrementScale = () => { + setLayoutConfig((prevState) => ({ + ...prevState, + scale: prevState.scale - 1 + })); + }; + + const incrementScale = () => { + setLayoutConfig((prevState) => ({ + ...prevState, + scale: prevState.scale + 1 + })); + }; + + const applyScale = () => { + document.documentElement.style.fontSize = layoutConfig.scale + 'px'; + }; + + useEffect(() => { + applyScale(); + }, [layoutConfig.scale]); + + return ( +
+ + setLayoutState((prevState) => ({ + ...prevState, + configSidebarVisible: true + })) + } + > + + + + + setLayoutState((prevState) => ({ + ...prevState, + configSidebarVisible: false + })) + } + > +
Themes
+ {componentThemesElement} + +
Scale
+
+ +
+ {scales.map((s, i) => { + return ( + + ); + })} +
+ +
+ + {!props.minimal && ( + <> +
Menu Type
+
+
+ changeMenuMode(e)}> + +
+
+ changeMenuMode(e)}> + +
+
+ changeMenuMode(e)}> + +
+
+ changeMenuMode(e)}> + +
+
+ changeMenuMode(e)}> + +
+
+ changeMenuMode(e)}> + +
+
+ changeMenuMode(e)}> + +
+
+ + )} + +
Color Scheme
+ +
+ changeColorScheme(e.value)}> + +
+ +
+ changeColorScheme(e.value)}> + +
+ +
Ripple Effect
+ changeRipple(e)} /> +
+
+ ); +}; + +export default AppConfig; diff --git a/layout/AppMenu.tsx b/layout/AppMenu.tsx new file mode 100644 index 0000000..a1f2f4f --- /dev/null +++ b/layout/AppMenu.tsx @@ -0,0 +1,936 @@ +import { MenuModal } from '../types/layout'; +import { UserRole } from '@/types/auth'; +import { useAuth } from '../contexts/AuthContext'; +import AppSubMenu from './AppSubMenu'; +import { useMemo } from 'react'; + +const AppMenu = () => { + const { user, hasRole, hasPermission, isAuthenticated } = useAuth(); + + // Menu basé sur les API endpoints réellement disponibles dans le backend + + const canAccess = (requiredRoles: UserRole[], requiredPermissions?: string[]) => { + if (!isAuthenticated || !user) return false; + + // Vérifier les rôles requis + if (requiredRoles && requiredRoles.length > 0) { + const hasRequiredRole = requiredRoles.some(role => hasRole(role)); + if (!hasRequiredRole) return false; + } + + // Vérifier les permissions requises + if (requiredPermissions && requiredPermissions.length > 0) { + const hasRequiredPermission = requiredPermissions.some(permission => hasPermission(permission)); + if (!hasRequiredPermission) return false; + } + + return true; + }; + + const filterMenuItems = (items: MenuModal[]): MenuModal[] => { + return items.filter(item => { + if (item.separator) return true; + if (!item.requiredRoles && !item.requiredPermissions) return true; + + const hasAccess = canAccess(item.requiredRoles || [], item.requiredPermissions); + + if (hasAccess && item.items) { + item.items = filterMenuItems(item.items); + return item.items.length > 0; + } + + return hasAccess; + }); + }; + + const baseModel: MenuModal[] = [ + { + label: 'Tableau de Bord', + icon: 'pi pi-home', + items: [ + { + label: 'Vue d\'ensemble', + icon: 'pi pi-fw pi-chart-line', + to: '/dashboard', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER] + }, + { + label: 'Dashboard Gestionnaire', + icon: 'pi pi-fw pi-users', + to: '/gestionnaire/dashboard', + requiredRoles: [UserRole.GESTIONNAIRE_PROJET] + }, + { + label: 'Mon Espace Client', + icon: 'pi pi-fw pi-user', + to: '/client/dashboard', + requiredRoles: [UserRole.CLIENT] + }, + { + label: 'Dashboard Chantiers', + icon: 'pi pi-fw pi-building', + to: '/dashboard/chantiers', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER, UserRole.CHEF_CHANTIER] + }, + { + label: 'Dashboard Maintenance', + icon: 'pi pi-fw pi-wrench', + to: '/dashboard/maintenance', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER] + }, + { + label: 'Dashboard Ressources', + icon: 'pi pi-fw pi-users', + to: '/dashboard/ressources' + }, + { + label: 'Dashboard Planning', + icon: 'pi pi-fw pi-calendar', + to: '/dashboard/planning' + }, + { + label: 'Alertes & KPI', + icon: 'pi pi-fw pi-exclamation-triangle', + to: '/dashboard/alertes' + }, + { + label: 'Résumé Quotidien', + icon: 'pi pi-fw pi-file-o', + to: '/dashboard/resume-quotidien' + } + ] + }, + { separator: true }, + { + label: 'Gestion BTP', + icon: 'pi pi-building', + items: [ + { + label: 'Chantiers', + icon: 'pi pi-fw pi-map', + items: [ + { + label: 'Tous les chantiers', + icon: 'pi pi-fw pi-list', + to: '/chantiers' + }, + { + label: 'En cours', + icon: 'pi pi-fw pi-play-circle', + to: '/chantiers/en-cours' + }, + { + label: 'Planifiés', + icon: 'pi pi-fw pi-calendar', + to: '/chantiers/planifies' + }, + { + label: 'Terminés', + icon: 'pi pi-fw pi-check-circle', + to: '/chantiers/termines' + }, + { + label: 'Statistiques', + icon: 'pi pi-fw pi-chart-bar', + to: '/chantiers/stats' + }, + { + label: 'Exécution granulaire', + icon: 'pi pi-fw pi-check-square', + to: '/chantiers/execution-granulaire', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER, UserRole.CHEF_CHANTIER] + }, + { + label: 'Nouveau chantier', + icon: 'pi pi-fw pi-plus', + to: '/chantiers/nouveau' + } + ] + }, + { + label: 'Clients', + icon: 'pi pi-fw pi-users', + items: [ + { + label: 'Liste des clients', + icon: 'pi pi-fw pi-list', + to: '/clients' + }, + { + label: 'Recherche clients', + icon: 'pi pi-fw pi-search', + to: '/clients/recherche' + }, + { + label: 'Nouveau client', + icon: 'pi pi-fw pi-user-plus', + to: '/clients/nouveau' + } + ] + }, + { + label: 'Devis', + icon: 'pi pi-fw pi-file-edit', + items: [ + { + label: 'Tous les devis', + icon: 'pi pi-fw pi-list', + to: '/devis' + }, + { + label: 'En attente', + icon: 'pi pi-fw pi-clock', + to: '/devis/en-attente' + }, + { + label: 'Acceptés', + icon: 'pi pi-fw pi-check', + to: '/devis/acceptes' + }, + { + label: 'Expirant bientôt', + icon: 'pi pi-fw pi-exclamation-triangle', + to: '/devis/expiring' + }, + { + label: 'Recherche par dates', + icon: 'pi pi-fw pi-search', + to: '/devis/search' + }, + { + label: 'Nouveau devis', + icon: 'pi pi-fw pi-plus', + to: '/devis/nouveau' + } + ] + }, + { + label: 'Factures', + icon: 'pi pi-fw pi-receipt', + items: [ + { + label: 'Toutes les factures', + icon: 'pi pi-fw pi-list', + to: '/factures' + }, + { + label: 'Échues', + icon: 'pi pi-fw pi-exclamation-circle', + to: '/factures/echues' + }, + { + label: 'Proches échéance', + icon: 'pi pi-fw pi-clock', + to: '/factures/proches-echeance' + }, + { + label: 'Par période', + icon: 'pi pi-fw pi-calendar', + to: '/factures/date-range' + }, + { + label: 'Chiffre d\'affaires', + icon: 'pi pi-fw pi-dollar', + to: '/factures/chiffre-affaires' + }, + { + label: 'Nouvelle facture', + icon: 'pi pi-fw pi-plus', + to: '/factures/nouvelle' + } + ] + } + ] + }, + { separator: true }, + { + label: 'Configuration & Templates', + icon: 'pi pi-cog', + items: [ + { + label: 'Templates de Tâches', + icon: 'pi pi-fw pi-list-check', + to: '/templates/taches', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER] + } + ] + }, + { separator: true }, + { + label: 'Gestion Budgétaire', + icon: 'pi pi-calculator', + items: [ + { + label: 'Planification Budgétaire', + icon: 'pi pi-fw pi-chart-pie', + items: [ + { + label: 'Vue d\'ensemble budgets', + icon: 'pi pi-fw pi-eye', + to: '/budget/planification' + }, + { + label: 'Budgets par chantier', + icon: 'pi pi-fw pi-building', + to: '/budget/planification/chantiers' + }, + { + label: 'Budgets par phase', + icon: 'pi pi-fw pi-sitemap', + to: '/budget/planification/phases' + }, + { + label: 'Modèles de budget', + icon: 'pi pi-fw pi-clone', + to: '/budget/planification/modeles' + }, + { + label: 'Nouvelle planification', + icon: 'pi pi-fw pi-plus', + to: '/budget/planification/nouveau' + } + ] + }, + { + label: 'Suivi des Dépenses', + icon: 'pi pi-fw pi-chart-line', + items: [ + { + label: 'Tableau de bord dépenses', + icon: 'pi pi-fw pi-chart-bar', + to: '/budget/suivi' + }, + { + label: 'Dépenses par chantier', + icon: 'pi pi-fw pi-building', + to: '/budget/suivi/chantiers' + }, + { + label: 'Dépenses par catégorie', + icon: 'pi pi-fw pi-tags', + to: '/budget/suivi/categories' + }, + { + label: 'Analyse des écarts', + icon: 'pi pi-fw pi-exclamation-triangle', + to: '/budget/suivi/ecarts' + }, + { + label: 'Alertes budgétaires', + icon: 'pi pi-fw pi-bell', + to: '/budget/suivi/alertes' + }, + { + label: 'Saisir nouvelle dépense', + icon: 'pi pi-fw pi-plus', + to: '/budget/suivi/nouvelle-depense' + } + ] + }, + { + label: 'Analyses Budgétaires', + icon: 'pi pi-fw pi-chart-bar', + items: [ + { + label: 'Rentabilité projets', + icon: 'pi pi-fw pi-percentage', + to: '/budget/analyses/rentabilite' + }, + { + label: 'Évolution des coûts', + icon: 'pi pi-fw pi-chart-line', + to: '/budget/analyses/evolution-couts' + }, + { + label: 'Prévisions budgétaires', + icon: 'pi pi-fw pi-forward', + to: '/budget/analyses/previsions' + }, + { + label: 'Comparaisons historiques', + icon: 'pi pi-fw pi-history', + to: '/budget/analyses/historique' + }, + { + label: 'Export rapports budget', + icon: 'pi pi-fw pi-file-excel', + to: '/budget/analyses/export' + } + ] + } + ] + }, + { separator: true }, + { + label: 'Ressources Humaines', + icon: 'pi pi-users', + items: [ + { + label: 'Employés', + icon: 'pi pi-fw pi-user', + items: [ + { + label: 'Liste des employés', + icon: 'pi pi-fw pi-list', + to: '/employes' + }, + { + label: 'Employés actifs', + icon: 'pi pi-fw pi-check-circle', + to: '/employes/actifs' + }, + { + label: 'Employés disponibles', + icon: 'pi pi-fw pi-calendar-check', + to: '/employes/disponibles' + }, + { + label: 'Statistiques employés', + icon: 'pi pi-fw pi-chart-bar', + to: '/employes/stats' + }, + { + label: 'Nouvel employé', + icon: 'pi pi-fw pi-user-plus', + to: '/employes/nouveau' + } + ] + }, + { + label: 'Équipes', + icon: 'pi pi-fw pi-users', + items: [ + { + label: 'Toutes les équipes', + icon: 'pi pi-fw pi-list', + to: '/equipes' + }, + { + label: 'Équipes disponibles', + icon: 'pi pi-fw pi-check-circle', + to: '/equipes/disponibles' + }, + { + label: 'Spécialités équipes', + icon: 'pi pi-fw pi-star', + to: '/equipes/specialites' + }, + { + label: 'Équipe optimale', + icon: 'pi pi-fw pi-search', + to: '/equipes/optimal' + }, + { + label: 'Statistiques équipes', + icon: 'pi pi-fw pi-chart-line', + to: '/equipes/stats' + }, + { + label: 'Nouvelle équipe', + icon: 'pi pi-fw pi-plus', + to: '/equipes/nouvelle' + } + ] + }, + { + label: 'Disponibilités', + icon: 'pi pi-fw pi-calendar-times', + items: [ + { + label: 'Toutes les disponibilités', + icon: 'pi pi-fw pi-list', + to: '/disponibilites' + }, + { + label: 'Disponibilités actuelles', + icon: 'pi pi-fw pi-calendar', + to: '/disponibilites/actuelles' + }, + { + label: 'Disponibilités futures', + icon: 'pi pi-fw pi-forward', + to: '/disponibilites/futures' + }, + { + label: 'Demandes en attente', + icon: 'pi pi-fw pi-clock', + to: '/disponibilites/en-attente' + }, + { + label: 'Recherche par période', + icon: 'pi pi-fw pi-search', + to: '/disponibilites/periode' + }, + { + label: 'Conflits de planning', + icon: 'pi pi-fw pi-exclamation-triangle', + to: '/disponibilites/conflits' + }, + { + label: 'Statistiques', + icon: 'pi pi-fw pi-chart-bar', + to: '/disponibilites/statistiques' + } + ] + } + ] + }, + { separator: true }, + { + label: 'Matériel & Maintenance', + icon: 'pi pi-wrench', + items: [ + { + label: 'Parc Matériel', + icon: 'pi pi-fw pi-cog', + items: [ + { + label: 'Inventaire matériel', + icon: 'pi pi-fw pi-list', + to: '/materiels' + }, + { + label: 'Matériel disponible', + icon: 'pi pi-fw pi-check-circle', + to: '/materiels/disponibles' + }, + { + label: 'Maintenance prévue', + icon: 'pi pi-fw pi-clock', + to: '/materiels/maintenance-prevue' + }, + { + label: 'Par type de matériel', + icon: 'pi pi-fw pi-sitemap', + to: '/materiels/by-type' + }, + { + label: 'Recherche matériel', + icon: 'pi pi-fw pi-search', + to: '/materiels/search' + }, + { + label: 'Statistiques & Valeur', + icon: 'pi pi-fw pi-chart-bar', + to: '/materiels/stats' + }, + { + label: 'Nouveau matériel', + icon: 'pi pi-fw pi-plus', + to: '/materiels/nouveau' + } + ] + }, + { + label: 'Maintenance', + icon: 'pi pi-fw pi-wrench', + items: [ + { + label: 'Toutes les maintenances', + icon: 'pi pi-fw pi-list', + to: '/maintenances' + }, + { + label: 'Planifiées', + icon: 'pi pi-fw pi-calendar', + to: '/maintenances/planifiees' + }, + { + label: 'En cours', + icon: 'pi pi-fw pi-play-circle', + to: '/maintenances/en-cours' + }, + { + label: 'Terminées', + icon: 'pi pi-fw pi-check-circle', + to: '/maintenances/terminees' + }, + { + label: 'En retard', + icon: 'pi pi-fw pi-exclamation-triangle', + to: '/maintenances/en-retard' + }, + { + label: 'Prochaines maintenances', + icon: 'pi pi-fw pi-forward', + to: '/maintenances/prochaines' + }, + { + label: 'Préventives', + icon: 'pi pi-fw pi-shield', + to: '/maintenances/preventives' + }, + { + label: 'Correctives', + icon: 'pi pi-fw pi-bolt', + to: '/maintenances/correctives' + }, + { + label: 'Matériel attention requise', + icon: 'pi pi-fw pi-eye', + to: '/maintenances/attention-requise' + }, + { + label: 'Coûts maintenance', + icon: 'pi pi-fw pi-dollar', + to: '/maintenances/cout-total-periode' + }, + { + label: 'Statistiques détaillées', + icon: 'pi pi-fw pi-chart-line', + to: '/maintenances/statistiques' + }, + { + label: 'Nouvelle maintenance', + icon: 'pi pi-fw pi-plus', + to: '/maintenances/nouvelle' + } + ] + } + ] + }, + { separator: true }, + { + label: 'Planning & Organisation', + icon: 'pi pi-calendar', + items: [ + { + label: 'Vue Planning', + icon: 'pi pi-fw pi-calendar', + to: '/planning' + }, + { + label: 'Planning Hebdomadaire', + icon: 'pi pi-fw pi-calendar-plus', + to: '/planning/week' + }, + { + label: 'Planning Mensuel', + icon: 'pi pi-fw pi-th', + to: '/planning/month' + }, + { + label: 'Événements Planning', + icon: 'pi pi-fw pi-list', + to: '/planning/events' + }, + { + label: 'Conflits de Ressources', + icon: 'pi pi-fw pi-exclamation-triangle', + to: '/planning/conflicts' + }, + { + label: 'Vérifier Disponibilité', + icon: 'pi pi-fw pi-search', + to: '/planning/check-availability' + }, + { + label: 'Statistiques Planning', + icon: 'pi pi-fw pi-chart-bar', + to: '/planning/stats' + } + ] + }, + { separator: true }, + { + label: 'Documents & Photos', + icon: 'pi pi-folder', + items: [ + { + label: 'Gestion Documents', + icon: 'pi pi-fw pi-file', + items: [ + { + label: 'Tous les documents', + icon: 'pi pi-fw pi-list', + to: '/documents' + }, + { + label: 'Documents images', + icon: 'pi pi-fw pi-image', + to: '/documents/images' + }, + { + label: 'Documents PDF', + icon: 'pi pi-fw pi-file-pdf', + to: '/documents/pdfs' + }, + { + label: 'Documents publics', + icon: 'pi pi-fw pi-globe', + to: '/documents/publics' + }, + { + label: 'Documents récents', + icon: 'pi pi-fw pi-clock', + to: '/documents/recents' + }, + { + label: 'Documents orphelins', + icon: 'pi pi-fw pi-question-circle', + to: '/documents/orphelins' + }, + { + label: 'Statistiques documents', + icon: 'pi pi-fw pi-chart-bar', + to: '/documents/statistiques' + }, + { + label: 'Upload document', + icon: 'pi pi-fw pi-upload', + to: '/documents/upload' + } + ] + }, + { + label: 'Photos Chantiers', + icon: 'pi pi-fw pi-camera', + items: [ + { + label: 'Toutes les photos', + icon: 'pi pi-fw pi-images', + to: '/photos' + }, + { + label: 'Photos récentes', + icon: 'pi pi-fw pi-clock', + to: '/photos/recentes' + }, + { + label: 'Par chantier', + icon: 'pi pi-fw pi-building', + to: '/photos/par-chantier' + }, + { + label: 'Par employé', + icon: 'pi pi-fw pi-user', + to: '/photos/par-employe' + }, + { + label: 'Galeries chantiers', + icon: 'pi pi-fw pi-th-large', + to: '/photos/galeries' + }, + { + label: 'Statistiques photos', + icon: 'pi pi-fw pi-chart-line', + to: '/photos/statistiques' + }, + { + label: 'Upload photos', + icon: 'pi pi-fw pi-upload', + to: '/photos/upload' + } + ] + } + ] + }, + { separator: true }, + { + label: 'Communication', + icon: 'pi pi-comments', + items: [ + { + label: 'Messagerie', + icon: 'pi pi-fw pi-envelope', + items: [ + { + label: 'Boîte de réception', + icon: 'pi pi-fw pi-inbox', + to: '/messages/boite-reception' + }, + { + label: 'Boîte d\'envoi', + icon: 'pi pi-fw pi-send', + to: '/messages/boite-envoi' + }, + { + label: 'Messages non lus', + icon: 'pi pi-fw pi-exclamation-circle', + to: '/messages/non-lus' + }, + { + label: 'Messages importants', + icon: 'pi pi-fw pi-star', + to: '/messages/importants' + }, + { + label: 'Messages archivés', + icon: 'pi pi-fw pi-archive', + to: '/messages/archives' + }, + { + label: 'Conversations', + icon: 'pi pi-fw pi-comments', + to: '/messages/conversations' + }, + { + label: 'Recherche messages', + icon: 'pi pi-fw pi-search', + to: '/messages/recherche' + }, + { + label: 'Statistiques messagerie', + icon: 'pi pi-fw pi-chart-bar', + to: '/messages/statistiques' + }, + { + label: 'Nouveau message', + icon: 'pi pi-fw pi-plus', + to: '/messages/nouveau' + }, + { + label: 'Diffuser message', + icon: 'pi pi-fw pi-megaphone', + to: '/messages/diffuser' + } + ] + }, + { + label: 'Notifications', + icon: 'pi pi-fw pi-bell', + items: [ + { + label: 'Toutes les notifications', + icon: 'pi pi-fw pi-list', + to: '/notifications' + }, + { + label: 'Notifications non lues', + icon: 'pi pi-fw pi-exclamation-circle', + to: '/notifications/non-lues' + }, + { + label: 'Notifications récentes', + icon: 'pi pi-fw pi-clock', + to: '/notifications/recentes' + }, + { + label: 'Tableau de bord', + icon: 'pi pi-fw pi-chart-line', + to: '/notifications/tableau-bord' + }, + { + label: 'Statistiques', + icon: 'pi pi-fw pi-chart-bar', + to: '/notifications/statistiques' + }, + { + label: 'Diffuser notification', + icon: 'pi pi-fw pi-megaphone', + to: '/notifications/broadcast' + }, + { + label: 'Notifications automatiques', + icon: 'pi pi-fw pi-cog', + to: '/notifications/automatiques' + } + ] + } + ] + }, + { separator: true }, + { + label: 'Rapports & Analyses', + icon: 'pi pi-chart-bar', + items: [ + { + label: 'Rapports Chantiers', + icon: 'pi pi-fw pi-building', + to: '/reports/chantiers' + }, + { + label: 'Rapport Maintenance', + icon: 'pi pi-fw pi-wrench', + to: '/reports/maintenance' + }, + { + label: 'Rapport RH', + icon: 'pi pi-fw pi-users', + to: '/reports/ressources-humaines' + }, + { + label: 'Rapport Financier', + icon: 'pi pi-fw pi-dollar', + to: '/reports/financier' + }, + { + label: 'Export CSV Chantiers', + icon: 'pi pi-fw pi-file-excel', + to: '/reports/export/csv/chantiers' + }, + { + label: 'Export CSV Maintenance', + icon: 'pi pi-fw pi-file-excel', + to: '/reports/export/csv/maintenance' + } + ] + }, + { separator: true }, + { + label: 'Admin & Utilisateurs', + icon: 'pi pi-shield', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER], + items: [ + { + label: 'Gestion Utilisateurs', + icon: 'pi pi-fw pi-users', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER], + items: [ + { + label: 'Tous les utilisateurs', + icon: 'pi pi-fw pi-list', + to: '/admin/utilisateurs', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER] + }, + { + label: 'Demandes d\'accès', + icon: 'pi pi-fw pi-clock', + to: '/admin/demandes-acces', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER] + }, + { + label: 'Attribution Gestionnaires', + icon: 'pi pi-fw pi-sitemap', + to: '/admin/attributions', + requiredRoles: [UserRole.ADMIN, UserRole.MANAGER] + }, + { + label: 'Gestion des rôles', + icon: 'pi pi-fw pi-shield', + to: '/admin/roles', + requiredRoles: [UserRole.ADMIN] + } + ] + }, + { + label: 'Mon Profil', + icon: 'pi pi-fw pi-user', + items: [ + { + label: 'Voir mon profil', + icon: 'pi pi-fw pi-id-card', + to: '/auth/profile' + }, + { + label: 'Modifier profil', + icon: 'pi pi-fw pi-user-edit', + to: '/auth/profile/edit' + }, + { + label: 'Changer mot de passe', + icon: 'pi pi-fw pi-key', + to: '/auth/change-password' + } + ] + } + ] + } + ]; + + const model = useMemo(() => filterMenuItems(baseModel), [baseModel]); + + return ; +}; + +export default AppMenu; \ No newline at end of file diff --git a/layout/AppMenuitem.tsx b/layout/AppMenuitem.tsx new file mode 100644 index 0000000..11fc4e2 --- /dev/null +++ b/layout/AppMenuitem.tsx @@ -0,0 +1,187 @@ +'use client'; + +import Link from 'next/link'; +import { usePathname, useSearchParams } from 'next/navigation'; +import { Ripple } from 'primereact/ripple'; +import { classNames } from 'primereact/utils'; +import { useContext, useEffect, useRef } from 'react'; +import { LayoutContext } from './context/layoutcontext'; +import { MenuContext } from './context/menucontext'; +import { useSubmenuOverlayPosition } from './hooks/useSubmenuOverlayPosition'; +import { AppMenuItemProps } from '../types/layout'; + +const AppMenuitem = (props: AppMenuItemProps) => { + const { activeMenu, setActiveMenu } = useContext(MenuContext); + const { isSlim, isSlimPlus, isHorizontal, isDesktop, setLayoutState, layoutState, layoutConfig } = useContext(LayoutContext); + const searchParams = useSearchParams(); + const pathname = usePathname(); + const submenuRef = useRef(null); + const menuitemRef = useRef(null); + const item = props.item; + const key = props.parentKey ? props.parentKey + '-' + props.index : String(props.index); + const isActiveRoute = item.to && pathname === item.to; + const active = activeMenu === key || !!(activeMenu && activeMenu.startsWith(key + '-')); + + useSubmenuOverlayPosition({ + target: menuitemRef.current, + overlay: submenuRef.current, + container: menuitemRef.current && menuitemRef.current.closest('.layout-menu-container'), + when: props.root && active && (isSlim() || isSlimPlus() || isHorizontal()) && isDesktop() + }); + + useEffect(() => { + if (layoutState.resetMenu) { + setActiveMenu(''); + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + resetMenu: false + })); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [layoutState]); + + useEffect(() => { + if (!(isSlim() || isHorizontal() || isSlimPlus()) && isActiveRoute) { + setActiveMenu(key); + } + }, [layoutConfig]); + + useEffect(() => { + const url = pathname + searchParams.toString(); + + const onRouteChange = (url) => { + if (!(isSlim() || isHorizontal() || isSlimPlus()) && item.to && item.to === url) { + setActiveMenu(key); + } + }; + onRouteChange(url); + }, [pathname, searchParams]); + + const itemClick = (event: React.MouseEvent) => { + //avoid processing disabled items + if (item.disabled) { + event.preventDefault(); + return; + } + + // navigate with hover + if (props.root && (isSlim() || isHorizontal() || isSlimPlus())) { + const isSubmenu = event.currentTarget.closest('.layout-root-menuitem.active-menuitem > ul') !== null; + if (isSubmenu) + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + menuHoverActive: true + })); + else + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + menuHoverActive: !prevLayoutState.menuHoverActive + })); + } + + //execute command + if (item.command) { + item.command({ originalEvent: event, item: item }); + } + + // toggle active state + if (item.items) { + setActiveMenu(active ? props.parentKey : key); + + if (props.root && !active && (isSlim() || isHorizontal() || isSlimPlus())) { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + overlaySubmenuActive: true + })); + } + } else { + if (!isDesktop()) { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + staticMenuMobileActive: !prevLayoutState.staticMenuMobileActive + })); + } + + if (isSlim() || isHorizontal() || isSlimPlus()) { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + menuHoverActive: false + })); + } + + setActiveMenu(key); + } + }; + + const onMouseEnter = () => { + // activate item on hover + if (props.root && (isSlim() || isHorizontal() || isSlimPlus()) && isDesktop()) { + if (!active && layoutState.menuHoverActive) { + setActiveMenu(key); + } + } + }; + + const subMenu = + item.items && item.visible !== false ? ( +
    + {item.items.map((child, i) => { + return ; + })} +
+ ) : null; + + return ( +
  • + {props.root && item.visible !== false &&
    {item.label}
    } + {(!item.to || item.items) && item.visible !== false ? ( + <> + itemClick(e)} + className={classNames(item.class, 'p-ripple tooltip-target')} + target={item.target} + data-pr-tooltip={item.label} + data-pr-disabled={!(isSlim() && props.root && !layoutState.menuHoverActive)} + tabIndex={0} + onMouseEnter={onMouseEnter} + > + + {item.label} + {item.items && } + + + + ) : null} + + {item.to && !item.items && item.visible !== false ? ( + <> + itemClick(e)} + className={classNames(item.class, 'p-ripple ', { + 'active-route': isActiveRoute + })} + tabIndex={0} + onMouseEnter={onMouseEnter} + > + + {item.label} + {item.items && } + + + + ) : null} + {subMenu} +
  • + ); +}; + +export default AppMenuitem; diff --git a/layout/AppProfileMenu.tsx b/layout/AppProfileMenu.tsx new file mode 100644 index 0000000..10ea7e8 --- /dev/null +++ b/layout/AppProfileMenu.tsx @@ -0,0 +1,87 @@ +import { Sidebar } from 'primereact/sidebar'; +import { useContext, useState } from 'react'; +import { LayoutContext } from './context/layoutcontext'; +import { Calendar } from 'primereact/calendar'; + +const AppProfileSidebar = () => { + const { layoutState, setLayoutState, layoutConfig } = useContext(LayoutContext); + + const onRightMenuHide = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + rightMenuActive: false + })); + }; + const [date, setDate] = useState(null); + const [visibleLeft, setVisibleLeft] = useState(false); + + return ( + + setLayoutState((prevState) => ({ + ...prevState, + rightMenuVisible: false + })) + } + className={`layout-profile-sidebar w-full sm:w-28rem ${layoutState.rightMenuActive ? 'layout-rightmenu-active' : ''}`} + > +
    +
    +
    + atlantis + Gene Russell + (406) 555-0120 +
    +
    +
    + + 23 + + Progress +
    +
    + + 6 + + Overdue +
    +
    + + 38 + + All deals +
    +
    +
    +
    + setDate(e.value)} /> +
    +
    + 14 Sunday, Jun 2020 +
      +
    • + 1:00 PM - 2:00 PM + Meeting with Alfredo Rhiel Madsen +
    • +
    • + 2:00 PM - 3:00 PM + Team Sync +
    • +
    • + 5:00 PM - 6:00 PM + Team Sync +
    • +
    • + 7:00 PM - 7:30 PM + Meeting with Engineering managers +
    • +
    +
    +
    +
    + ); +}; + +export default AppProfileSidebar; diff --git a/layout/AppSidebar.tsx b/layout/AppSidebar.tsx new file mode 100644 index 0000000..fcc3385 --- /dev/null +++ b/layout/AppSidebar.tsx @@ -0,0 +1,89 @@ +'use client'; + +import Link from 'next/link'; +import { useContext, useEffect } from 'react'; +import AppMenu from './AppMenu'; +import { LayoutContext } from './context/layoutcontext'; +import { MenuProvider } from './context/menucontext'; +import { classNames } from 'primereact/utils'; + +const AppSidebar = (props: { sidebarRef: React.RefObject }) => { + const { setLayoutState, layoutConfig, layoutState } = useContext(LayoutContext); + const anchor = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + anchored: !prevLayoutState.anchored + })); + }; + + useEffect(() => { + return () => { + resetOverlay(); + }; + }, []); + + const resetOverlay = () => { + if (layoutState.overlayMenuActive) { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + overlayMenuActive: false + })); + } + }; + + let timeout = null; + + const onMouseEnter = () => { + if (!layoutState.anchored) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + sidebarActive: true + })); + } + }; + + const onMouseLeave = () => { + if (!layoutState.anchored) { + if (!timeout) { + timeout = setTimeout( + () => + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + sidebarActive: false + })), + 300 + ); + } + } + }; + + return ( + <> +
    +
    + +
    + BTPXpress Logo +
    +
    + BTPXpress Logo + BTPXpress +
    + + +
    +
    + + + +
    +
    + + ); +}; + +export default AppSidebar; diff --git a/layout/AppSubMenu.tsx b/layout/AppSubMenu.tsx new file mode 100644 index 0000000..5bdd410 --- /dev/null +++ b/layout/AppSubMenu.tsx @@ -0,0 +1,57 @@ +'use client'; + +import { Tooltip } from 'primereact/tooltip'; +import { useContext, useEffect, useRef } from 'react'; +import AppMenuitem from './AppMenuitem'; +import { LayoutContext } from './context/layoutcontext'; +import { MenuProvider } from './context/menucontext'; +import { Breadcrumb, BreadcrumbItem, MenuModal, MenuProps } from '../types/layout'; + +const AppSubMenu = (props: MenuProps) => { + const { layoutState, setBreadcrumbs } = useContext(LayoutContext); + const tooltipRef = useRef(null); + + useEffect(() => { + if (tooltipRef.current) { + tooltipRef.current.hide(); + (tooltipRef.current as any).updateTargetEvents(); + } + }, [layoutState.overlaySubmenuActive]); + + useEffect(() => { + generateBreadcrumbs(props.model); + }, []); + + const generateBreadcrumbs = (model: MenuModal[]) => { + let breadcrumbs: Breadcrumb[] = []; + + const getBreadcrumb = (item: BreadcrumbItem, labels: string[] = []) => { + const { label, to, items } = item; + + label && labels.push(label); + items && + items.forEach((_item) => { + getBreadcrumb(_item, labels.slice()); + }); + to && breadcrumbs.push({ labels, to }); + }; + + model.forEach((item) => { + getBreadcrumb(item); + }); + setBreadcrumbs(breadcrumbs); + }; + + return ( + +
      + {props.model.map((item, i) => { + return !item.separator ? :
    • ; + })} +
    + +
    + ); +}; + +export default AppSubMenu; diff --git a/layout/AppTopbar.tsx b/layout/AppTopbar.tsx new file mode 100644 index 0000000..fabed75 --- /dev/null +++ b/layout/AppTopbar.tsx @@ -0,0 +1,173 @@ +'use client'; + +import React, { forwardRef, useImperativeHandle, useContext, useRef, useState } from 'react'; + +import AppBreadCrumb from './AppBreadCrumb'; +import { LayoutContext } from './context/layoutcontext'; +import { useAuth } from '../contexts/AuthContext'; +import { StyleClass } from 'primereact/styleclass'; +import { Ripple } from 'primereact/ripple'; +import { Button } from 'primereact/button'; +import { InputText } from 'primereact/inputtext'; +import { classNames } from 'primereact/utils'; +import ConnectionStatusSimple from '../components/ConnectionStatusSimple'; + +const AppTopbar = forwardRef((props: { sidebarRef: React.RefObject }, ref) => { + const [searchActive, setSearchActive] = useState(false); + const { user, logout, isAuthenticated } = useAuth(); + + const btnRef1 = useRef(null); + const btnRef2 = useRef(null); + const menubutton = useRef(null); + const menubuttonRef = useRef(null); + const searchInput = useRef(null); + const profileRef = useRef(null); + const profileMenuRef = useRef(null); + + const { onMenuToggle, showConfigSidebar, showSidebar, layoutConfig } = useContext(LayoutContext); + + useImperativeHandle(ref, () => ({ + menubutton: menubuttonRef.current + })); + + const activateSearch = () => { + setSearchActive(true); + + setTimeout(() => { + (searchInput.current as any).focus(); + }, 1000); + }; + const deactivateSearch = () => { + setSearchActive(false); + }; + const handleKeyDown = (event: any) => { + if (event.key === 'Escape') { + deactivateSearch(); + } + }; + + const handleLogout = async () => { + try { + await logout(); + } catch (error) { + console.error('Erreur lors de la déconnexion:', error); + } + }; + + return ( + +
    +
    + + +
    + +
    +
    +
    + +
    +
    +
    + ); +}); + +export default AppTopbar; + +AppTopbar.displayName = 'AppTopbar'; diff --git a/layout/context/layoutcontext.tsx b/layout/context/layoutcontext.tsx new file mode 100644 index 0000000..7fc2059 --- /dev/null +++ b/layout/context/layoutcontext.tsx @@ -0,0 +1,161 @@ +'use client'; + +import Head from 'next/head'; +import React, { useState } from 'react'; +import { Breadcrumb, LayoutConfig, LayoutContextProps } from '../../types/layout'; +import { ChildContainerProps } from '@/types'; + +export const LayoutContext = React.createContext({} as LayoutContextProps); + +export const LayoutProvider = (props: ChildContainerProps) => { + const [breadcrumbs, setBreadcrumbs] = useState([]); + const [layoutConfig, setLayoutConfig] = useState({ + ripple: false, + inputStyle: 'outlined', + menuMode: 'static', + colorScheme: 'dark', + theme: 'magenta', + scale: 14 + }); + + const [layoutState, setLayoutState] = useState({ + staticMenuDesktopInactive: false, + overlayMenuActive: false, + overlaySubmenuActive: false, + rightMenuVisible: false, + configSidebarVisible: false, + staticMenuMobileActive: false, + menuHoverActive: false, + searchBarActive: false, + resetMenu: false, + sidebarActive: false, + anchored: false, + rightMenuActive: false + }); + + const onMenuToggle = (event: React.MouseEvent) => { + if (isOverlay()) { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + overlayMenuActive: !prevLayoutState.overlayMenuActive + })); + } + if (isDesktop()) { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + staticMenuDesktopInactive: !prevLayoutState.staticMenuDesktopInactive + })); + } else { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + staticMenuMobileActive: !prevLayoutState.staticMenuMobileActive + })); + + event.preventDefault(); + } + }; + + const hideOverlayMenu = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + overlayMenuActive: false, + staticMenuMobileActive: false + })); + }; + + const toggleSearch = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + searchBarActive: !layoutState.searchBarActive + })); + }; + + const onSearchHide = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + searchBarActive: false + })); + }; + + const showRightSidebar = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + rightMenuActive: true + })); + hideOverlayMenu(); + }; + + const showConfigSidebar = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + configSidebarVisible: true + })); + }; + const showSidebar = () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + rightMenuVisible: true + })); + }; + + const isOverlay = () => { + return layoutConfig.menuMode === 'overlay'; + }; + + const isSlim = () => { + return layoutConfig.menuMode === 'slim'; + }; + + const isSlimPlus = () => { + return layoutConfig.menuMode === 'slim-plus'; + }; + + const isHorizontal = () => { + return layoutConfig.menuMode === 'horizontal'; + }; + + const isDesktop = () => { + return window.innerWidth > 991; + }; + + const value = { + layoutConfig, + setLayoutConfig, + layoutState, + setLayoutState, + isSlim, + isSlimPlus, + isHorizontal, + isDesktop, + onMenuToggle, + toggleSearch, + onSearchHide, + showRightSidebar, + breadcrumbs, + setBreadcrumbs, + showConfigSidebar, + showSidebar + }; + + return ( + + <> + + PrimeReact - DIAMOND + + + + + + + + + + + + + {props.children} + + + ); +}; diff --git a/layout/context/menucontext.tsx b/layout/context/menucontext.tsx new file mode 100644 index 0000000..7a96178 --- /dev/null +++ b/layout/context/menucontext.tsx @@ -0,0 +1,19 @@ +import React, { createContext, useState } from 'react'; +import type { MenuContextProps } from '@/types'; + +export const MenuContext = createContext({} as MenuContextProps); + +interface MenuProviderProps { + children: React.ReactNode; +} + +export const MenuProvider = (props: MenuProviderProps) => { + const [activeMenu, setActiveMenu] = useState(''); + + const value = { + activeMenu, + setActiveMenu + }; + + return {props.children}; +}; diff --git a/layout/hooks/useSubmenuOverlayPosition.tsx b/layout/hooks/useSubmenuOverlayPosition.tsx new file mode 100644 index 0000000..daf2c22 --- /dev/null +++ b/layout/hooks/useSubmenuOverlayPosition.tsx @@ -0,0 +1,56 @@ +'use client'; + +import { useEventListener } from 'primereact/hooks'; +import { DomHandler } from 'primereact/utils'; +import { useContext, useEffect } from 'react'; +import { LayoutContext } from '../context/layoutcontext'; +import { MenuContext } from '../context/menucontext'; + +export const useSubmenuOverlayPosition = ({ target, overlay, container, when }) => { + const { isSlim, isSlimPlus, isHorizontal, setLayoutState, layoutState } = useContext(LayoutContext); + const { activeMenu } = useContext(MenuContext); + const [bindScrollListener, unbindScrollListener] = useEventListener({ + type: 'scroll', + target: container, + listener: () => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + overlayMenuActive: false, + overlaySubmenuActive: false, + staticMenuMobileActive: false, + menuHoverActive: false, + resetMenu: true + })); + } + }); + + const calculatePosition = () => { + if (overlay) { + const { left, top } = target.getBoundingClientRect(); + const { height: vHeight } = DomHandler.getViewport(); + const oHeight = overlay.offsetHeight; + + // reset + overlay.style.top = overlay.style.left = ''; + + if (isHorizontal()) { + overlay.style.left = `${left - 80}px`; + } else if (isSlim() || isSlimPlus()) { + const height = top + oHeight; + overlay.style.top = vHeight < height ? `${top - (height - vHeight)}px` : `${top}px`; + } + } + }; + + useEffect(() => { + when && bindScrollListener(); + + return () => { + unbindScrollListener(); + }; + }, [when]); + + useEffect(() => { + when && calculatePosition(); + }, [when, activeMenu]); +}; diff --git a/layout/layout.tsx b/layout/layout.tsx new file mode 100644 index 0000000..cf05587 --- /dev/null +++ b/layout/layout.tsx @@ -0,0 +1,147 @@ +'use client'; +import React, { useCallback, useEffect, useRef, useContext } from 'react'; +import { classNames, DomHandler } from 'primereact/utils'; +import { usePathname, useSearchParams } from 'next/navigation'; +import { LayoutContext } from './context/layoutcontext'; +import { useEventListener, useMountEffect, useResizeListener, useUnmountEffect } from 'primereact/hooks'; +import AppTopbar from './AppTopbar'; +import AppConfig from './AppConfig'; +import AppBreadCrumb from './AppBreadCrumb'; +import { PrimeReactContext } from 'primereact/api'; +import { Tooltip } from 'primereact/tooltip'; +import { ChildContainerProps } from '@/types'; +import { Toast } from 'primereact/toast'; +import AppProfileMenu from './AppProfileMenu'; +import AppSidebar from './AppSidebar'; +import GlobalErrorHandler from '../components/GlobalErrorHandler'; + +const Layout = (props: ChildContainerProps) => { + const { layoutConfig, layoutState, setLayoutState, isSlim, isSlimPlus, isHorizontal, isDesktop } = useContext(LayoutContext); + const { setRipple } = useContext(PrimeReactContext); + const topbarRef = useRef(null); + const sidebarRef = useRef(null); + const copyTooltipRef = useRef(null); + const pathname = usePathname(); + const searchParams = useSearchParams(); + const [bindMenuOutsideClickListener, unbindMenuOutsideClickListener] = useEventListener({ + type: 'click', + listener: (event) => { + const isOutsideClicked = !(sidebarRef.current.isSameNode(event.target) || sidebarRef.current.contains(event.target) || topbarRef.current.menubutton.isSameNode(event.target) || topbarRef.current.menubutton.contains(event.target)); + + if (isOutsideClicked) { + hideMenu(); + } + } + }); + + const [bindDocumentResizeListener, unbindDocumentResizeListener] = useResizeListener({ + listener: () => { + if (isDesktop() && !DomHandler.isTouchDevice()) { + hideMenu(); + } + } + }); + + const hideMenu = useCallback(() => { + setLayoutState((prevLayoutState) => ({ + ...prevLayoutState, + overlayMenuActive: false, + overlaySubmenuActive: false, + staticMenuMobileActive: false, + menuHoverActive: false, + menuClick: false, + resetMenu: (isSlim() || isSlimPlus() || isHorizontal()) && isDesktop() + })); + }, [isSlim, isHorizontal, isDesktop, setLayoutState]); + + const blockBodyScroll = () => { + if (document.body.classList) { + document.body.classList.add('blocked-scroll'); + } else { + document.body.className += ' blocked-scroll'; + } + }; + + const unblockBodyScroll = () => { + if (document.body.classList) { + document.body.classList.remove('blocked-scroll'); + } else { + document.body.className = document.body.className.replace(new RegExp('(^|\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); + } + }; + useMountEffect(() => { + setRipple(layoutConfig.ripple); + }); + + useEffect(() => { + if (layoutState.overlayMenuActive || layoutState.staticMenuMobileActive || layoutState.overlaySubmenuActive) { + bindMenuOutsideClickListener(); + } + + if (layoutState.staticMenuMobileActive) { + blockBodyScroll(); + (isSlim() || isSlimPlus() || isHorizontal()) && bindDocumentResizeListener(); + } + + return () => { + unbindMenuOutsideClickListener(); + unbindDocumentResizeListener(); + unblockBodyScroll(); + }; + }, [layoutState.overlayMenuActive, layoutState.staticMenuMobileActive, layoutState.overlaySubmenuActive]); + + useEffect(() => { + const onRouteChange = () => { + hideMenu(); + }; + onRouteChange(); + }, [pathname, searchParams]); + + useUnmountEffect(() => { + unbindMenuOutsideClickListener(); + }); + + const containerClassName = classNames('layout-wrapper', { + 'layout-light': layoutConfig.colorScheme === 'light', + 'layout-dark': layoutConfig.colorScheme === 'dark', + 'layout-overlay': layoutConfig.menuMode === 'overlay', + 'layout-static': layoutConfig.menuMode === 'static', + 'layout-slim': layoutConfig.menuMode === 'slim', + 'layout-slim-plus': layoutConfig.menuMode === 'slim-plus', + 'layout-horizontal': layoutConfig.menuMode === 'horizontal', + 'layout-reveal': layoutConfig.menuMode === 'reveal', + 'layout-drawer': layoutConfig.menuMode === 'drawer', + 'layout-static-inactive': layoutState.staticMenuDesktopInactive && layoutConfig.menuMode === 'static', + 'layout-overlay-active': layoutState.overlayMenuActive, + 'layout-mobile-active': layoutState.staticMenuMobileActive, + 'p-ripple-disabled': !layoutConfig.ripple, + 'layout-sidebar-active': layoutState.sidebarActive, + 'layout-sidebar-anchored': layoutState.anchored + }); + + return ( + +
    + + + + +
    + +
    + +
    + +
    {props.children}
    +
    +
    + + + + +
    +
    + ); +}; + +export default Layout; diff --git a/middleware.ts b/middleware.ts new file mode 100644 index 0000000..cd54d2e --- /dev/null +++ b/middleware.ts @@ -0,0 +1,209 @@ +/** + * Middleware Next.js pour la protection des routes avec Keycloak + * Gère l'authentification et l'autorisation au niveau des routes + */ + +import { NextRequest, NextResponse } from 'next/server'; +import { jwtVerify, JWTPayload } from 'jose'; + +// Configuration des routes protégées +const PROTECTED_ROUTES = [ + '/dashboard', + '/chantiers', + '/clients', + '/devis', + '/factures', + '/materiels', + '/employes', + '/equipes', + '/planning', + '/reports', + '/admin', + '/profile', +] as const; + +// Configuration des routes publiques (toujours accessibles) +const PUBLIC_ROUTES = [ + '/', + '/api/health', + '/api/auth/login', + '/api/auth/logout', + '/api/auth/token', +] as const; + +// Configuration des routes par rôle +const ROLE_BASED_ROUTES = { + '/admin': ['super_admin', 'admin'], + '/reports': ['super_admin', 'admin', 'directeur', 'manager'], + '/employes': ['super_admin', 'admin', 'directeur', 'manager', 'chef_chantier'], + '/equipes': ['super_admin', 'admin', 'directeur', 'manager', 'chef_chantier'], + '/materiels/manage': ['super_admin', 'admin', 'logisticien'], + '/clients/manage': ['super_admin', 'admin', 'commercial'], + '/devis/manage': ['super_admin', 'admin', 'commercial'], + '/factures/manage': ['super_admin', 'admin', 'comptable'], +} as const; + +// Interface pour le token JWT décodé +interface KeycloakToken extends JWTPayload { + preferred_username?: string; + email?: string; + given_name?: string; + family_name?: string; + realm_access?: { + roles: string[]; + }; + resource_access?: { + [key: string]: { + roles: string[]; + }; + }; +} + +// Fonction pour vérifier si une route est protégée +function isProtectedRoute(pathname: string): boolean { + return PROTECTED_ROUTES.some(route => pathname.startsWith(route)); +} + +// Fonction pour vérifier si une route est publique +function isPublicRoute(pathname: string): boolean { + return PUBLIC_ROUTES.some(route => pathname === route || pathname.startsWith(route)); +} + +// Fonction pour extraire les rôles du token +function extractRoles(token: KeycloakToken): string[] { + const realmRoles = token.realm_access?.roles || []; + const clientRoles = token.resource_access?.['btpxpress-frontend']?.roles || []; + return [...realmRoles, ...clientRoles]; +} + +// Fonction pour vérifier les permissions de rôle +function hasRequiredRole(userRoles: string[], requiredRoles: string[]): boolean { + return requiredRoles.some(role => userRoles.includes(role)); +} + +// Fonction pour vérifier et décoder le token JWT +async function verifyToken(token: string): Promise { + try { + // Configuration de la clé publique Keycloak + const keycloakUrl = process.env.NEXT_PUBLIC_KEYCLOAK_URL || 'https://security.lions.dev'; + const realm = process.env.NEXT_PUBLIC_KEYCLOAK_REALM || 'btpxpress'; + + // Récupérer la clé publique depuis Keycloak + const jwksUrl = `${keycloakUrl}/realms/${realm}/protocol/openid_connect/certs`; + + // Pour la vérification côté serveur, nous utilisons une approche simplifiée + // En production, il faudrait implémenter une vérification complète avec JWKS + + // Décoder le token sans vérification pour le middleware (vérification côté client) + const payload = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString()); + + // Vérifier l'expiration + if (payload.exp && payload.exp < Date.now() / 1000) { + return null; + } + + return payload as KeycloakToken; + } catch (error) { + console.error('Erreur lors de la vérification du token:', error); + return null; + } +} + +// Fonction principale du middleware +export async function middleware(request: NextRequest) { + const { pathname } = request.nextUrl; + + // Ignorer les fichiers statiques et les API routes internes + if ( + pathname.startsWith('/_next') || + pathname.startsWith('/api') || + pathname.includes('.') || + pathname.startsWith('/favicon') + ) { + return NextResponse.next(); + } + + // Ignorer les requêtes vers /dashboard qui contiennent un code d'autorisation + if (pathname === '/dashboard' && request.nextUrl.searchParams.has('code')) { + console.log('🔓 Middleware: Autorisant /dashboard avec code d\'autorisation'); + return NextResponse.next(); + } + + // Permettre l'accès aux routes publiques + if (isPublicRoute(pathname)) { + return NextResponse.next(); + } + + // Vérifier si la route nécessite une authentification + if (isProtectedRoute(pathname)) { + // Récupérer le token depuis les cookies ou headers + const authHeader = request.headers.get('authorization'); + const tokenFromCookie = request.cookies.get('keycloak-token')?.value; + + let token: string | null = null; + + if (authHeader && authHeader.startsWith('Bearer ')) { + token = authHeader.substring(7); + } else if (tokenFromCookie) { + token = tokenFromCookie; + } + + // Si pas de token, rediriger vers l'API d'authentification + if (!token) { + console.log(`🔒 Middleware: Redirection vers /api/auth/login pour ${pathname}`); + const loginUrl = new URL('/api/auth/login', request.url); + loginUrl.searchParams.set('redirect', pathname); + return NextResponse.redirect(loginUrl); + } + + // Vérifier et décoder le token + const decodedToken = await verifyToken(token); + + if (!decodedToken) { + // Token invalide ou expiré + const loginUrl = new URL('/api/auth/login', request.url); + loginUrl.searchParams.set('redirect', pathname); + return NextResponse.redirect(loginUrl); + } + + // Extraire les rôles de l'utilisateur + const userRoles = extractRoles(decodedToken); + + // Vérifier les permissions basées sur les rôles pour des routes spécifiques + for (const [route, requiredRoles] of Object.entries(ROLE_BASED_ROUTES)) { + if (pathname.startsWith(route)) { + if (!hasRequiredRole(userRoles, requiredRoles)) { + // Utilisateur n'a pas les rôles requis + return NextResponse.redirect(new URL('/api/auth/login', request.url)); + } + break; + } + } + + // Ajouter les informations utilisateur aux headers pour les composants + const response = NextResponse.next(); + response.headers.set('x-user-id', decodedToken.sub || ''); + response.headers.set('x-user-email', decodedToken.email || ''); + response.headers.set('x-user-roles', JSON.stringify(userRoles)); + + return response; + } + + // Par défaut, permettre l'accès + return NextResponse.next(); +} + +// Configuration du matcher pour spécifier quelles routes le middleware doit traiter +export const config = { + matcher: [ + /* + * Match all request paths except for the ones starting with: + * - api (API routes) + * - _next/static (static files) + * - _next/image (image optimization files) + * - favicon.ico (favicon file) + * - public files (images, etc.) + */ + '/((?!api|_next/static|_next/image|favicon.ico|.*\\..*|public).*)', + ], +}; diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..d6b74ae --- /dev/null +++ b/next.config.js @@ -0,0 +1,94 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + output: 'standalone', + + // Optimisations pour la production + compress: true, + poweredByHeader: false, + generateEtags: false, + + // Configuration des images optimisées + images: { + domains: ['btpxpress.lions.dev', 'api.lions.dev', 'security.lions.dev'], + formats: ['image/webp', 'image/avif'], + minimumCacheTTL: 60, + dangerouslyAllowSVG: true, + contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;", + }, + + // Optimisations de performance + experimental: { + optimizeCss: true, + optimizePackageImports: ['primereact', 'primeicons'], + }, + + // Configuration Turbopack (stable) + turbopack: { + rules: { + '*.svg': { + loaders: ['@svgr/webpack'], + as: '*.js', + }, + }, + }, + + // Configuration du bundler simplifiée + webpack: (config, { dev }) => { + // Alias pour optimiser les imports + config.resolve.alias = { + ...config.resolve.alias, + '@': require('path').resolve(__dirname), + '@components': require('path').resolve(__dirname, 'components'), + '@services': require('path').resolve(__dirname, 'services'), + '@types': require('path').resolve(__dirname, 'types'), + '@utils': require('path').resolve(__dirname, 'utils'), + }; + + return config; + }, + + // Headers de sécurité + async headers() { + return [ + { + source: '/(.*)', + headers: [ + { + key: 'X-Frame-Options', + value: 'DENY' + }, + { + key: 'X-Content-Type-Options', + value: 'nosniff' + }, + { + key: 'Referrer-Policy', + value: 'strict-origin-when-cross-origin' + } + ] + } + ]; + }, + + async redirects() { + return [ + { + source: '/apps/mail', + destination: '/apps/mail/inbox', + permanent: true + } + ]; + }, + + // Configuration des variables d'environnement + env: { + NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL, + NEXT_PUBLIC_KEYCLOAK_URL: process.env.NEXT_PUBLIC_KEYCLOAK_URL, + NEXT_PUBLIC_KEYCLOAK_REALM: process.env.NEXT_PUBLIC_KEYCLOAK_REALM, + NEXT_PUBLIC_KEYCLOAK_CLIENT_ID: process.env.NEXT_PUBLIC_KEYCLOAK_CLIENT_ID, + NEXT_PUBLIC_APP_ENV: process.env.NEXT_PUBLIC_APP_ENV, + } +}; + +module.exports = nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a70589d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6437 @@ +{ + "name": "btpxpress-client", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "btpxpress-client", + "version": "1.0.0", + "dependencies": { + "@fullcalendar/core": "6.1.4", + "@fullcalendar/daygrid": "^6.1.4", + "@fullcalendar/interaction": "^6.1.4", + "@fullcalendar/react": "^6.1.4", + "@fullcalendar/timegrid": "^6.1.4", + "@types/node": "18.15.11", + "@types/react": "18.0.34", + "@types/react-dom": "18.0.11", + "@types/react-transition-group": "^4.4.1", + "axios": "^1.3.4", + "chart.js": "4.3.2", + "critters": "^0.0.23", + "date-fns": "^4.1.0", + "keycloak-js": "^23.0.7", + "next": "^15.2.4", + "next-auth": "^4.24.0", + "primeflex": "3.3.0", + "primeicons": "^6.0.1", + "primereact": "10.2.1", + "quill": "^2.0.3", + "react": "18.2.0", + "react-dom": "18.2.0", + "typescript": "5.0.4" + }, + "devDependencies": { + "eslint": "8.35.0", + "eslint-config-next": "13.4.9", + "prettier": "2.8.4", + "sass": "^1.58.3" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz", + "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", + "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fullcalendar/core": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.4.tgz", + "integrity": "sha512-ZDD0Owv0LezAk14nsRNaOc9nbowItGmT0mnjOhEw+L6B8P5eads8yYaNA9itn70MWoOjiAG8xqD7Yk1iJGxqgQ==", + "license": "MIT", + "dependencies": { + "preact": "^10.0.5" + } + }, + "node_modules/@fullcalendar/daygrid": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-6.1.4.tgz", + "integrity": "sha512-X0QWEiA/hT8GYiQzmXt9DlZTWaQbNtBHBXGtaMNcVXbGHDCzLoWTHrde/jABGfr/i2+d9sLUO4oTtwz2HVpNtQ==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.4" + } + }, + "node_modules/@fullcalendar/interaction": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-6.1.4.tgz", + "integrity": "sha512-69G2B61bPiHy7VyTDiwU9l8yRHPUK9XxNxjIdm3N0nvWR6BaUIBDQe8dIWht+IZUf9qirFhnfcLWkRI0fOTWtw==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.4" + } + }, + "node_modules/@fullcalendar/react": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@fullcalendar/react/-/react-6.1.4.tgz", + "integrity": "sha512-9nc0uHr7zfhNIMyaM+ftoVqX9UEn+frCjTeofN3lcl3bCYvo2dwLw+n9jBJx//f+NRrSwmIvKq2JrqmF2IrwJA==", + "license": "MIT", + "peerDependencies": { + "@fullcalendar/core": "~6.1.4", + "react": "^16.7.0 || ^17 || ^18", + "react-dom": "^16.7.0 || ^17 || ^18" + } + }, + "node_modules/@fullcalendar/timegrid": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@fullcalendar/timegrid/-/timegrid-6.1.4.tgz", + "integrity": "sha512-B2/levLKW0CyDQru75JeuASpCZml5W8sINCwVTstxxhjKmNBG3F5qvSX12DDrTdga/ySYObNNP1pKDwavKk/JQ==", + "license": "MIT", + "dependencies": { + "@fullcalendar/daygrid": "~6.1.4" + }, + "peerDependencies": { + "@fullcalendar/core": "~6.1.4" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz", + "integrity": "sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.0" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.3.tgz", + "integrity": "sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.0" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.0.tgz", + "integrity": "sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.0.tgz", + "integrity": "sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.0.tgz", + "integrity": "sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.0.tgz", + "integrity": "sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.0.tgz", + "integrity": "sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.0.tgz", + "integrity": "sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.0.tgz", + "integrity": "sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.0.tgz", + "integrity": "sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.0.tgz", + "integrity": "sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.3.tgz", + "integrity": "sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.3.tgz", + "integrity": "sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.3.tgz", + "integrity": "sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.3.tgz", + "integrity": "sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.0" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.3.tgz", + "integrity": "sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.0" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.3.tgz", + "integrity": "sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.0" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.3.tgz", + "integrity": "sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.0" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.3.tgz", + "integrity": "sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.4.4" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.3.tgz", + "integrity": "sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.3.tgz", + "integrity": "sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.3.tgz", + "integrity": "sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.4.6.tgz", + "integrity": "sha512-yHDKVTcHrZy/8TWhj0B23ylKv5ypocuCwey9ZqPyv4rPdUdRzpGCkSi03t04KBPyU96kxVtUqx6O3nE1kpxASQ==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.9.tgz", + "integrity": "sha512-nDtGpa992tNyAkT/KmSMy7QkHfNZmGCBYhHtafU97DubqxzNdvLsqRtliQ4FU04CysRCtvP2hg8rRC1sAKUTUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "7.1.7" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.4.6.tgz", + "integrity": "sha512-667R0RTP4DwxzmrqTs4Lr5dcEda9OxuZsVFsjVtxVMVhzSpo6nLclXejJVfQo2/g7/Z9qF3ETDmN3h65mTjpTQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.4.6.tgz", + "integrity": "sha512-KMSFoistFkaiQYVQQnaU9MPWtp/3m0kn2Xed1Ces5ll+ag1+rlac20sxG+MqhH2qYWX1O2GFOATQXEyxKiIscg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.4.6.tgz", + "integrity": "sha512-PnOx1YdO0W7m/HWFeYd2A6JtBO8O8Eb9h6nfJia2Dw1sRHoHpNf6lN1U4GKFRzRDBi9Nq2GrHk9PF3Vmwf7XVw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.4.6.tgz", + "integrity": "sha512-XBbuQddtY1p5FGPc2naMO0kqs4YYtLYK/8aPausI5lyOjr4J77KTG9mtlU4P3NwkLI1+OjsPzKVvSJdMs3cFaw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.4.6.tgz", + "integrity": "sha512-+WTeK7Qdw82ez3U9JgD+igBAP75gqZ1vbK6R8PlEEuY0OIe5FuYXA4aTjL811kWPf7hNeslD4hHK2WoM9W0IgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.4.6.tgz", + "integrity": "sha512-XP824mCbgQsK20jlXKrUpZoh/iO3vUWhMpxCz8oYeagoiZ4V0TQiKy0ASji1KK6IAe3DYGfj5RfKP6+L2020OQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.4.6.tgz", + "integrity": "sha512-FxrsenhUz0LbgRkNWx6FRRJIPe/MI1JRA4W4EPd5leXO00AZ6YU8v5vfx4MDXTvN77lM/EqsE3+6d2CIeF5NYg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.4.6.tgz", + "integrity": "sha512-T4ufqnZ4u88ZheczkBTtOF+eKaM14V8kbjud/XrAakoM5DKQWjW09vD6B9fsdsWS2T7D5EY31hRHdta7QKWOng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@panva/hkdf": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.2.1.tgz", + "integrity": "sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.12.0.tgz", + "integrity": "sha512-5EwMtOqvJMMa3HbmxLlF74e+3/HhwBTMcvt3nqVJgGCozO6hzIPOBlwm8mGVNR9SN2IJpxSnlxczyDjcn7qIyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.0.34", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.34.tgz", + "integrity": "sha512-NO1UO8941541CJl1BeOXi8a9dNKFK09Gnru5ZJqkm4Q3/WoQJtHvmwt0VX0SB9YCEwe7TfSSxDuaNmx6H2BAIQ==", + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-WFHp9YUJQ6CKshqoC37iOlHnQSmxNc795UhB26CyBBttrN9svdIrUjl/NjnNmfcwtncN0h/0PPAFWv9ovP8mLA==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001733", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001733.tgz", + "integrity": "sha512-e4QKw/O2Kavj2VQTKZWrwzkt3IxOmIlU6ajRb6LP64LHpBo1J67k2Hi4Vu/TgJWsNtynurfS0uK3MaUTCPfu5Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chart.js": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.2.tgz", + "integrity": "sha512-pvQNyFOY1QmbmIr8oDORL16/FFivfxj8V26VFpFilMo4cNvkV5WXLJetDio365pd9gKUHGdirUTbqJfw8tr+Dg==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=7" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/critters": { + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.23.tgz", + "integrity": "sha512-/MCsQbuzTPA/ZTOjjyr2Na5o3lRpr8vd0MZE8tMP0OBNg/VrLxWHteVKalQ8KR+fBmUadbJLdoyEz9sT+q84qg==", + "license": "Apache-2.0", + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "postcss-media-query-parser": "^0.2.3" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", + "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint/eslintrc": "^2.0.0", + "@eslint/js": "8.35.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.9.tgz", + "integrity": "sha512-0fLtKRR268NArpqeXXwnLgMXPvF64YESQvptVg+RMLCaijKm3FICN9Y7Jc1p2o+yrWwE4DufJXDM/Vo53D1L7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "13.4.9", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.42.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.31.7", + "eslint-plugin-react-hooks": "5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", + "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT", + "optional": true + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jose": { + "version": "4.15.9", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", + "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-sdsl": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz", + "integrity": "sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-sha256": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.10.1.tgz", + "integrity": "sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/keycloak-js": { + "version": "23.0.7", + "resolved": "https://registry.npmjs.org/keycloak-js/-/keycloak-js-23.0.7.tgz", + "integrity": "sha512-OmszsKzBhhm5yP4W1q/tMd+nNnKpOAdeVYcoGhphlv8Fj1bNk4wRTYzp7pn5BkvueLz7fhvKHz7uOc33524YrA==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.5.1", + "js-sha256": "^0.10.1", + "jwt-decode": "^4.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.3.tgz", + "integrity": "sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "15.4.6", + "resolved": "https://registry.npmjs.org/next/-/next-15.4.6.tgz", + "integrity": "sha512-us++E/Q80/8+UekzB3SAGs71AlLDsadpFMXVNM/uQ0BMwsh9m3mr0UNQIfjKed8vpWXsASe+Qifrnu1oLIcKEQ==", + "license": "MIT", + "dependencies": { + "@next/env": "15.4.6", + "@swc/helpers": "0.5.15", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "15.4.6", + "@next/swc-darwin-x64": "15.4.6", + "@next/swc-linux-arm64-gnu": "15.4.6", + "@next/swc-linux-arm64-musl": "15.4.6", + "@next/swc-linux-x64-gnu": "15.4.6", + "@next/swc-linux-x64-musl": "15.4.6", + "@next/swc-win32-arm64-msvc": "15.4.6", + "@next/swc-win32-x64-msvc": "15.4.6", + "sharp": "^0.34.3" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-auth": { + "version": "4.24.11", + "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.24.11.tgz", + "integrity": "sha512-pCFXzIDQX7xmHFs4KVH4luCjaCbuPRtZ9oBUjUhOk84mZ9WVPf94n87TxYI4rSRf9HmfHEF8Yep3JrYDVOo3Cw==", + "license": "ISC", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@panva/hkdf": "^1.0.2", + "cookie": "^0.7.0", + "jose": "^4.15.5", + "oauth": "^0.9.15", + "openid-client": "^5.4.0", + "preact": "^10.6.3", + "preact-render-to-string": "^5.1.19", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "@auth/core": "0.34.2", + "next": "^12.2.5 || ^13 || ^14 || ^15", + "nodemailer": "^6.6.5", + "react": "^17.0.2 || ^18 || ^19", + "react-dom": "^17.0.2 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@auth/core": { + "optional": true + }, + "nodemailer": { + "optional": true + } + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/oauth": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/oidc-token-hash": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.1.1.tgz", + "integrity": "sha512-D7EmwxJV6DsEB6vOFLrBM2OzsVgQzgPWyHlV2OOAVj772n+WTXpudC9e9u5BVKQnYwaD30Ivhi9b+4UeBcGu9g==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openid-client": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz", + "integrity": "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==", + "license": "MIT", + "dependencies": { + "jose": "^4.15.9", + "lru-cache": "^6.0.0", + "object-hash": "^2.2.0", + "oidc-token-hash": "^5.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parchment": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz", + "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==", + "license": "BSD-3-Clause" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "license": "MIT" + }, + "node_modules/preact": { + "version": "10.27.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.27.0.tgz", + "integrity": "sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-render-to-string": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz", + "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==", + "license": "MIT", + "dependencies": { + "pretty-format": "^3.8.0" + }, + "peerDependencies": { + "preact": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==", + "license": "MIT" + }, + "node_modules/primeflex": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/primeflex/-/primeflex-3.3.0.tgz", + "integrity": "sha512-4hvyIO7lERN5bnyURn67Qpozghins8Jq/GSXO6tymc3oa2ADHWuiYBti8ZptPwHu+uD/HTEisS26NEmeIGfPZQ==", + "license": "MIT" + }, + "node_modules/primeicons": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-6.0.1.tgz", + "integrity": "sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA==", + "license": "MIT" + }, + "node_modules/primereact": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/primereact/-/primereact-10.2.1.tgz", + "integrity": "sha512-F25053E1z+fod6V7AJ1Ix/DwSPkFQotk2+Idm0XkFsN+gQEywH7DgtbvNKpUA+LEq48h2+/WVK3D0V8IAm1Npg==", + "license": "MIT", + "dependencies": { + "@types/react-transition-group": "^4.4.1", + "react-transition-group": "^4.4.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quill": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/quill/-/quill-2.0.3.tgz", + "integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==", + "license": "BSD-3-Clause", + "dependencies": { + "eventemitter3": "^5.0.1", + "lodash-es": "^4.17.21", + "parchment": "^3.0.0", + "quill-delta": "^5.1.0" + }, + "engines": { + "npm": ">=8.2.3" + } + }, + "node_modules/quill-delta": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz", + "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==", + "license": "MIT", + "dependencies": { + "fast-diff": "^1.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "devOptional": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.3.tgz", + "integrity": "sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.4", + "semver": "^7.7.2" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.3", + "@img/sharp-darwin-x64": "0.34.3", + "@img/sharp-libvips-darwin-arm64": "1.2.0", + "@img/sharp-libvips-darwin-x64": "1.2.0", + "@img/sharp-libvips-linux-arm": "1.2.0", + "@img/sharp-libvips-linux-arm64": "1.2.0", + "@img/sharp-libvips-linux-ppc64": "1.2.0", + "@img/sharp-libvips-linux-s390x": "1.2.0", + "@img/sharp-libvips-linux-x64": "1.2.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.0", + "@img/sharp-libvips-linuxmusl-x64": "1.2.0", + "@img/sharp-linux-arm": "0.34.3", + "@img/sharp-linux-arm64": "0.34.3", + "@img/sharp-linux-ppc64": "0.34.3", + "@img/sharp-linux-s390x": "0.34.3", + "@img/sharp-linux-x64": "0.34.3", + "@img/sharp-linuxmusl-arm64": "0.34.3", + "@img/sharp-linuxmusl-x64": "0.34.3", + "@img/sharp-wasm32": "0.34.3", + "@img/sharp-win32-arm64": "0.34.3", + "@img/sharp-win32-ia32": "0.34.3", + "@img/sharp-win32-x64": "0.34.3" + } + }, + "node_modules/sharp/node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..042c170 --- /dev/null +++ b/package.json @@ -0,0 +1,43 @@ +{ + "name": "btpxpress-client", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "format": "prettier --write \"{app,demo,layout,types}/**/*.{js,ts,tsx,d.ts}\"", + "lint": "next lint" + }, + "dependencies": { + "@fullcalendar/core": "6.1.4", + "@fullcalendar/daygrid": "^6.1.4", + "@fullcalendar/interaction": "^6.1.4", + "@fullcalendar/react": "^6.1.4", + "@fullcalendar/timegrid": "^6.1.4", + "@types/node": "18.15.11", + "@types/react": "18.0.34", + "@types/react-dom": "18.0.11", + "@types/react-transition-group": "^4.4.1", + "axios": "^1.3.4", + "chart.js": "4.3.2", + "critters": "^0.0.23", + "date-fns": "^4.1.0", + "keycloak-js": "^23.0.7", + "next": "^15.2.4", + "next-auth": "^4.24.0", + "primeflex": "3.3.0", + "primeicons": "^6.0.1", + "primereact": "10.2.1", + "quill": "^2.0.3", + "react": "18.2.0", + "react-dom": "18.2.0", + "typescript": "5.0.4" + }, + "devDependencies": { + "eslint": "8.35.0", + "eslint-config-next": "13.4.9", + "prettier": "2.8.4", + "sass": "^1.58.3" + } +} diff --git a/public/demo/data/chat.json b/public/demo/data/chat.json new file mode 100644 index 0000000..cb6a3de --- /dev/null +++ b/public/demo/data/chat.json @@ -0,0 +1,124 @@ +{ + "data": [ + { + "id": 1, + "name": "Ioni Bowcher", + "image": "ionibowcher.png", + "status": "active", + "messages": [ + { + "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit", + "ownerId": 1, + "createdAt": 1652646338240 + }, + { + "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + "ownerId": 1, + "createdAt": 1652646368718 + }, + { + "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + "ownerId": 123, + "createdAt": 1652646368718 + } + ], + "lastSeen": "2d" + }, + { + "id": 2, + "name": "Stephen Shaw", + "image": "stephenshaw.png", + "status": "away", + "messages": [ + { + "text": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat", + "ownerId": 1, + "createdAt": 1652646338240 + }, + { + "text": "Consequat mauris nunc congue nisi vitae suscipit.", + "ownerId": 1, + "createdAt": 1652646368718 + }, + { + "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + "ownerId": 123, + "createdAt": 1652646368718 + } + ], + "lastSeen": "2d" + }, + { + "id": 3, + "name": "Xuxue Feng", + "image": "xuxuefeng.png", + "status": "busy", + "messages": [ + { + "text": "Duis aute irure dolor in reprehenderit", + "ownerId": 1, + "createdAt": 1652646338240 + }, + { + "text": "Adipiscing tristique risus nec feugiat in fermentum posuere urna nec.", + "ownerId": 1, + "createdAt": 1652646368718 + }, + { + "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + "ownerId": 123, + "createdAt": 1652646368718 + } + ], + "lastSeen": "2d" + }, + { + "id": 4, + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png", + "status": "active", + "messages": [ + { + "text": "Ut enim ad minim veniam", + "ownerId": 1, + "createdAt": 1652646338240 + }, + { + "text": "Quis nostrud exercitation ullamco laboris nisi ut", + "ownerId": 1, + "createdAt": 1652646368718 + }, + { + "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + "ownerId": 123, + "createdAt": 1652646368718 + } + ], + "lastSeen": "2d" + }, + { + "id": 4, + "name": "Onyama Limba", + "image": "onyamalimba.png", + "status": "busy", + "messages": [ + { + "text": "Culpa qui officia deserunt mollit anim id est laborum", + "ownerId": 1, + "createdAt": 1652646338240 + }, + { + "text": "Excepteur sint occaecat cupidatat non proident", + "ownerId": 1, + "createdAt": 1652646368718 + }, + { + "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", + "ownerId": 123, + "createdAt": 1652646368718 + } + ], + "lastSeen": "2d" + } + ] +} \ No newline at end of file diff --git a/public/demo/data/countries.json b/public/demo/data/countries.json new file mode 100644 index 0000000..6ef54e7 --- /dev/null +++ b/public/demo/data/countries.json @@ -0,0 +1,246 @@ +{ + "data": [ + {"name": "Afghanistan", "code": "AF"}, + {"name": "Albania", "code": "AL"}, + {"name": "Algeria", "code": "DZ"}, + {"name": "American Samoa", "code": "AS"}, + {"name": "Andorra", "code": "AD"}, + {"name": "Angola", "code": "AO"}, + {"name": "Anguilla", "code": "AI"}, + {"name": "Antarctica", "code": "AQ"}, + {"name": "Antigua and Barbuda", "code": "AG"}, + {"name": "Argentina", "code": "AR"}, + {"name": "Armenia", "code": "AM"}, + {"name": "Aruba", "code": "AW"}, + {"name": "Australia", "code": "AU"}, + {"name": "Austria", "code": "AT"}, + {"name": "Azerbaijan", "code": "AZ"}, + {"name": "Bahamas", "code": "BS"}, + {"name": "Bahrain", "code": "BH"}, + {"name": "Bangladesh", "code": "BD"}, + {"name": "Barbados", "code": "BB"}, + {"name": "Belarus", "code": "BY"}, + {"name": "Belgium", "code": "BE"}, + {"name": "Belize", "code": "BZ"}, + {"name": "Benin", "code": "BJ"}, + {"name": "Bermuda", "code": "BM"}, + {"name": "Bhutan", "code": "BT"}, + {"name": "Bolivia", "code": "BO"}, + {"name": "Bosnia and Herzegovina", "code": "BA"}, + {"name": "Botswana", "code": "BW"}, + {"name": "Bouvet Island", "code": "BV"}, + {"name": "Brazil", "code": "BR"}, + {"name": "British Indian Ocean Territory", "code": "IO"}, + {"name": "Brunei Darussalam", "code": "BN"}, + {"name": "Bulgaria", "code": "BG"}, + {"name": "Burkina Faso", "code": "BF"}, + {"name": "Burundi", "code": "BI"}, + {"name": "Cambodia", "code": "KH"}, + {"name": "Cameroon", "code": "CM"}, + {"name": "Canada", "code": "CA"}, + {"name": "Cape Verde", "code": "CV"}, + {"name": "Cayman Islands", "code": "KY"}, + {"name": "Central African Republic", "code": "CF"}, + {"name": "Chad", "code": "TD"}, + {"name": "Chile", "code": "CL"}, + {"name": "China", "code": "CN"}, + {"name": "Christmas Island", "code": "CX"}, + {"name": "Cocos (Keeling) Islands", "code": "CC"}, + {"name": "Colombia", "code": "CO"}, + {"name": "Comoros", "code": "KM"}, + {"name": "Congo", "code": "CG"}, + {"name": "Congo, The Democratic Republic of the", "code": "CD"}, + {"name": "Cook Islands", "code": "CK"}, + {"name": "Costa Rica", "code": "CR"}, + {"name": "Cote D\"Ivoire", "code": "CI"}, + {"name": "Croatia", "code": "HR"}, + {"name": "Cuba", "code": "CU"}, + {"name": "Cyprus", "code": "CY"}, + {"name": "Czech Republic", "code": "CZ"}, + {"name": "Denmark", "code": "DK"}, + {"name": "Djibouti", "code": "DJ"}, + {"name": "Dominica", "code": "DM"}, + {"name": "Dominican Republic", "code": "DO"}, + {"name": "Ecuador", "code": "EC"}, + {"name": "Egypt", "code": "EG"}, + {"name": "El Salvador", "code": "SV"}, + {"name": "Equatorial Guinea", "code": "GQ"}, + {"name": "Eritrea", "code": "ER"}, + {"name": "Estonia", "code": "EE"}, + {"name": "Ethiopia", "code": "ET"}, + {"name": "Falkland Islands (Malvinas)", "code": "FK"}, + {"name": "Faroe Islands", "code": "FO"}, + {"name": "Fiji", "code": "FJ"}, + {"name": "Finland", "code": "FI"}, + {"name": "France", "code": "FR"}, + {"name": "French Guiana", "code": "GF"}, + {"name": "French Polynesia", "code": "PF"}, + {"name": "French Southern Territories", "code": "TF"}, + {"name": "Gabon", "code": "GA"}, + {"name": "Gambia", "code": "GM"}, + {"name": "Georgia", "code": "GE"}, + {"name": "Germany", "code": "DE"}, + {"name": "Ghana", "code": "GH"}, + {"name": "Gibraltar", "code": "GI"}, + {"name": "Greece", "code": "GR"}, + {"name": "Greenland", "code": "GL"}, + {"name": "Grenada", "code": "GD"}, + {"name": "Guadeloupe", "code": "GP"}, + {"name": "Guam", "code": "GU"}, + {"name": "Guatemala", "code": "GT"}, + {"name": "Guernsey", "code": "GG"}, + {"name": "Guinea", "code": "GN"}, + {"name": "Guinea-Bissau", "code": "GW"}, + {"name": "Guyana", "code": "GY"}, + {"name": "Haiti", "code": "HT"}, + {"name": "Heard Island and Mcdonald Islands", "code": "HM"}, + {"name": "Holy See (Vatican City State)", "code": "VA"}, + {"name": "Honduras", "code": "HN"}, + {"name": "Hong Kong", "code": "HK"}, + {"name": "Hungary", "code": "HU"}, + {"name": "Iceland", "code": "IS"}, + {"name": "India", "code": "IN"}, + {"name": "Indonesia", "code": "ID"}, + {"name": "Iran, Islamic Republic Of", "code": "IR"}, + {"name": "Iraq", "code": "IQ"}, + {"name": "Ireland", "code": "IE"}, + {"name": "Isle of Man", "code": "IM"}, + {"name": "Israel", "code": "IL"}, + {"name": "Italy", "code": "IT"}, + {"name": "Jamaica", "code": "JM"}, + {"name": "Japan", "code": "JP"}, + {"name": "Jersey", "code": "JE"}, + {"name": "Jordan", "code": "JO"}, + {"name": "Kazakhstan", "code": "KZ"}, + {"name": "Kenya", "code": "KE"}, + {"name": "Kiribati", "code": "KI"}, + {"name": "Korea, Democratic People\"S Republic of", "code": "KP"}, + {"name": "Korea, Republic of", "code": "KR"}, + {"name": "Kuwait", "code": "KW"}, + {"name": "Kyrgyzstan", "code": "KG"}, + {"name": "Lao People\"S Democratic Republic", "code": "LA"}, + {"name": "Latvia", "code": "LV"}, + {"name": "Lebanon", "code": "LB"}, + {"name": "Lesotho", "code": "LS"}, + {"name": "Liberia", "code": "LR"}, + {"name": "Libyan Arab Jamahiriya", "code": "LY"}, + {"name": "Liechtenstein", "code": "LI"}, + {"name": "Lithuania", "code": "LT"}, + {"name": "Luxembourg", "code": "LU"}, + {"name": "Macao", "code": "MO"}, + {"name": "Macedonia, The Former Yugoslav Republic of", "code": "MK"}, + {"name": "Madagascar", "code": "MG"}, + {"name": "Malawi", "code": "MW"}, + {"name": "Malaysia", "code": "MY"}, + {"name": "Maldives", "code": "MV"}, + {"name": "Mali", "code": "ML"}, + {"name": "Malta", "code": "MT"}, + {"name": "Marshall Islands", "code": "MH"}, + {"name": "Martinique", "code": "MQ"}, + {"name": "Mauritania", "code": "MR"}, + {"name": "Mauritius", "code": "MU"}, + {"name": "Mayotte", "code": "YT"}, + {"name": "Mexico", "code": "MX"}, + {"name": "Micronesia, Federated States of", "code": "FM"}, + {"name": "Moldova, Republic of", "code": "MD"}, + {"name": "Monaco", "code": "MC"}, + {"name": "Mongolia", "code": "MN"}, + {"name": "Montserrat", "code": "MS"}, + {"name": "Morocco", "code": "MA"}, + {"name": "Mozambique", "code": "MZ"}, + {"name": "Myanmar", "code": "MM"}, + {"name": "Namibia", "code": "NA"}, + {"name": "Nauru", "code": "NR"}, + {"name": "Nepal", "code": "NP"}, + {"name": "Netherlands", "code": "NL"}, + {"name": "Netherlands Antilles", "code": "AN"}, + {"name": "New Caledonia", "code": "NC"}, + {"name": "New Zealand", "code": "NZ"}, + {"name": "Nicaragua", "code": "NI"}, + {"name": "Niger", "code": "NE"}, + {"name": "Nigeria", "code": "NG"}, + {"name": "Niue", "code": "NU"}, + {"name": "Norfolk Island", "code": "NF"}, + {"name": "Northern Mariana Islands", "code": "MP"}, + {"name": "Norway", "code": "NO"}, + {"name": "Oman", "code": "OM"}, + {"name": "Pakistan", "code": "PK"}, + {"name": "Palau", "code": "PW"}, + {"name": "Palestinian Territory, Occupied", "code": "PS"}, + {"name": "Panama", "code": "PA"}, + {"name": "Papua New Guinea", "code": "PG"}, + {"name": "Paraguay", "code": "PY"}, + {"name": "Peru", "code": "PE"}, + {"name": "Philippines", "code": "PH"}, + {"name": "Pitcairn", "code": "PN"}, + {"name": "Poland", "code": "PL"}, + {"name": "Portugal", "code": "PT"}, + {"name": "Puerto Rico", "code": "PR"}, + {"name": "Qatar", "code": "QA"}, + {"name": "Reunion", "code": "RE"}, + {"name": "Romania", "code": "RO"}, + {"name": "Russian Federation", "code": "RU"}, + {"name": "RWANDA", "code": "RW"}, + {"name": "Saint Helena", "code": "SH"}, + {"name": "Saint Kitts and Nevis", "code": "KN"}, + {"name": "Saint Lucia", "code": "LC"}, + {"name": "Saint Pierre and Miquelon", "code": "PM"}, + {"name": "Saint Vincent and the Grenadines", "code": "VC"}, + {"name": "Samoa", "code": "WS"}, + {"name": "San Marino", "code": "SM"}, + {"name": "Sao Tome and Principe", "code": "ST"}, + {"name": "Saudi Arabia", "code": "SA"}, + {"name": "Senegal", "code": "SN"}, + {"name": "Serbia and Montenegro", "code": "CS"}, + {"name": "Seychelles", "code": "SC"}, + {"name": "Sierra Leone", "code": "SL"}, + {"name": "Singapore", "code": "SG"}, + {"name": "Slovakia", "code": "SK"}, + {"name": "Slovenia", "code": "SI"}, + {"name": "Solomon Islands", "code": "SB"}, + {"name": "Somalia", "code": "SO"}, + {"name": "South Africa", "code": "ZA"}, + {"name": "South Georgia and the South Sandwich Islands", "code": "GS"}, + {"name": "Spain", "code": "ES"}, + {"name": "Sri Lanka", "code": "LK"}, + {"name": "Sudan", "code": "SD"}, + {"name": "Suriname", "code": "SR"}, + {"name": "Svalbard and Jan Mayen", "code": "SJ"}, + {"name": "Swaziland", "code": "SZ"}, + {"name": "Sweden", "code": "SE"}, + {"name": "Switzerland", "code": "CH"}, + {"name": "Syrian Arab Republic", "code": "SY"}, + {"name": "Taiwan, Province of China", "code": "TW"}, + {"name": "Tajikistan", "code": "TJ"}, + {"name": "Tanzania, United Republic of", "code": "TZ"}, + {"name": "Thailand", "code": "TH"}, + {"name": "Timor-Leste", "code": "TL"}, + {"name": "Togo", "code": "TG"}, + {"name": "Tokelau", "code": "TK"}, + {"name": "Tonga", "code": "TO"}, + {"name": "Trinidad and Tobago", "code": "TT"}, + {"name": "Tunisia", "code": "TN"}, + {"name": "Turkey", "code": "TR"}, + {"name": "Turkmenistan", "code": "TM"}, + {"name": "Turks and Caicos Islands", "code": "TC"}, + {"name": "Tuvalu", "code": "TV"}, + {"name": "Uganda", "code": "UG"}, + {"name": "Ukraine", "code": "UA"}, + {"name": "United Arab Emirates", "code": "AE"}, + {"name": "United Kingdom", "code": "GB"}, + {"name": "United States", "code": "US"}, + {"name": "United States Minor Outlying Islands", "code": "UM"}, + {"name": "Uruguay", "code": "UY"}, + {"name": "Uzbekistan", "code": "UZ"}, + {"name": "Vanuatu", "code": "VU"}, + {"name": "Venezuela", "code": "VE"}, + {"name": "Viet Nam", "code": "VN"}, + {"name": "Virgin Islands, British", "code": "VG"}, + {"name": "Virgin Islands, U.S.", "code": "VI"}, + {"name": "Wallis and Futuna", "code": "WF"}, + {"name": "Western Sahara", "code": "EH"}, + {"name": "Yemen", "code": "YE"}, + {"name": "Zambia", "code": "ZM"}, + {"name": "Zimbabwe", "code": "ZW"} + ] +} diff --git a/public/demo/data/customers-large.json b/public/demo/data/customers-large.json new file mode 100644 index 0000000..21d3721 --- /dev/null +++ b/public/demo/data/customers-large.json @@ -0,0 +1,3604 @@ +{ + "data": [ + { + "id": 1000, + "name": "James Butt", + "country": { + "name": "Algeria", + "code": "dz" + }, + "company": "Benton, John B Jr", + "date": "2015-09-13", + "status": "unqualified", + "verified": true, + "activity": 17, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 70663 + }, + { + "id": 1001, + "name": "Josephine Darakjy", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chanay, Jeffrey A Esq", + "date": "2019-02-09", + "status": "proposal", + "verified": true, + "activity": 0, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 82429 + }, + { + "id": 1002, + "name": "Art Venere", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Chemel, James L Cpa", + "date": "2017-05-13", + "status": "qualified", + "verified": false, + "activity": 63, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 28334 + }, + { + "id": 1003, + "name": "Lenna Paprocki", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Feltz Printing Service", + "date": "2020-09-15", + "status": "new", + "verified": false, + "activity": 37, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 88521 + }, + { + "id": 1004, + "name": "Donette Foller", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Printing Dimensions", + "date": "2016-05-20", + "status": "proposal", + "verified": true, + "activity": 33, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 93905 + }, + { + "id": 1005, + "name": "Simona Morasca", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chapman, Ross E Esq", + "date": "2018-02-16", + "status": "qualified", + "verified": false, + "activity": 68, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 50041 + }, + { + "id": 1006, + "name": "Mitsue Tollner", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Morlong Associates", + "date": "2018-02-19", + "status": "renewal", + "verified": true, + "activity": 54, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 58706 + }, + { + "id": 1007, + "name": "Leota Dilliard", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Commercial Press", + "date": "2019-08-13", + "status": "renewal", + "verified": true, + "activity": 69, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 26640 + }, + { + "id": 1008, + "name": "Sage Wieser", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Truhlar And Truhlar Attys", + "date": "2018-11-21", + "status": "unqualified", + "verified": true, + "activity": 76, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 65369 + }, + { + "id": 1009, + "name": "Kris Marrier", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "King, Christopher A Esq", + "date": "2015-07-07", + "status": "proposal", + "verified": false, + "activity": 3, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 63451 + }, + { + "id": 1010, + "name": "Minna Amigon", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Dorl, James J Esq", + "date": "2018-11-07", + "status": "qualified", + "verified": false, + "activity": 38, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 71169 + }, + { + "id": 1011, + "name": "Abel Maclead", + "country": { + "name": "Singapore", + "code": "sg" + }, + "company": "Rangoni Of Florence", + "date": "2017-03-11", + "status": "qualified", + "verified": true, + "activity": 87, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 96842 + }, + { + "id": 1012, + "name": "Kiley Caldarera", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Feiner Bros", + "date": "2015-10-20", + "status": "unqualified", + "verified": false, + "activity": 80, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 92734 + }, + { + "id": 1013, + "name": "Graciela Ruta", + "country": { + "name": "Chile", + "code": "cl" + }, + "company": "Buckley Miller & Wright", + "date": "2016-07-25", + "status": "negotiation", + "verified": false, + "activity": 59, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 45250 + }, + { + "id": 1014, + "name": "Cammy Albares", + "country": { + "name": "Philippines", + "code": "ph" + }, + "company": "Rousseaux, Michael Esq", + "date": "2019-06-25", + "status": "new", + "verified": true, + "activity": 90, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 30236 + }, + { + "id": 1015, + "name": "Mattie Poquette", + "country": { + "name": "Venezuela", + "code": "ve" + }, + "company": "Century Communications", + "date": "2017-12-12", + "status": "negotiation", + "verified": false, + "activity": 52, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 64533 + }, + { + "id": 1016, + "name": "Meaghan Garufi", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Bolton, Wilbur Esq", + "date": "2018-07-04", + "status": "unqualified", + "verified": false, + "activity": 31, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 37279 + }, + { + "id": 1017, + "name": "Gladys Rim", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "T M Byxbee Company Pc", + "date": "2020-02-27", + "status": "renewal", + "verified": true, + "activity": 48, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 27381 + }, + { + "id": 1018, + "name": "Yuki Whobrey", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Farmers Insurance Group", + "date": "2017-12-21", + "status": "negotiation", + "verified": true, + "activity": 16, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 9257 + }, + { + "id": 1019, + "name": "Fletcher Flosi", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "Post Box Services Plus", + "date": "2016-01-04", + "status": "renewal", + "verified": true, + "activity": 19, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 67783 + }, + { + "id": 1020, + "name": "Bette Nicka", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Sport En Art", + "date": "2016-10-21", + "status": "renewal", + "verified": false, + "activity": 100, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 4609 + }, + { + "id": 1021, + "name": "Veronika Inouye", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "C 4 Network Inc", + "date": "2017-03-24", + "status": "renewal", + "verified": false, + "activity": 72, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 26565 + }, + { + "id": 1022, + "name": "Willard Kolmetz", + "country": { + "name": "Tunisia", + "code": "tn" + }, + "company": "Ingalls, Donald R Esq", + "date": "2017-04-15", + "status": "renewal", + "verified": true, + "activity": 94, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 75876 + }, + { + "id": 1023, + "name": "Maryann Royster", + "country": { + "name": "Belarus", + "code": "by" + }, + "company": "Franklin, Peter L Esq", + "date": "2017-03-11", + "status": "qualified", + "verified": false, + "activity": 56, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 41121 + }, + { + "id": 1024, + "name": "Alisha Slusarski", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Wtlz Power 107 Fm", + "date": "2018-03-27", + "status": "qualified", + "verified": true, + "activity": 7, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 91691 + }, + { + "id": 1025, + "name": "Allene Iturbide", + "country": { + "name": "Italy", + "code": "it" + }, + "company": "Ledecky, David Esq", + "date": "2016-02-20", + "status": "qualified", + "verified": true, + "activity": 1, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 40137 + }, + { + "id": 1026, + "name": "Chanel Caudy", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "Professional Image Inc", + "date": "2018-06-24", + "status": "new", + "verified": true, + "activity": 26, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 21304 + }, + { + "id": 1027, + "name": "Ezekiel Chui", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Sider, Donald C Esq", + "date": "2016-09-24", + "status": "new", + "verified": false, + "activity": 76, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 60454 + }, + { + "id": 1028, + "name": "Willow Kusko", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "U Pull It", + "date": "2020-04-11", + "status": "qualified", + "verified": true, + "activity": 7, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 17565 + }, + { + "id": 1029, + "name": "Bernardo Figeroa", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Clark, Richard Cpa", + "date": "2018-04-11", + "status": "renewal", + "verified": true, + "activity": 81, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 17774 + }, + { + "id": 1030, + "name": "Ammie Corrio", + "country": { + "name": "Hungary", + "code": "hu" + }, + "company": "Moskowitz, Barry S", + "date": "2016-06-11", + "status": "negotiation", + "verified": true, + "activity": 56, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 49201 + }, + { + "id": 1031, + "name": "Francine Vocelka", + "country": { + "name": "Honduras", + "code": "hn" + }, + "company": "Cascade Realty Advisors Inc", + "date": "2017-08-02", + "status": "qualified", + "verified": true, + "activity": 94, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 67126 + }, + { + "id": 1032, + "name": "Ernie Stenseth", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Knwz Newsradio", + "date": "2018-06-06", + "status": "renewal", + "verified": true, + "activity": 68, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 76017 + }, + { + "id": 1033, + "name": "Albina Glick", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Giampetro, Anthony D", + "date": "2019-08-08", + "status": "proposal", + "verified": true, + "activity": 85, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 91201 + }, + { + "id": 1034, + "name": "Alishia Sergi", + "country": { + "name": "Qatar", + "code": "qa" + }, + "company": "Milford Enterprises Inc", + "date": "2018-05-19", + "status": "negotiation", + "verified": false, + "activity": 46, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 12237 + }, + { + "id": 1035, + "name": "Solange Shinko", + "country": { + "name": "Cameroon", + "code": "cm" + }, + "company": "Mosocco, Ronald A", + "date": "2015-02-12", + "status": "qualified", + "verified": true, + "activity": 32, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 34072 + }, + { + "id": 1036, + "name": "Jose Stockham", + "country": { + "name": "Italy", + "code": "it" + }, + "company": "Tri State Refueler Co", + "date": "2018-04-25", + "status": "qualified", + "verified": true, + "activity": 77, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 94909 + }, + { + "id": 1037, + "name": "Rozella Ostrosky", + "country": { + "name": "Venezuela", + "code": "ve" + }, + "company": "Parkway Company", + "date": "2016-02-27", + "status": "unqualified", + "verified": true, + "activity": 66, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 57245 + }, + { + "id": 1038, + "name": "Valentine Gillian", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Fbs Business Finance", + "date": "2019-09-17", + "status": "qualified", + "verified": true, + "activity": 25, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 75502 + }, + { + "id": 1039, + "name": "Kati Rulapaugh", + "country": { + "name": "Puerto Rico", + "code": "pr" + }, + "company": "Eder Assocs Consltng Engrs Pc", + "date": "2016-12-03", + "status": "renewal", + "verified": false, + "activity": 51, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 82075 + }, + { + "id": 1040, + "name": "Youlanda Schemmer", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Tri M Tool Inc", + "date": "2017-12-15", + "status": "negotiation", + "verified": true, + "activity": 49, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 19208 + }, + { + "id": 1041, + "name": "Dyan Oldroyd", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "International Eyelets Inc", + "date": "2017-02-02", + "status": "qualified", + "verified": false, + "activity": 5, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 50194 + }, + { + "id": 1042, + "name": "Roxane Campain", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Rapid Trading Intl", + "date": "2018-12-25", + "status": "unqualified", + "verified": false, + "activity": 100, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 77714 + }, + { + "id": 1043, + "name": "Lavera Perin", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Abc Enterprises Inc", + "date": "2018-04-10", + "status": "qualified", + "verified": false, + "activity": 71, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 35740 + }, + { + "id": 1044, + "name": "Erick Ferencz", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Cindy Turner Associates", + "date": "2018-05-06", + "status": "unqualified", + "verified": true, + "activity": 54, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 30790 + }, + { + "id": 1045, + "name": "Fatima Saylors", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Stanton, James D Esq", + "date": "2019-07-10", + "status": "renewal", + "verified": true, + "activity": 93, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 52343 + }, + { + "id": 1046, + "name": "Jina Briddick", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "Grace Pastries Inc", + "date": "2018-02-19", + "status": "unqualified", + "verified": false, + "activity": 97, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 53966 + }, + { + "id": 1047, + "name": "Kanisha Waycott", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "Schroer, Gene E Esq", + "date": "2019-11-27", + "status": "new", + "verified": false, + "activity": 80, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 9920 + }, + { + "id": 1048, + "name": "Emerson Bowley", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Knights Inn", + "date": "2018-11-24", + "status": "new", + "verified": false, + "activity": 63, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 78069 + }, + { + "id": 1049, + "name": "Blair Malet", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Bollinger Mach Shp & Shipyard", + "date": "2018-04-19", + "status": "new", + "verified": true, + "activity": 92, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 65005 + }, + { + "id": 1050, + "name": "Brock Bolognia", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Orinda News", + "date": "2019-09-06", + "status": "renewal", + "verified": true, + "activity": 72, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 51038 + }, + { + "id": 1051, + "name": "Lorrie Nestle", + "country": { + "name": "Germany", + "code": "de" + }, + "company": "Ballard Spahr Andrews", + "date": "2018-04-26", + "status": "renewal", + "verified": false, + "activity": 36, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 28218 + }, + { + "id": 1052, + "name": "Sabra Uyetake", + "country": { + "name": "Peru", + "code": "pe" + }, + "company": "Lowy Limousine Service", + "date": "2018-04-12", + "status": "new", + "verified": false, + "activity": 31, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 78527 + }, + { + "id": 1053, + "name": "Marjory Mastella", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Vicon Corporation", + "date": "2018-01-24", + "status": "negotiation", + "verified": false, + "activity": 89, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 23381 + }, + { + "id": 1054, + "name": "Karl Klonowski", + "country": { + "name": "Saudi Arabia", + "code": "sa" + }, + "company": "Rossi, Michael M", + "date": "2017-04-17", + "status": "unqualified", + "verified": true, + "activity": 27, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 64821 + }, + { + "id": 1055, + "name": "Tonette Wenner", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Northwest Publishing", + "date": "2019-04-14", + "status": "qualified", + "verified": false, + "activity": 27, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 55334 + }, + { + "id": 1056, + "name": "Amber Monarrez", + "country": { + "name": "Sweden", + "code": "se" + }, + "company": "Branford Wire & Mfg Co", + "date": "2019-09-09", + "status": "new", + "verified": false, + "activity": 79, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 83391 + }, + { + "id": 1057, + "name": "Shenika Seewald", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "East Coast Marketing", + "date": "2017-02-18", + "status": "renewal", + "verified": true, + "activity": 39, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 31580 + }, + { + "id": 1058, + "name": "Delmy Ahle", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Wye Technologies Inc", + "date": "2020-10-05", + "status": "unqualified", + "verified": false, + "activity": 55, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 11723 + }, + { + "id": 1059, + "name": "Deeanna Juhas", + "country": { + "name": "Sweden", + "code": "se" + }, + "company": "Healy, George W Iv", + "date": "2018-09-28", + "status": "negotiation", + "verified": false, + "activity": 79, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 8454 + }, + { + "id": 1060, + "name": "Blondell Pugh", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Alpenlite Inc", + "date": "2016-06-16", + "status": "renewal", + "verified": false, + "activity": 49, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 99235 + }, + { + "id": 1061, + "name": "Jamal Vanausdal", + "country": { + "name": "Morocco", + "code": "ma" + }, + "company": "Hubbard, Bruce Esq", + "date": "2017-05-25", + "status": "proposal", + "verified": true, + "activity": 87, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 15656 + }, + { + "id": 1062, + "name": "Cecily Hollack", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Arthur A Oliver & Son Inc", + "date": "2020-05-09", + "status": "negotiation", + "verified": true, + "activity": 5, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 60586 + }, + { + "id": 1063, + "name": "Carmelina Lindall", + "country": { + "name": "Puerto Rico", + "code": "pr" + }, + "company": "George Jessop Carter Jewelers", + "date": "2019-09-07", + "status": "qualified", + "verified": true, + "activity": 77, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 86239 + }, + { + "id": 1064, + "name": "Maurine Yglesias", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Schultz, Thomas C Md", + "date": "2015-08-10", + "status": "renewal", + "verified": false, + "activity": 94, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 15621 + }, + { + "id": 1065, + "name": "Tawna Buvens", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "H H H Enterprises Inc", + "date": "2018-03-20", + "status": "new", + "verified": false, + "activity": 25, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 77248 + }, + { + "id": 1066, + "name": "Penney Weight", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Hawaiian King Hotel", + "date": "2020-03-03", + "status": "qualified", + "verified": false, + "activity": 96, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 478 + }, + { + "id": 1067, + "name": "Elly Morocco", + "country": { + "name": "Thailand", + "code": "th" + }, + "company": "Killion Industries", + "date": "2018-09-18", + "status": "qualified", + "verified": true, + "activity": 38, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 62505 + }, + { + "id": 1068, + "name": "Ilene Eroman", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Robinson, William J Esq", + "date": "2019-06-08", + "status": "new", + "verified": true, + "activity": 49, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 91480 + }, + { + "id": 1069, + "name": "Vallie Mondella", + "country": { + "name": "Latvia", + "code": "lv" + }, + "company": "Private Properties", + "date": "2018-12-06", + "status": "new", + "verified": false, + "activity": 16, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 21671 + }, + { + "id": 1070, + "name": "Kallie Blackwood", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Rowley Schlimgen Inc", + "date": "2017-04-05", + "status": "unqualified", + "verified": false, + "activity": 25, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 13775 + }, + { + "id": 1071, + "name": "Johnetta Abdallah", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Forging Specialties", + "date": "2015-02-02", + "status": "new", + "verified": false, + "activity": 16, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 60253 + }, + { + "id": 1072, + "name": "Bobbye Rhym", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Smits, Patricia Garity", + "date": "2018-08-17", + "status": "qualified", + "verified": true, + "activity": 85, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 75225 + }, + { + "id": 1073, + "name": "Micaela Rhymes", + "country": { + "name": "France", + "code": "fr" + }, + "company": "H Lee Leonard Attorney At Law", + "date": "2018-09-08", + "status": "renewal", + "verified": true, + "activity": 92, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 3308 + }, + { + "id": 1074, + "name": "Tamar Hoogland", + "country": { + "name": "Guatemala", + "code": "gt" + }, + "company": "A K Construction Co", + "date": "2018-11-13", + "status": "proposal", + "verified": true, + "activity": 22, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 19711 + }, + { + "id": 1075, + "name": "Moon Parlato", + "country": { + "name": "Czech Republic", + "code": "cz" + }, + "company": "Ambelang, Jessica M Md", + "date": "2019-08-18", + "status": "renewal", + "verified": false, + "activity": 64, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 55110 + }, + { + "id": 1076, + "name": "Laurel Reitler", + "country": { + "name": "United Kingdom", + "code": "gb" + }, + "company": "Q A Service", + "date": "2015-04-02", + "status": "negotiation", + "verified": false, + "activity": 80, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 62392 + }, + { + "id": 1077, + "name": "Delisa Crupi", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Wood & Whitacre Contractors", + "date": "2017-09-15", + "status": "unqualified", + "verified": false, + "activity": 70, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 76530 + }, + { + "id": 1078, + "name": "Viva Toelkes", + "country": { + "name": "United States", + "code": "us" + }, + "company": "Mark Iv Press Ltd", + "date": "2017-03-27", + "status": "qualified", + "verified": false, + "activity": 16, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 7460 + }, + { + "id": 1079, + "name": "Elza Lipke", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Museum Of Science & Industry", + "date": "2017-06-01", + "status": "proposal", + "verified": true, + "activity": 90, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 42251 + }, + { + "id": 1080, + "name": "Devorah Chickering", + "country": { + "name": "Spain", + "code": "es" + }, + "company": "Garrison Ind", + "date": "2017-03-14", + "status": "proposal", + "verified": true, + "activity": 96, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 36435 + }, + { + "id": 1081, + "name": "Timothy Mulqueen", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Saronix Nymph Products", + "date": "2018-07-09", + "status": "renewal", + "verified": true, + "activity": 77, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 39197 + }, + { + "id": 1082, + "name": "Arlette Honeywell", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Smc Inc", + "date": "2018-09-11", + "status": "proposal", + "verified": true, + "activity": 46, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 72707 + }, + { + "id": 1083, + "name": "Dominque Dickerson", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "E A I Electronic Assocs Inc", + "date": "2017-11-12", + "status": "qualified", + "verified": true, + "activity": 83, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 97965 + }, + { + "id": 1084, + "name": "Lettie Isenhower", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Conte, Christopher A Esq", + "date": "2016-03-01", + "status": "qualified", + "verified": true, + "activity": 83, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 5823 + }, + { + "id": 1085, + "name": "Myra Munns", + "country": { + "name": "Lithuania", + "code": "lt" + }, + "company": "Anker Law Office", + "date": "2016-05-21", + "status": "unqualified", + "verified": true, + "activity": 49, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 96471 + }, + { + "id": 1086, + "name": "Stephaine Barfield", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Beutelschies & Company", + "date": "2016-01-22", + "status": "new", + "verified": true, + "activity": 34, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 33710 + }, + { + "id": 1087, + "name": "Lai Gato", + "country": { + "name": "Nigeria", + "code": "ng" + }, + "company": "Fligg, Kenneth I Jr", + "date": "2016-07-26", + "status": "unqualified", + "verified": false, + "activity": 64, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 30611 + }, + { + "id": 1088, + "name": "Stephen Emigh", + "country": { + "name": "Cuba", + "code": "cu" + }, + "company": "Sharp, J Daniel Esq", + "date": "2020-07-24", + "status": "renewal", + "verified": false, + "activity": 51, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 32960 + }, + { + "id": 1089, + "name": "Tyra Shields", + "country": { + "name": "Honduras", + "code": "hn" + }, + "company": "Assink, Anne H Esq", + "date": "2019-11-10", + "status": "negotiation", + "verified": false, + "activity": 11, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 57423 + }, + { + "id": 1090, + "name": "Tammara Wardrip", + "country": { + "name": "Saudi Arabia", + "code": "sa" + }, + "company": "Jewel My Shop Inc", + "date": "2016-06-05", + "status": "renewal", + "verified": true, + "activity": 64, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 23027 + }, + { + "id": 1091, + "name": "Cory Gibes", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Chinese Translation Resources", + "date": "2016-02-28", + "status": "new", + "verified": false, + "activity": 44, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 84182 + }, + { + "id": 1092, + "name": "Danica Bruschke", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Stevens, Charles T", + "date": "2018-12-13", + "status": "unqualified", + "verified": true, + "activity": 62, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 25237 + }, + { + "id": 1093, + "name": "Wilda Giguere", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Mclaughlin, Luther W Cpa", + "date": "2017-06-16", + "status": "new", + "verified": true, + "activity": 79, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 87736 + }, + { + "id": 1094, + "name": "Elvera Benimadho", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Tree Musketeers", + "date": "2019-02-17", + "status": "proposal", + "verified": true, + "activity": 50, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 38674 + }, + { + "id": 1095, + "name": "Carma Vanheusen", + "country": { + "name": "Turkey", + "code": "tr" + }, + "company": "Springfield Div Oh Edison Co", + "date": "2019-11-26", + "status": "renewal", + "verified": false, + "activity": 84, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 67762 + }, + { + "id": 1096, + "name": "Malinda Hochard", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Logan Memorial Hospital", + "date": "2016-07-06", + "status": "new", + "verified": false, + "activity": 88, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 81299 + }, + { + "id": 1097, + "name": "Natalie Fern", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Kelly, Charles G Esq", + "date": "2019-10-02", + "status": "proposal", + "verified": true, + "activity": 44, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 64794 + }, + { + "id": 1098, + "name": "Lisha Centini", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Industrial Paper Shredders Inc", + "date": "2018-07-05", + "status": "new", + "verified": true, + "activity": 7, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 7815 + }, + { + "id": 1099, + "name": "Arlene Klusman", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "Beck Horizon Builders", + "date": "2018-05-14", + "status": "proposal", + "verified": true, + "activity": 99, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 37976 + }, + { + "id": 1100, + "name": "Alease Buemi", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "Porto Cayo At Hawks Cay", + "date": "2018-03-14", + "status": "unqualified", + "verified": true, + "activity": 0, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 59594 + }, + { + "id": 1101, + "name": "Louisa Cronauer", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "Pacific Grove Museum Ntrl Hist", + "date": "2018-09-23", + "status": "qualified", + "verified": false, + "activity": 3, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 92528 + }, + { + "id": 1102, + "name": "Angella Cetta", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Bender & Hatley Pc", + "date": "2018-04-10", + "status": "qualified", + "verified": false, + "activity": 88, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 58964 + }, + { + "id": 1103, + "name": "Cyndy Goldammer", + "country": { + "name": "Burkina Faso", + "code": "bf" + }, + "company": "Di Cristina J & Son", + "date": "2017-09-18", + "status": "unqualified", + "verified": false, + "activity": 92, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 65860 + }, + { + "id": 1104, + "name": "Rosio Cork", + "country": { + "name": "Singapore", + "code": "sg" + }, + "company": "Green Goddess", + "date": "2017-08-19", + "status": "negotiation", + "verified": true, + "activity": 19, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 63863 + }, + { + "id": 1105, + "name": "Celeste Korando", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "American Arts & Graphics", + "date": "2020-06-18", + "status": "proposal", + "verified": true, + "activity": 21, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 37510 + }, + { + "id": 1106, + "name": "Twana Felger", + "country": { + "name": "Croatia", + "code": "hr" + }, + "company": "Opryland Hotel", + "date": "2016-11-18", + "status": "negotiation", + "verified": false, + "activity": 97, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 63876 + }, + { + "id": 1107, + "name": "Estrella Samu", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Marking Devices Pubg Co", + "date": "2017-06-25", + "status": "unqualified", + "verified": false, + "activity": 27, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 93263 + }, + { + "id": 1108, + "name": "Donte Kines", + "country": { + "name": "Slovakia", + "code": "sk" + }, + "company": "W Tc Industries Inc", + "date": "2019-02-16", + "status": "new", + "verified": true, + "activity": 35, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 57198 + }, + { + "id": 1109, + "name": "Tiffiny Steffensmeier", + "country": { + "name": "Pakistan", + "code": "pk" + }, + "company": "Whitehall Robbins Labs Divsn", + "date": "2018-03-11", + "status": "new", + "verified": true, + "activity": 81, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 89147 + }, + { + "id": 1110, + "name": "Edna Miceli", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Sampler", + "date": "2017-10-15", + "status": "renewal", + "verified": true, + "activity": 54, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 41466 + }, + { + "id": 1111, + "name": "Sue Kownacki", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "Juno Chefs Incorporated", + "date": "2017-03-17", + "status": "proposal", + "verified": false, + "activity": 31, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 38918 + }, + { + "id": 1112, + "name": "Jesusa Shin", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Carroccio, A Thomas Esq", + "date": "2017-04-06", + "status": "renewal", + "verified": false, + "activity": 28, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 11397 + }, + { + "id": 1113, + "name": "Rolland Francescon", + "country": { + "name": "United Kingdom", + "code": "gb" + }, + "company": "Stanley, Richard L Esq", + "date": "2019-02-03", + "status": "qualified", + "verified": false, + "activity": 45, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 40930 + }, + { + "id": 1114, + "name": "Pamella Schmierer", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "K Cs Cstm Mouldings Windows", + "date": "2016-09-22", + "status": "unqualified", + "verified": true, + "activity": 34, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 40847 + }, + { + "id": 1115, + "name": "Glory Kulzer", + "country": { + "name": "Croatia", + "code": "hr" + }, + "company": "Comfort Inn", + "date": "2017-09-27", + "status": "unqualified", + "verified": true, + "activity": 36, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 27832 + }, + { + "id": 1116, + "name": "Shawna Palaspas", + "country": { + "name": "Estonia", + "code": "ee" + }, + "company": "Windsor, James L Esq", + "date": "2017-06-25", + "status": "unqualified", + "verified": true, + "activity": 69, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 89060 + }, + { + "id": 1117, + "name": "Brandon Callaro", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Jackson Shields Yeiser", + "date": "2016-07-13", + "status": "proposal", + "verified": true, + "activity": 55, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 52474 + }, + { + "id": 1118, + "name": "Scarlet Cartan", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Box, J Calvin Esq", + "date": "2018-09-13", + "status": "renewal", + "verified": false, + "activity": 1, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 19094 + }, + { + "id": 1119, + "name": "Oretha Menter", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Custom Engineering Inc", + "date": "2017-09-11", + "status": "renewal", + "verified": false, + "activity": 8, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 93756 + }, + { + "id": 1120, + "name": "Ty Smith", + "country": { + "name": "United States", + "code": "us" + }, + "company": "Bresler Eitel Framg Gllry Ltd", + "date": "2019-07-06", + "status": "unqualified", + "verified": false, + "activity": 50, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 77388 + }, + { + "id": 1121, + "name": "Xuan Rochin", + "country": { + "name": "Colombia", + "code": "co" + }, + "company": "Carol, Drake Sparks Esq", + "date": "2018-05-22", + "status": "proposal", + "verified": true, + "activity": 77, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 48759 + }, + { + "id": 1122, + "name": "Lindsey Dilello", + "country": { + "name": "Austria", + "code": "at" + }, + "company": "Biltmore Investors Bank", + "date": "2017-07-18", + "status": "renewal", + "verified": true, + "activity": 65, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 37568 + }, + { + "id": 1123, + "name": "Devora Perez", + "country": { + "name": "Uruguay", + "code": "uy" + }, + "company": "Desco Equipment Corp", + "date": "2017-10-09", + "status": "unqualified", + "verified": true, + "activity": 30, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 4477 + }, + { + "id": 1124, + "name": "Herman Demesa", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Merlin Electric Co", + "date": "2019-05-23", + "status": "proposal", + "verified": true, + "activity": 10, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 13764 + }, + { + "id": 1125, + "name": "Rory Papasergi", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Bailey Cntl Co Div Babcock", + "date": "2019-03-02", + "status": "qualified", + "verified": false, + "activity": 22, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 68222 + }, + { + "id": 1126, + "name": "Talia Riopelle", + "country": { + "name": "Guatemala", + "code": "gt" + }, + "company": "Ford Brothers Wholesale Inc", + "date": "2017-02-18", + "status": "new", + "verified": false, + "activity": 69, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 29164 + }, + { + "id": 1127, + "name": "Van Shire", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Cambridge Inn", + "date": "2020-05-12", + "status": "new", + "verified": false, + "activity": 4, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 61651 + }, + { + "id": 1128, + "name": "Lucina Lary", + "country": { + "name": "Switzerland", + "code": "ch" + }, + "company": "Matricciani, Albert J Jr", + "date": "2019-11-20", + "status": "negotiation", + "verified": true, + "activity": 11, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 79938 + }, + { + "id": 1129, + "name": "Bok Isaacs", + "country": { + "name": "Chile", + "code": "cl" + }, + "company": "Nelson Hawaiian Ltd", + "date": "2016-11-10", + "status": "proposal", + "verified": true, + "activity": 41, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 44037 + }, + { + "id": 1130, + "name": "Rolande Spickerman", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Neland Travel Agency", + "date": "2016-07-11", + "status": "renewal", + "verified": true, + "activity": 84, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 89918 + }, + { + "id": 1131, + "name": "Howard Paulas", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "Asendorf, J Alan Esq", + "date": "2017-07-17", + "status": "negotiation", + "verified": false, + "activity": 22, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 32372 + }, + { + "id": 1132, + "name": "Kimbery Madarang", + "country": { + "name": "Senegal", + "code": "sn" + }, + "company": "Silberman, Arthur L Esq", + "date": "2018-08-19", + "status": "negotiation", + "verified": true, + "activity": 63, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 46478 + }, + { + "id": 1133, + "name": "Thurman Manno", + "country": { + "name": "Colombia", + "code": "co" + }, + "company": "Honey Bee Breeding Genetics &", + "date": "2016-05-02", + "status": "qualified", + "verified": true, + "activity": 47, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 30674 + }, + { + "id": 1134, + "name": "Becky Mirafuentes", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Wells Kravitz Schnitzer", + "date": "2018-04-13", + "status": "unqualified", + "verified": true, + "activity": 62, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 47714 + }, + { + "id": 1135, + "name": "Beatriz Corrington", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Prohab Rehabilitation Servs", + "date": "2020-01-04", + "status": "renewal", + "verified": true, + "activity": 55, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 14307 + }, + { + "id": 1136, + "name": "Marti Maybury", + "country": { + "name": "Thailand", + "code": "th" + }, + "company": "Eldridge, Kristin K Esq", + "date": "2016-02-05", + "status": "unqualified", + "verified": false, + "activity": 3, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 82069 + }, + { + "id": 1137, + "name": "Nieves Gotter", + "country": { + "name": "Latvia", + "code": "lv" + }, + "company": "Vlahos, John J Esq", + "date": "2017-03-12", + "status": "proposal", + "verified": false, + "activity": 3, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 11182 + }, + { + "id": 1138, + "name": "Leatha Hagele", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Ninas Indian Grs & Videos", + "date": "2019-03-27", + "status": "unqualified", + "verified": false, + "activity": 67, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 17126 + }, + { + "id": 1139, + "name": "Valentin Klimek", + "country": { + "name": "Ivory Coast", + "code": "ci" + }, + "company": "Schmid, Gayanne K Esq", + "date": "2019-08-06", + "status": "unqualified", + "verified": true, + "activity": 14, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 19724 + }, + { + "id": 1140, + "name": "Melissa Wiklund", + "country": { + "name": "Japan", + "code": "jp" + }, + "company": "Moapa Valley Federal Credit Un", + "date": "2018-03-20", + "status": "qualified", + "verified": true, + "activity": 8, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 91888 + }, + { + "id": 1141, + "name": "Sheridan Zane", + "country": { + "name": "Croatia", + "code": "hr" + }, + "company": "Kentucky Tennessee Clay Co", + "date": "2016-02-15", + "status": "qualified", + "verified": true, + "activity": 17, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 15016 + }, + { + "id": 1142, + "name": "Bulah Padilla", + "country": { + "name": "Philippines", + "code": "ph" + }, + "company": "Admiral Party Rentals & Sales", + "date": "2016-02-10", + "status": "proposal", + "verified": false, + "activity": 58, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 23118 + }, + { + "id": 1143, + "name": "Audra Kohnert", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Nelson, Karolyn King Esq", + "date": "2019-07-16", + "status": "unqualified", + "verified": false, + "activity": 82, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 90560 + }, + { + "id": 1144, + "name": "Daren Weirather", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Panasystems", + "date": "2015-07-23", + "status": "negotiation", + "verified": false, + "activity": 96, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 34155 + }, + { + "id": 1145, + "name": "Fernanda Jillson", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "Shank, Edward L Esq", + "date": "2017-07-02", + "status": "unqualified", + "verified": true, + "activity": 92, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 6350 + }, + { + "id": 1146, + "name": "Gearldine Gellinger", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Megibow & Edwards", + "date": "2019-08-17", + "status": "proposal", + "verified": true, + "activity": 18, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 77641 + }, + { + "id": 1147, + "name": "Chau Kitzman", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Benoff, Edward Esq", + "date": "2019-07-04", + "status": "new", + "verified": true, + "activity": 9, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 43289 + }, + { + "id": 1148, + "name": "Theola Frey", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Woodbridge Free Public Library", + "date": "2020-03-14", + "status": "unqualified", + "verified": true, + "activity": 44, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 85657 + }, + { + "id": 1149, + "name": "Cheryl Haroldson", + "country": { + "name": "France", + "code": "fr" + }, + "company": "New York Life John Thune", + "date": "2018-04-03", + "status": "new", + "verified": false, + "activity": 55, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 82733 + }, + { + "id": 1150, + "name": "Laticia Merced", + "country": { + "name": "Burkina Faso", + "code": "bf" + }, + "company": "Alinabal Inc", + "date": "2017-03-04", + "status": "unqualified", + "verified": false, + "activity": 21, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 38004 + }, + { + "id": 1151, + "name": "Carissa Batman", + "country": { + "name": "Greece", + "code": "gr" + }, + "company": "Poletto, Kim David Esq", + "date": "2016-05-05", + "status": "negotiation", + "verified": true, + "activity": 91, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 29038 + }, + { + "id": 1152, + "name": "Lezlie Craghead", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Chang, Carolyn Esq", + "date": "2019-05-28", + "status": "renewal", + "verified": false, + "activity": 30, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 75123 + }, + { + "id": 1153, + "name": "Ozell Shealy", + "country": { + "name": "Pakistan", + "code": "pk" + }, + "company": "Silver Bros Inc", + "date": "2016-08-19", + "status": "proposal", + "verified": true, + "activity": 14, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 33214 + }, + { + "id": 1154, + "name": "Arminda Parvis", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "Newtec Inc", + "date": "2020-02-09", + "status": "proposal", + "verified": true, + "activity": 77, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 80651 + }, + { + "id": 1155, + "name": "Reita Leto", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Creative Business Systems", + "date": "2020-04-03", + "status": "unqualified", + "verified": true, + "activity": 58, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 5085 + }, + { + "id": 1156, + "name": "Yolando Luczki", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Dal Tile Corporation", + "date": "2015-01-27", + "status": "renewal", + "verified": true, + "activity": 78, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 93021 + }, + { + "id": 1157, + "name": "Lizette Stem", + "country": { + "name": "Slovakia", + "code": "sk" + }, + "company": "Edward S Katz", + "date": "2018-08-06", + "status": "new", + "verified": false, + "activity": 67, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 37287 + }, + { + "id": 1158, + "name": "Gregoria Pawlowicz", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Oh My Goodknits Inc", + "date": "2020-02-20", + "status": "renewal", + "verified": false, + "activity": 29, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 73070 + }, + { + "id": 1159, + "name": "Carin Deleo", + "country": { + "name": "China", + "code": "cn" + }, + "company": "Redeker, Debbie", + "date": "2015-05-28", + "status": "qualified", + "verified": true, + "activity": 13, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 64422 + }, + { + "id": 1160, + "name": "Chantell Maynerich", + "country": { + "name": "Estonia", + "code": "ee" + }, + "company": "Desert Sands Motel", + "date": "2016-09-05", + "status": "unqualified", + "verified": true, + "activity": 75, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 36826 + }, + { + "id": 1161, + "name": "Dierdre Yum", + "country": { + "name": "Czech Republic", + "code": "cz" + }, + "company": "Cummins Southern Plains Inc", + "date": "2016-12-20", + "status": "negotiation", + "verified": true, + "activity": 1, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 93101 + }, + { + "id": 1162, + "name": "Larae Gudroe", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Lehigh Furn Divsn Lehigh", + "date": "2015-11-28", + "status": "unqualified", + "verified": false, + "activity": 13, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 60177 + }, + { + "id": 1163, + "name": "Latrice Tolfree", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "United Van Lines Agent", + "date": "2018-11-11", + "status": "renewal", + "verified": false, + "activity": 73, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 47198 + }, + { + "id": 1164, + "name": "Kerry Theodorov", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Capitol Reporters", + "date": "2016-11-05", + "status": "unqualified", + "verified": true, + "activity": 76, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 71305 + }, + { + "id": 1165, + "name": "Dorthy Hidvegi", + "country": { + "name": "Poland", + "code": "pl" + }, + "company": "Kwik Kopy Printing", + "date": "2020-08-13", + "status": "qualified", + "verified": true, + "activity": 60, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 17526 + }, + { + "id": 1166, + "name": "Fannie Lungren", + "country": { + "name": "Belarus", + "code": "by" + }, + "company": "Centro Inc", + "date": "2015-07-06", + "status": "negotiation", + "verified": true, + "activity": 24, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 16596 + }, + { + "id": 1167, + "name": "Evangelina Radde", + "country": { + "name": "Ivory Coast", + "code": "ci" + }, + "company": "Campbell, Jan Esq", + "date": "2020-02-25", + "status": "unqualified", + "verified": true, + "activity": 93, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 56870 + }, + { + "id": 1168, + "name": "Novella Degroot", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Evans, C Kelly Esq", + "date": "2017-12-19", + "status": "unqualified", + "verified": false, + "activity": 30, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 82928 + }, + { + "id": 1169, + "name": "Clay Hoa", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Scat Enterprises", + "date": "2016-02-22", + "status": "negotiation", + "verified": false, + "activity": 93, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 64181 + }, + { + "id": 1170, + "name": "Jennifer Fallick", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Nagle, Daniel J Esq", + "date": "2016-12-24", + "status": "unqualified", + "verified": true, + "activity": 88, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 30561 + }, + { + "id": 1171, + "name": "Irma Wolfgramm", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Serendiquity Bed & Breakfast", + "date": "2020-10-18", + "status": "negotiation", + "verified": true, + "activity": 70, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 24617 + }, + { + "id": 1172, + "name": "Eun Coody", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Ray Carolyne Realty", + "date": "2018-02-12", + "status": "qualified", + "verified": true, + "activity": 61, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 77860 + }, + { + "id": 1173, + "name": "Sylvia Cousey", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Berg, Charles E", + "date": "2018-06-10", + "status": "unqualified", + "verified": false, + "activity": 91, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 25664 + }, + { + "id": 1174, + "name": "Nana Wrinkles", + "country": { + "name": "Austria", + "code": "at" + }, + "company": "Ray, Milbern D", + "date": "2017-04-11", + "status": "renewal", + "verified": true, + "activity": 98, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 98113 + }, + { + "id": 1175, + "name": "Layla Springe", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Chadds Ford Winery", + "date": "2019-07-27", + "status": "unqualified", + "verified": true, + "activity": 97, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 14763 + }, + { + "id": 1176, + "name": "Joesph Degonia", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "A R Packaging", + "date": "2020-04-23", + "status": "renewal", + "verified": true, + "activity": 56, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 31317 + }, + { + "id": 1177, + "name": "Annabelle Boord", + "country": { + "name": "Guatemala", + "code": "gt" + }, + "company": "Corn Popper", + "date": "2020-09-16", + "status": "proposal", + "verified": true, + "activity": 76, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 30883 + }, + { + "id": 1178, + "name": "Stephaine Vinning", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Birite Foodservice Distr", + "date": "2016-05-14", + "status": "negotiation", + "verified": true, + "activity": 43, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 93785 + }, + { + "id": 1179, + "name": "Nelida Sawchuk", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Anchorage Museum Of Hist & Art", + "date": "2018-06-22", + "status": "qualified", + "verified": true, + "activity": 58, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 68380 + }, + { + "id": 1180, + "name": "Marguerita Hiatt", + "country": { + "name": "United Kingdom", + "code": "gb" + }, + "company": "Haber, George D Md", + "date": "2018-10-25", + "status": "qualified", + "verified": false, + "activity": 72, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 93454 + }, + { + "id": 1181, + "name": "Carmela Cookey", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Royal Pontiac Olds Inc", + "date": "2018-07-19", + "status": "proposal", + "verified": false, + "activity": 24, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 30570 + }, + { + "id": 1182, + "name": "Junita Brideau", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "Leonards Antiques Inc", + "date": "2015-03-15", + "status": "proposal", + "verified": true, + "activity": 86, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 79506 + }, + { + "id": 1183, + "name": "Claribel Varriano", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "Meca", + "date": "2017-04-14", + "status": "unqualified", + "verified": true, + "activity": 15, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 8654 + }, + { + "id": 1184, + "name": "Benton Skursky", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Nercon Engineering & Mfg Inc", + "date": "2015-02-19", + "status": "proposal", + "verified": true, + "activity": 9, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 13368 + }, + { + "id": 1185, + "name": "Hillary Skulski", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Replica I", + "date": "2016-03-25", + "status": "unqualified", + "verified": true, + "activity": 82, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 92631 + }, + { + "id": 1186, + "name": "Merilyn Bayless", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "20 20 Printing Inc", + "date": "2020-10-13", + "status": "unqualified", + "verified": true, + "activity": 13, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 4989 + }, + { + "id": 1187, + "name": "Teri Ennaco", + "country": { + "name": "Pakistan", + "code": "pk" + }, + "company": "Publishers Group West", + "date": "2019-12-21", + "status": "unqualified", + "verified": true, + "activity": 57, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 77668 + }, + { + "id": 1188, + "name": "Merlyn Lawler", + "country": { + "name": "Germany", + "code": "de" + }, + "company": "Nischwitz, Jeffrey L Esq", + "date": "2016-02-26", + "status": "renewal", + "verified": true, + "activity": 45, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 3525 + }, + { + "id": 1189, + "name": "Georgene Montezuma", + "country": { + "name": "Senegal", + "code": "sn" + }, + "company": "Payne Blades & Wellborn Pa", + "date": "2018-10-11", + "status": "new", + "verified": true, + "activity": 64, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 45838 + }, + { + "id": 1190, + "name": "Jettie Mconnell", + "country": { + "name": "Denmark", + "code": "dk" + }, + "company": "Coldwell Bnkr Wright Real Est", + "date": "2015-10-18", + "status": "negotiation", + "verified": false, + "activity": 74, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 49148 + }, + { + "id": 1191, + "name": "Lemuel Latzke", + "country": { + "name": "Colombia", + "code": "co" + }, + "company": "Computer Repair Service", + "date": "2016-02-13", + "status": "proposal", + "verified": false, + "activity": 79, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 96709 + }, + { + "id": 1192, + "name": "Melodie Knipp", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Fleetwood Building Block Inc", + "date": "2018-03-08", + "status": "negotiation", + "verified": false, + "activity": 19, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 23253 + }, + { + "id": 1193, + "name": "Candida Corbley", + "country": { + "name": "Poland", + "code": "pl" + }, + "company": "Colts Neck Medical Assocs Inc", + "date": "2017-12-02", + "status": "negotiation", + "verified": true, + "activity": 11, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 40836 + }, + { + "id": 1194, + "name": "Karan Karpin", + "country": { + "name": "Estonia", + "code": "ee" + }, + "company": "New England Taxidermy", + "date": "2019-01-07", + "status": "proposal", + "verified": true, + "activity": 4, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 60719 + }, + { + "id": 1195, + "name": "Andra Scheyer", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Ludcke, George O Esq", + "date": "2016-08-14", + "status": "qualified", + "verified": true, + "activity": 62, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 17419 + }, + { + "id": 1196, + "name": "Felicidad Poullion", + "country": { + "name": "Greece", + "code": "gr" + }, + "company": "Mccorkle, Tom S Esq", + "date": "2016-03-05", + "status": "renewal", + "verified": true, + "activity": 64, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 94052 + }, + { + "id": 1197, + "name": "Belen Strassner", + "country": { + "name": "Ivory Coast", + "code": "ci" + }, + "company": "Eagle Software Inc", + "date": "2015-12-14", + "status": "qualified", + "verified": true, + "activity": 91, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 54241 + }, + { + "id": 1198, + "name": "Gracia Melnyk", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "Juvenile & Adult Super", + "date": "2019-06-01", + "status": "unqualified", + "verified": true, + "activity": 40, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 87668 + }, + { + "id": 1199, + "name": "Jolanda Hanafan", + "country": { + "name": "Cameroon", + "code": "cm" + }, + "company": "Perez, Joseph J Esq", + "date": "2015-12-09", + "status": "qualified", + "verified": true, + "activity": 27, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 99417 + } + ] +} diff --git a/public/demo/data/customers-medium.json b/public/demo/data/customers-medium.json new file mode 100644 index 0000000..54879ec --- /dev/null +++ b/public/demo/data/customers-medium.json @@ -0,0 +1,804 @@ +{ + "data": [ + { + "id": 1000, + "name": "James Butt", + "country": { + "name": "Algeria", + "code": "dz" + }, + "company": "Benton, John B Jr", + "date": "2015-09-13", + "status": "unqualified", + "activity": 17, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1001, + "name": "Josephine Darakjy", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chanay, Jeffrey A Esq", + "date": "2019-02-09", + "status": "proposal", + "activity": 0, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1002, + "name": "Art Venere", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Chemel, James L Cpa", + "date": "2017-05-13", + "status": "qualified", + "activity": 63, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1003, + "name": "Lenna Paprocki", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Feltz Printing Service", + "date": "2020-09-15", + "status": "new", + "activity": 37, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1004, + "name": "Donette Foller", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Printing Dimensions", + "date": "2016-05-20", + "status": "proposal", + "activity": 33, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1005, + "name": "Simona Morasca", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chapman, Ross E Esq", + "date": "2018-02-16", + "status": "qualified", + "activity": 68, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1006, + "name": "Mitsue Tollner", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Morlong Associates", + "date": "2018-02-19", + "status": "renewal", + "activity": 54, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1007, + "name": "Leota Dilliard", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Commercial Press", + "date": "2019-08-13", + "status": "renewal", + "activity": 69, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1008, + "name": "Sage Wieser", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Truhlar And Truhlar Attys", + "date": "2018-11-21", + "status": "unqualified", + "activity": 76, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1009, + "name": "Kris Marrier", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "King, Christopher A Esq", + "date": "2015-07-07", + "status": "proposal", + "activity": 3, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1010, + "name": "Minna Amigon", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Dorl, James J Esq", + "date": "2018-11-07", + "status": "qualified", + "activity": 38, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + } + }, + { + "id": 1011, + "name": "Abel Maclead", + "country": { + "name": "Singapore", + "code": "sg" + }, + "company": "Rangoni Of Florence", + "date": "2017-03-11", + "status": "qualified", + "activity": 87, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + } + }, + { + "id": 1012, + "name": "Kiley Caldarera", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Feiner Bros", + "date": "2015-10-20", + "status": "unqualified", + "activity": 80, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1013, + "name": "Graciela Ruta", + "country": { + "name": "Chile", + "code": "cl" + }, + "company": "Buckley Miller \u0026 Wright", + "date": "2016-07-25", + "status": "negotiation", + "activity": 59, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1014, + "name": "Cammy Albares", + "country": { + "name": "Philippines", + "code": "ph" + }, + "company": "Rousseaux, Michael Esq", + "date": "2019-06-25", + "status": "new", + "activity": 90, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1015, + "name": "Mattie Poquette", + "country": { + "name": "Venezuela", + "code": "ve" + }, + "company": "Century Communications", + "date": "2017-12-12", + "status": "negotiation", + "activity": 52, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + } + }, + { + "id": 1016, + "name": "Meaghan Garufi", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Bolton, Wilbur Esq", + "date": "2018-07-04", + "status": "unqualified", + "activity": 31, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1017, + "name": "Gladys Rim", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "T M Byxbee Company Pc", + "date": "2020-02-27", + "status": "renewal", + "activity": 48, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + } + }, + { + "id": 1018, + "name": "Yuki Whobrey", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Farmers Insurance Group", + "date": "2017-12-21", + "status": "negotiation", + "activity": 16, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + } + }, + { + "id": 1019, + "name": "Fletcher Flosi", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "Post Box Services Plus", + "date": "2016-01-04", + "status": "renewal", + "activity": 19, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1020, + "name": "Bette Nicka", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Sport En Art", + "date": "2016-10-21", + "status": "renewal", + "activity": 100, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1021, + "name": "Veronika Inouye", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "C 4 Network Inc", + "date": "2017-03-24", + "status": "renewal", + "activity": 72, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1022, + "name": "Willard Kolmetz", + "country": { + "name": "Tunisia", + "code": "tn" + }, + "company": "Ingalls, Donald R Esq", + "date": "2017-04-15", + "status": "renewal", + "activity": 94, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1023, + "name": "Maryann Royster", + "country": { + "name": "Belarus", + "code": "by" + }, + "company": "Franklin, Peter L Esq", + "date": "2017-03-11", + "status": "qualified", + "activity": 56, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + } + }, + { + "id": 1024, + "name": "Alisha Slusarski", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Wtlz Power 107 Fm", + "date": "2018-03-27", + "status": "qualified", + "activity": 7, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + } + }, + { + "id": 1025, + "name": "Allene Iturbide", + "country": { + "name": "Italy", + "code": "it" + }, + "company": "Ledecky, David Esq", + "date": "2016-02-20", + "status": "qualified", + "activity": 1, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1026, + "name": "Chanel Caudy", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "Professional Image Inc", + "date": "2018-06-24", + "status": "new", + "activity": 26, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1027, + "name": "Ezekiel Chui", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Sider, Donald C Esq", + "date": "2016-09-24", + "status": "new", + "activity": 76, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1028, + "name": "Willow Kusko", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "U Pull It", + "date": "2020-04-11", + "status": "qualified", + "activity": 7, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1029, + "name": "Bernardo Figeroa", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Clark, Richard Cpa", + "date": "2018-04-11", + "status": "renewal", + "activity": 81, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1030, + "name": "Ammie Corrio", + "country": { + "name": "Hungary", + "code": "hu" + }, + "company": "Moskowitz, Barry S", + "date": "2016-06-11", + "status": "negotiation", + "activity": 56, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1031, + "name": "Francine Vocelka", + "country": { + "name": "Honduras", + "code": "hn" + }, + "company": "Cascade Realty Advisors Inc", + "date": "2017-08-02", + "status": "qualified", + "activity": 94, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1032, + "name": "Ernie Stenseth", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Knwz Newsradio", + "date": "2018-06-06", + "status": "renewal", + "activity": 68, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1033, + "name": "Albina Glick", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Giampetro, Anthony D", + "date": "2019-08-08", + "status": "proposal", + "activity": 85, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + } + }, + { + "id": 1034, + "name": "Alishia Sergi", + "country": { + "name": "Qatar", + "code": "qa" + }, + "company": "Milford Enterprises Inc", + "date": "2018-05-19", + "status": "negotiation", + "activity": 46, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1035, + "name": "Solange Shinko", + "country": { + "name": "Cameroon", + "code": "cm" + }, + "company": "Mosocco, Ronald A", + "date": "2015-02-12", + "status": "qualified", + "activity": 32, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1036, + "name": "Jose Stockham", + "country": { + "name": "Italy", + "code": "it" + }, + "company": "Tri State Refueler Co", + "date": "2018-04-25", + "status": "qualified", + "activity": 77, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1037, + "name": "Rozella Ostrosky", + "country": { + "name": "Venezuela", + "code": "ve" + }, + "company": "Parkway Company", + "date": "2016-02-27", + "status": "unqualified", + "activity": 66, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1038, + "name": "Valentine Gillian", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Fbs Business Finance", + "date": "2019-09-17", + "status": "qualified", + "activity": 25, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + } + }, + { + "id": 1039, + "name": "Kati Rulapaugh", + "country": { + "name": "Puerto Rico", + "code": "pr" + }, + "company": "Eder Assocs Consltng Engrs Pc", + "date": "2016-12-03", + "status": "renewal", + "activity": 51, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1040, + "name": "Youlanda Schemmer", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Tri M Tool Inc", + "date": "2017-12-15", + "status": "negotiation", + "activity": 49, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1041, + "name": "Dyan Oldroyd", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "International Eyelets Inc", + "date": "2017-02-02", + "status": "qualified", + "activity": 5, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1042, + "name": "Roxane Campain", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Rapid Trading Intl", + "date": "2018-12-25", + "status": "unqualified", + "activity": 100, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + } + }, + { + "id": 1043, + "name": "Lavera Perin", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Abc Enterprises Inc", + "date": "2018-04-10", + "status": "qualified", + "activity": 71, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + } + }, + { + "id": 1044, + "name": "Erick Ferencz", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Cindy Turner Associates", + "date": "2018-05-06", + "status": "unqualified", + "activity": 54, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1045, + "name": "Fatima Saylors", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Stanton, James D Esq", + "date": "2019-07-10", + "status": "renewal", + "activity": 93, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1046, + "name": "Jina Briddick", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "Grace Pastries Inc", + "date": "2018-02-19", + "status": "unqualified", + "activity": 97, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1047, + "name": "Kanisha Waycott", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "Schroer, Gene E Esq", + "date": "2019-11-27", + "status": "new", + "activity": 80, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1048, + "name": "Emerson Bowley", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Knights Inn", + "date": "2018-11-24", + "status": "new", + "activity": 63, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + } + }, + { + "id": 1049, + "name": "Blair Malet", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Bollinger Mach Shp \u0026 Shipyard", + "date": "2018-04-19", + "status": "new", + "activity": 92, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + } + ] +} diff --git a/public/demo/data/customers-mixed.json b/public/demo/data/customers-mixed.json new file mode 100644 index 0000000..a7a2341 --- /dev/null +++ b/public/demo/data/customers-mixed.json @@ -0,0 +1,3603 @@ +{ + "data": [{ + "id": 1198, + "name": "Gracia Melnyk", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "Juvenile & Adult Super", + "date": "2019-06-01", + "status": "unqualified", + "verified": true, + "activity": 40, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 87668 + }, + { + "id": 1043, + "name": "Lavera Perin", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Abc Enterprises Inc", + "date": "2018-04-10", + "status": "qualified", + "verified": false, + "activity": 71, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 35740 + }, + { + "id": 1113, + "name": "Rolland Francescon", + "country": { + "name": "United Kingdom", + "code": "gb" + }, + "company": "Stanley, Richard L Esq", + "date": "2019-02-03", + "status": "qualified", + "verified": false, + "activity": 45, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 40930 + }, + { + "id": 1114, + "name": "Pamella Schmierer", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "K Cs Cstm Mouldings Windows", + "date": "2016-09-22", + "status": "unqualified", + "verified": true, + "activity": 34, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 40847 + }, + { + "id": 1058, + "name": "Delmy Ahle", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Wye Technologies Inc", + "date": "2020-10-05", + "status": "unqualified", + "verified": false, + "activity": 55, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 11723 + }, + { + "id": 1059, + "name": "Deeanna Juhas", + "country": { + "name": "Sweden", + "code": "se" + }, + "company": "Healy, George W Iv", + "date": "2018-09-28", + "status": "negotiation", + "verified": false, + "activity": 79, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 8454 + }, + { + "id": 1044, + "name": "Erick Ferencz", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Cindy Turner Associates", + "date": "2018-05-06", + "status": "unqualified", + "verified": true, + "activity": 54, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 30790 + }, + { + "id": 1002, + "name": "Art Venere", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Chemel, James L Cpa", + "date": "2017-05-13", + "status": "qualified", + "verified": false, + "activity": 63, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 28334 + }, + { + "id": 1003, + "name": "Lenna Paprocki", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Feltz Printing Service", + "date": "2020-09-15", + "status": "new", + "verified": false, + "activity": 37, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 88521 + }, + { + "id": 1004, + "name": "Donette Foller", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Printing Dimensions", + "date": "2016-05-20", + "status": "proposal", + "verified": true, + "activity": 33, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 93905 + }, + { + "id": 1006, + "name": "Mitsue Tollner", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Morlong Associates", + "date": "2018-02-19", + "status": "renewal", + "verified": true, + "activity": 54, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 58706 + }, + { + "id": 1007, + "name": "Leota Dilliard", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Commercial Press", + "date": "2019-08-13", + "status": "renewal", + "verified": true, + "activity": 69, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 26640 + }, + { + "id": 1009, + "name": "Kris Marrier", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "King, Christopher A Esq", + "date": "2015-07-07", + "status": "proposal", + "verified": false, + "activity": 3, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 63451 + }, + { + "id": 1010, + "name": "Minna Amigon", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Dorl, James J Esq", + "date": "2018-11-07", + "status": "qualified", + "verified": false, + "activity": 38, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 71169 + }, + { + "id": 1011, + "name": "Abel Maclead", + "country": { + "name": "Singapore", + "code": "sg" + }, + "company": "Rangoni Of Florence", + "date": "2017-03-11", + "status": "qualified", + "verified": true, + "activity": 87, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 96842 + }, + { + "id": 1012, + "name": "Kiley Caldarera", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Feiner Bros", + "date": "2015-10-20", + "status": "unqualified", + "verified": false, + "activity": 80, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 92734 + }, + { + "id": 1013, + "name": "Graciela Ruta", + "country": { + "name": "Chile", + "code": "cl" + }, + "company": "Buckley Miller & Wright", + "date": "2016-07-25", + "status": "negotiation", + "verified": false, + "activity": 59, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 45250 + }, + { + "id": 1014, + "name": "Cammy Albares", + "country": { + "name": "Philippines", + "code": "ph" + }, + "company": "Rousseaux, Michael Esq", + "date": "2019-06-25", + "status": "new", + "verified": true, + "activity": 90, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 30236 + }, + { + "id": 1015, + "name": "Mattie Poquette", + "country": { + "name": "Venezuela", + "code": "ve" + }, + "company": "Century Communications", + "date": "2017-12-12", + "status": "negotiation", + "verified": false, + "activity": 52, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 64533 + }, + { + "id": 1016, + "name": "Meaghan Garufi", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Bolton, Wilbur Esq", + "date": "2018-07-04", + "status": "unqualified", + "verified": false, + "activity": 31, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 37279 + }, + { + "id": 1017, + "name": "Gladys Rim", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "T M Byxbee Company Pc", + "date": "2020-02-27", + "status": "renewal", + "verified": true, + "activity": 48, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 27381 + }, + { + "id": 1018, + "name": "Yuki Whobrey", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Farmers Insurance Group", + "date": "2017-12-21", + "status": "negotiation", + "verified": true, + "activity": 16, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 9257 + }, + { + "id": 1019, + "name": "Fletcher Flosi", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "Post Box Services Plus", + "date": "2016-01-04", + "status": "renewal", + "verified": true, + "activity": 19, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 67783 + }, + { + "id": 1020, + "name": "Bette Nicka", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Sport En Art", + "date": "2016-10-21", + "status": "renewal", + "verified": false, + "activity": 100, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 4609 + }, + { + "id": 1021, + "name": "Veronika Inouye", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "C 4 Network Inc", + "date": "2017-03-24", + "status": "renewal", + "verified": false, + "activity": 72, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 26565 + }, + { + "id": 1022, + "name": "Willard Kolmetz", + "country": { + "name": "Tunisia", + "code": "tn" + }, + "company": "Ingalls, Donald R Esq", + "date": "2017-04-15", + "status": "renewal", + "verified": true, + "activity": 94, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 75876 + }, + { + "id": 1023, + "name": "Maryann Royster", + "country": { + "name": "Belarus", + "code": "by" + }, + "company": "Franklin, Peter L Esq", + "date": "2017-03-11", + "status": "qualified", + "verified": false, + "activity": 56, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 41121 + }, + { + "id": 1024, + "name": "Alisha Slusarski", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Wtlz Power 107 Fm", + "date": "2018-03-27", + "status": "qualified", + "verified": true, + "activity": 7, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 91691 + }, + { + "id": 1025, + "name": "Allene Iturbide", + "country": { + "name": "Italy", + "code": "it" + }, + "company": "Ledecky, David Esq", + "date": "2016-02-20", + "status": "qualified", + "verified": true, + "activity": 1, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 40137 + }, + { + "id": 1026, + "name": "Chanel Caudy", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "Professional Image Inc", + "date": "2018-06-24", + "status": "new", + "verified": true, + "activity": 26, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 21304 + }, + { + "id": 1027, + "name": "Ezekiel Chui", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Sider, Donald C Esq", + "date": "2016-09-24", + "status": "new", + "verified": false, + "activity": 76, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 60454 + }, + { + "id": 1028, + "name": "Willow Kusko", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "U Pull It", + "date": "2020-04-11", + "status": "qualified", + "verified": true, + "activity": 7, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 17565 + }, + { + "id": 1029, + "name": "Bernardo Figeroa", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Clark, Richard Cpa", + "date": "2018-04-11", + "status": "renewal", + "verified": true, + "activity": 81, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 17774 + }, + { + "id": 1030, + "name": "Ammie Corrio", + "country": { + "name": "Hungary", + "code": "hu" + }, + "company": "Moskowitz, Barry S", + "date": "2016-06-11", + "status": "negotiation", + "verified": true, + "activity": 56, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 49201 + }, + { + "id": 1031, + "name": "Francine Vocelka", + "country": { + "name": "Honduras", + "code": "hn" + }, + "company": "Cascade Realty Advisors Inc", + "date": "2017-08-02", + "status": "qualified", + "verified": true, + "activity": 94, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 67126 + }, + { + "id": 1032, + "name": "Ernie Stenseth", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Knwz Newsradio", + "date": "2018-06-06", + "status": "renewal", + "verified": true, + "activity": 68, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 76017 + }, + { + "id": 1033, + "name": "Albina Glick", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Giampetro, Anthony D", + "date": "2019-08-08", + "status": "proposal", + "verified": true, + "activity": 85, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 91201 + }, + { + "id": 1034, + "name": "Alishia Sergi", + "country": { + "name": "Qatar", + "code": "qa" + }, + "company": "Milford Enterprises Inc", + "date": "2018-05-19", + "status": "negotiation", + "verified": false, + "activity": 46, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 12237 + }, + { + "id": 1035, + "name": "Solange Shinko", + "country": { + "name": "Cameroon", + "code": "cm" + }, + "company": "Mosocco, Ronald A", + "date": "2015-02-12", + "status": "qualified", + "verified": true, + "activity": 32, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 34072 + }, + { + "id": 1036, + "name": "Jose Stockham", + "country": { + "name": "Italy", + "code": "it" + }, + "company": "Tri State Refueler Co", + "date": "2018-04-25", + "status": "qualified", + "verified": true, + "activity": 77, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 94909 + }, + { + "id": 1037, + "name": "Rozella Ostrosky", + "country": { + "name": "Venezuela", + "code": "ve" + }, + "company": "Parkway Company", + "date": "2016-02-27", + "status": "unqualified", + "verified": true, + "activity": 66, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 57245 + }, + { + "id": 1000, + "name": "James Butt", + "country": { + "name": "Algeria", + "code": "dz" + }, + "company": "Benton, John B Jr", + "date": "2015-09-13", + "status": "unqualified", + "verified": true, + "activity": 17, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 70663 + }, + { + "id": 1001, + "name": "Josephine Darakjy", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chanay, Jeffrey A Esq", + "date": "2019-02-09", + "status": "proposal", + "verified": true, + "activity": 0, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 82429 + }, + { + "id": 1038, + "name": "Valentine Gillian", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Fbs Business Finance", + "date": "2019-09-17", + "status": "qualified", + "verified": true, + "activity": 25, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 75502 + }, + { + "id": 1039, + "name": "Kati Rulapaugh", + "country": { + "name": "Puerto Rico", + "code": "pr" + }, + "company": "Eder Assocs Consltng Engrs Pc", + "date": "2016-12-03", + "status": "renewal", + "verified": false, + "activity": 51, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 82075 + }, + { + "id": 1040, + "name": "Youlanda Schemmer", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Tri M Tool Inc", + "date": "2017-12-15", + "status": "negotiation", + "verified": true, + "activity": 49, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 19208 + }, + { + "id": 1041, + "name": "Dyan Oldroyd", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "International Eyelets Inc", + "date": "2017-02-02", + "status": "qualified", + "verified": false, + "activity": 5, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 50194 + }, + { + "id": 1042, + "name": "Roxane Campain", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Rapid Trading Intl", + "date": "2018-12-25", + "status": "unqualified", + "verified": false, + "activity": 100, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 77714 + }, + { + "id": 1045, + "name": "Fatima Saylors", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Stanton, James D Esq", + "date": "2019-07-10", + "status": "renewal", + "verified": true, + "activity": 93, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 52343 + }, + { + "id": 1046, + "name": "Jina Briddick", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "Grace Pastries Inc", + "date": "2018-02-19", + "status": "unqualified", + "verified": false, + "activity": 97, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 53966 + }, + { + "id": 1047, + "name": "Kanisha Waycott", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "Schroer, Gene E Esq", + "date": "2019-11-27", + "status": "new", + "verified": false, + "activity": 80, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 9920 + }, + { + "id": 1048, + "name": "Emerson Bowley", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Knights Inn", + "date": "2018-11-24", + "status": "new", + "verified": false, + "activity": 63, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 78069 + }, + { + "id": 1049, + "name": "Blair Malet", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Bollinger Mach Shp & Shipyard", + "date": "2018-04-19", + "status": "new", + "verified": true, + "activity": 92, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 65005 + }, + { + "id": 1050, + "name": "Brock Bolognia", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Orinda News", + "date": "2019-09-06", + "status": "renewal", + "verified": true, + "activity": 72, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 51038 + }, + { + "id": 1051, + "name": "Lorrie Nestle", + "country": { + "name": "Germany", + "code": "de" + }, + "company": "Ballard Spahr Andrews", + "date": "2018-04-26", + "status": "renewal", + "verified": false, + "activity": 36, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 28218 + }, + { + "id": 1052, + "name": "Sabra Uyetake", + "country": { + "name": "Peru", + "code": "pe" + }, + "company": "Lowy Limousine Service", + "date": "2018-04-12", + "status": "new", + "verified": false, + "activity": 31, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 78527 + }, + { + "id": 1053, + "name": "Marjory Mastella", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Vicon Corporation", + "date": "2018-01-24", + "status": "negotiation", + "verified": false, + "activity": 89, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 23381 + }, + { + "id": 1054, + "name": "Karl Klonowski", + "country": { + "name": "Saudi Arabia", + "code": "sa" + }, + "company": "Rossi, Michael M", + "date": "2017-04-17", + "status": "unqualified", + "verified": true, + "activity": 27, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 64821 + }, + { + "id": 1055, + "name": "Tonette Wenner", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Northwest Publishing", + "date": "2019-04-14", + "status": "qualified", + "verified": false, + "activity": 27, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 55334 + }, + { + "id": 1056, + "name": "Amber Monarrez", + "country": { + "name": "Sweden", + "code": "se" + }, + "company": "Branford Wire & Mfg Co", + "date": "2019-09-09", + "status": "new", + "verified": false, + "activity": 79, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 83391 + }, + { + "id": 1008, + "name": "Sage Wieser", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Truhlar And Truhlar Attys", + "date": "2018-11-21", + "status": "unqualified", + "verified": true, + "activity": 76, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 65369 + }, + { + "id": 1057, + "name": "Shenika Seewald", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "East Coast Marketing", + "date": "2017-02-18", + "status": "renewal", + "verified": true, + "activity": 39, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 31580 + }, + { + "id": 1060, + "name": "Blondell Pugh", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Alpenlite Inc", + "date": "2016-06-16", + "status": "renewal", + "verified": false, + "activity": 49, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 99235 + }, + { + "id": 1061, + "name": "Jamal Vanausdal", + "country": { + "name": "Morocco", + "code": "ma" + }, + "company": "Hubbard, Bruce Esq", + "date": "2017-05-25", + "status": "proposal", + "verified": true, + "activity": 87, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 15656 + }, + { + "id": 1062, + "name": "Cecily Hollack", + "country": { + "name": "Bolivia", + "code": "bo" + }, + "company": "Arthur A Oliver & Son Inc", + "date": "2020-05-09", + "status": "negotiation", + "verified": true, + "activity": 5, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 60586 + }, + { + "id": 1063, + "name": "Carmelina Lindall", + "country": { + "name": "Puerto Rico", + "code": "pr" + }, + "company": "George Jessop Carter Jewelers", + "date": "2019-09-07", + "status": "qualified", + "verified": true, + "activity": 77, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 86239 + }, + { + "id": 1064, + "name": "Maurine Yglesias", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Schultz, Thomas C Md", + "date": "2015-08-10", + "status": "renewal", + "verified": false, + "activity": 94, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 15621 + }, + { + "id": 1065, + "name": "Tawna Buvens", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "H H H Enterprises Inc", + "date": "2018-03-20", + "status": "new", + "verified": false, + "activity": 25, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 77248 + }, + { + "id": 1066, + "name": "Penney Weight", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Hawaiian King Hotel", + "date": "2020-03-03", + "status": "qualified", + "verified": false, + "activity": 96, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 478 + }, + { + "id": 1067, + "name": "Elly Morocco", + "country": { + "name": "Thailand", + "code": "th" + }, + "company": "Killion Industries", + "date": "2018-09-18", + "status": "qualified", + "verified": true, + "activity": 38, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 62505 + }, + { + "id": 1068, + "name": "Ilene Eroman", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Robinson, William J Esq", + "date": "2019-06-08", + "status": "new", + "verified": true, + "activity": 49, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 91480 + }, + { + "id": 1069, + "name": "Vallie Mondella", + "country": { + "name": "Latvia", + "code": "lv" + }, + "company": "Private Properties", + "date": "2018-12-06", + "status": "new", + "verified": false, + "activity": 16, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 21671 + }, + { + "id": 1070, + "name": "Kallie Blackwood", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Rowley Schlimgen Inc", + "date": "2017-04-05", + "status": "unqualified", + "verified": false, + "activity": 25, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 13775 + }, + { + "id": 1071, + "name": "Johnetta Abdallah", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Forging Specialties", + "date": "2015-02-02", + "status": "new", + "verified": false, + "activity": 16, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 60253 + }, + { + "id": 1072, + "name": "Bobbye Rhym", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Smits, Patricia Garity", + "date": "2018-08-17", + "status": "qualified", + "verified": true, + "activity": 85, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 75225 + }, + { + "id": 1073, + "name": "Micaela Rhymes", + "country": { + "name": "France", + "code": "fr" + }, + "company": "H Lee Leonard Attorney At Law", + "date": "2018-09-08", + "status": "renewal", + "verified": true, + "activity": 92, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 3308 + }, + { + "id": 1074, + "name": "Tamar Hoogland", + "country": { + "name": "Guatemala", + "code": "gt" + }, + "company": "A K Construction Co", + "date": "2018-11-13", + "status": "proposal", + "verified": true, + "activity": 22, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 19711 + }, + { + "id": 1075, + "name": "Moon Parlato", + "country": { + "name": "Czech Republic", + "code": "cz" + }, + "company": "Ambelang, Jessica M Md", + "date": "2019-08-18", + "status": "renewal", + "verified": false, + "activity": 64, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 55110 + }, + { + "id": 1076, + "name": "Laurel Reitler", + "country": { + "name": "United Kingdom", + "code": "gb" + }, + "company": "Q A Service", + "date": "2015-04-02", + "status": "negotiation", + "verified": false, + "activity": 80, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 62392 + }, + { + "id": 1077, + "name": "Delisa Crupi", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Wood & Whitacre Contractors", + "date": "2017-09-15", + "status": "unqualified", + "verified": false, + "activity": 70, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 76530 + }, + { + "id": 1078, + "name": "Viva Toelkes", + "country": { + "name": "United States", + "code": "us" + }, + "company": "Mark Iv Press Ltd", + "date": "2017-03-27", + "status": "qualified", + "verified": false, + "activity": 16, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 7460 + }, + { + "id": 1079, + "name": "Elza Lipke", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Museum Of Science & Industry", + "date": "2017-06-01", + "status": "proposal", + "verified": true, + "activity": 90, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 42251 + }, + { + "id": 1080, + "name": "Devorah Chickering", + "country": { + "name": "Spain", + "code": "es" + }, + "company": "Garrison Ind", + "date": "2017-03-14", + "status": "proposal", + "verified": true, + "activity": 96, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 36435 + }, + { + "id": 1081, + "name": "Timothy Mulqueen", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Saronix Nymph Products", + "date": "2018-07-09", + "status": "renewal", + "verified": true, + "activity": 77, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 39197 + }, + { + "id": 1082, + "name": "Arlette Honeywell", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Smc Inc", + "date": "2018-09-11", + "status": "proposal", + "verified": true, + "activity": 46, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 72707 + }, + { + "id": 1083, + "name": "Dominque Dickerson", + "country": { + "name": "Argentina", + "code": "ar" + }, + "company": "E A I Electronic Assocs Inc", + "date": "2017-11-12", + "status": "qualified", + "verified": true, + "activity": 83, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 97965 + }, + { + "id": 1084, + "name": "Lettie Isenhower", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Conte, Christopher A Esq", + "date": "2016-03-01", + "status": "qualified", + "verified": true, + "activity": 83, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 5823 + }, + { + "id": 1085, + "name": "Myra Munns", + "country": { + "name": "Lithuania", + "code": "lt" + }, + "company": "Anker Law Office", + "date": "2016-05-21", + "status": "unqualified", + "verified": true, + "activity": 49, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 96471 + }, + { + "id": 1086, + "name": "Stephaine Barfield", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Beutelschies & Company", + "date": "2016-01-22", + "status": "new", + "verified": true, + "activity": 34, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 33710 + }, + { + "id": 1087, + "name": "Lai Gato", + "country": { + "name": "Nigeria", + "code": "ng" + }, + "company": "Fligg, Kenneth I Jr", + "date": "2016-07-26", + "status": "unqualified", + "verified": false, + "activity": 64, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 30611 + }, + { + "id": 1088, + "name": "Stephen Emigh", + "country": { + "name": "Cuba", + "code": "cu" + }, + "company": "Sharp, J Daniel Esq", + "date": "2020-07-24", + "status": "renewal", + "verified": false, + "activity": 51, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 32960 + }, + { + "id": 1089, + "name": "Tyra Shields", + "country": { + "name": "Honduras", + "code": "hn" + }, + "company": "Assink, Anne H Esq", + "date": "2019-11-10", + "status": "negotiation", + "verified": false, + "activity": 11, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 57423 + }, + { + "id": 1090, + "name": "Tammara Wardrip", + "country": { + "name": "Saudi Arabia", + "code": "sa" + }, + "company": "Jewel My Shop Inc", + "date": "2016-06-05", + "status": "renewal", + "verified": true, + "activity": 64, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 23027 + }, + { + "id": 1091, + "name": "Cory Gibes", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Chinese Translation Resources", + "date": "2016-02-28", + "status": "new", + "verified": false, + "activity": 44, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 84182 + }, + { + "id": 1092, + "name": "Danica Bruschke", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Stevens, Charles T", + "date": "2018-12-13", + "status": "unqualified", + "verified": true, + "activity": 62, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 25237 + }, + { + "id": 1093, + "name": "Wilda Giguere", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Mclaughlin, Luther W Cpa", + "date": "2017-06-16", + "status": "new", + "verified": true, + "activity": 79, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 87736 + }, + { + "id": 1094, + "name": "Elvera Benimadho", + "country": { + "name": "Malaysia", + "code": "my" + }, + "company": "Tree Musketeers", + "date": "2019-02-17", + "status": "proposal", + "verified": true, + "activity": 50, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 38674 + }, + { + "id": 1095, + "name": "Carma Vanheusen", + "country": { + "name": "Turkey", + "code": "tr" + }, + "company": "Springfield Div Oh Edison Co", + "date": "2019-11-26", + "status": "renewal", + "verified": false, + "activity": 84, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 67762 + }, + { + "id": 1096, + "name": "Malinda Hochard", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Logan Memorial Hospital", + "date": "2016-07-06", + "status": "new", + "verified": false, + "activity": 88, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 81299 + }, + { + "id": 1097, + "name": "Natalie Fern", + "country": { + "name": "Canada", + "code": "ca" + }, + "company": "Kelly, Charles G Esq", + "date": "2019-10-02", + "status": "proposal", + "verified": true, + "activity": 44, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 64794 + }, + { + "id": 1098, + "name": "Lisha Centini", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Industrial Paper Shredders Inc", + "date": "2018-07-05", + "status": "new", + "verified": true, + "activity": 7, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 7815 + }, + { + "id": 1099, + "name": "Arlene Klusman", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "Beck Horizon Builders", + "date": "2018-05-14", + "status": "proposal", + "verified": true, + "activity": 99, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 37976 + }, + { + "id": 1100, + "name": "Alease Buemi", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "Porto Cayo At Hawks Cay", + "date": "2018-03-14", + "status": "unqualified", + "verified": true, + "activity": 0, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 59594 + }, + { + "id": 1101, + "name": "Louisa Cronauer", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "Pacific Grove Museum Ntrl Hist", + "date": "2018-09-23", + "status": "qualified", + "verified": false, + "activity": 3, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 92528 + }, + { + "id": 1102, + "name": "Angella Cetta", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Bender & Hatley Pc", + "date": "2018-04-10", + "status": "qualified", + "verified": false, + "activity": 88, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 58964 + }, + { + "id": 1103, + "name": "Cyndy Goldammer", + "country": { + "name": "Burkina Faso", + "code": "bf" + }, + "company": "Di Cristina J & Son", + "date": "2017-09-18", + "status": "unqualified", + "verified": false, + "activity": 92, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 65860 + }, + { + "id": 1104, + "name": "Rosio Cork", + "country": { + "name": "Singapore", + "code": "sg" + }, + "company": "Green Goddess", + "date": "2017-08-19", + "status": "negotiation", + "verified": true, + "activity": 19, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 63863 + }, + { + "id": 1105, + "name": "Celeste Korando", + "country": { + "name": "Costa Rica", + "code": "cr" + }, + "company": "American Arts & Graphics", + "date": "2020-06-18", + "status": "proposal", + "verified": true, + "activity": 21, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 37510 + }, + { + "id": 1106, + "name": "Twana Felger", + "country": { + "name": "Croatia", + "code": "hr" + }, + "company": "Opryland Hotel", + "date": "2016-11-18", + "status": "negotiation", + "verified": false, + "activity": 97, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 63876 + }, + { + "id": 1107, + "name": "Estrella Samu", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Marking Devices Pubg Co", + "date": "2017-06-25", + "status": "unqualified", + "verified": false, + "activity": 27, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 93263 + }, + { + "id": 1108, + "name": "Donte Kines", + "country": { + "name": "Slovakia", + "code": "sk" + }, + "company": "W Tc Industries Inc", + "date": "2019-02-16", + "status": "new", + "verified": true, + "activity": 35, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 57198 + }, + { + "id": 1109, + "name": "Tiffiny Steffensmeier", + "country": { + "name": "Pakistan", + "code": "pk" + }, + "company": "Whitehall Robbins Labs Divsn", + "date": "2018-03-11", + "status": "new", + "verified": true, + "activity": 81, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 89147 + }, + { + "id": 1110, + "name": "Edna Miceli", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Sampler", + "date": "2017-10-15", + "status": "renewal", + "verified": true, + "activity": 54, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 41466 + }, + { + "id": 1111, + "name": "Sue Kownacki", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "Juno Chefs Incorporated", + "date": "2017-03-17", + "status": "proposal", + "verified": false, + "activity": 31, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 38918 + }, + { + "id": 1112, + "name": "Jesusa Shin", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Carroccio, A Thomas Esq", + "date": "2017-04-06", + "status": "renewal", + "verified": false, + "activity": 28, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 11397 + }, + { + "id": 1005, + "name": "Simona Morasca", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chapman, Ross E Esq", + "date": "2018-02-16", + "status": "qualified", + "verified": false, + "activity": 68, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 50041 + }, + { + "id": 1115, + "name": "Glory Kulzer", + "country": { + "name": "Croatia", + "code": "hr" + }, + "company": "Comfort Inn", + "date": "2017-09-27", + "status": "unqualified", + "verified": true, + "activity": 36, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 27832 + }, + { + "id": 1116, + "name": "Shawna Palaspas", + "country": { + "name": "Estonia", + "code": "ee" + }, + "company": "Windsor, James L Esq", + "date": "2017-06-25", + "status": "unqualified", + "verified": true, + "activity": 69, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 89060 + }, + { + "id": 1117, + "name": "Brandon Callaro", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Jackson Shields Yeiser", + "date": "2016-07-13", + "status": "proposal", + "verified": true, + "activity": 55, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 52474 + }, + { + "id": 1118, + "name": "Scarlet Cartan", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Box, J Calvin Esq", + "date": "2018-09-13", + "status": "renewal", + "verified": false, + "activity": 1, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 19094 + }, + { + "id": 1119, + "name": "Oretha Menter", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Custom Engineering Inc", + "date": "2017-09-11", + "status": "renewal", + "verified": false, + "activity": 8, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 93756 + }, + { + "id": 1120, + "name": "Ty Smith", + "country": { + "name": "United States", + "code": "us" + }, + "company": "Bresler Eitel Framg Gllry Ltd", + "date": "2019-07-06", + "status": "unqualified", + "verified": false, + "activity": 50, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 77388 + }, + { + "id": 1121, + "name": "Xuan Rochin", + "country": { + "name": "Colombia", + "code": "co" + }, + "company": "Carol, Drake Sparks Esq", + "date": "2018-05-22", + "status": "proposal", + "verified": true, + "activity": 77, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 48759 + }, + { + "id": 1122, + "name": "Lindsey Dilello", + "country": { + "name": "Austria", + "code": "at" + }, + "company": "Biltmore Investors Bank", + "date": "2017-07-18", + "status": "renewal", + "verified": true, + "activity": 65, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 37568 + }, + { + "id": 1123, + "name": "Devora Perez", + "country": { + "name": "Uruguay", + "code": "uy" + }, + "company": "Desco Equipment Corp", + "date": "2017-10-09", + "status": "unqualified", + "verified": true, + "activity": 30, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 4477 + }, + { + "id": 1124, + "name": "Herman Demesa", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Merlin Electric Co", + "date": "2019-05-23", + "status": "proposal", + "verified": true, + "activity": 10, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 13764 + }, + { + "id": 1125, + "name": "Rory Papasergi", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Bailey Cntl Co Div Babcock", + "date": "2019-03-02", + "status": "qualified", + "verified": false, + "activity": 22, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 68222 + }, + { + "id": 1126, + "name": "Talia Riopelle", + "country": { + "name": "Guatemala", + "code": "gt" + }, + "company": "Ford Brothers Wholesale Inc", + "date": "2017-02-18", + "status": "new", + "verified": false, + "activity": 69, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 29164 + }, + { + "id": 1127, + "name": "Van Shire", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Cambridge Inn", + "date": "2020-05-12", + "status": "new", + "verified": false, + "activity": 4, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 61651 + }, + { + "id": 1128, + "name": "Lucina Lary", + "country": { + "name": "Switzerland", + "code": "ch" + }, + "company": "Matricciani, Albert J Jr", + "date": "2019-11-20", + "status": "negotiation", + "verified": true, + "activity": 11, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 79938 + }, + { + "id": 1129, + "name": "Bok Isaacs", + "country": { + "name": "Chile", + "code": "cl" + }, + "company": "Nelson Hawaiian Ltd", + "date": "2016-11-10", + "status": "proposal", + "verified": true, + "activity": 41, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 44037 + }, + { + "id": 1130, + "name": "Rolande Spickerman", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Neland Travel Agency", + "date": "2016-07-11", + "status": "renewal", + "verified": true, + "activity": 84, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 89918 + }, + { + "id": 1131, + "name": "Howard Paulas", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "Asendorf, J Alan Esq", + "date": "2017-07-17", + "status": "negotiation", + "verified": false, + "activity": 22, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 32372 + }, + { + "id": 1132, + "name": "Kimbery Madarang", + "country": { + "name": "Senegal", + "code": "sn" + }, + "company": "Silberman, Arthur L Esq", + "date": "2018-08-19", + "status": "negotiation", + "verified": true, + "activity": 63, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 46478 + }, + { + "id": 1133, + "name": "Thurman Manno", + "country": { + "name": "Colombia", + "code": "co" + }, + "company": "Honey Bee Breeding Genetics &", + "date": "2016-05-02", + "status": "qualified", + "verified": true, + "activity": 47, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 30674 + }, + { + "id": 1134, + "name": "Becky Mirafuentes", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Wells Kravitz Schnitzer", + "date": "2018-04-13", + "status": "unqualified", + "verified": true, + "activity": 62, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 47714 + }, + { + "id": 1135, + "name": "Beatriz Corrington", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Prohab Rehabilitation Servs", + "date": "2020-01-04", + "status": "renewal", + "verified": true, + "activity": 55, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 14307 + }, + { + "id": 1136, + "name": "Marti Maybury", + "country": { + "name": "Thailand", + "code": "th" + }, + "company": "Eldridge, Kristin K Esq", + "date": "2016-02-05", + "status": "unqualified", + "verified": false, + "activity": 3, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 82069 + }, + { + "id": 1137, + "name": "Nieves Gotter", + "country": { + "name": "Latvia", + "code": "lv" + }, + "company": "Vlahos, John J Esq", + "date": "2017-03-12", + "status": "proposal", + "verified": false, + "activity": 3, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 11182 + }, + { + "id": 1138, + "name": "Leatha Hagele", + "country": { + "name": "Ukraine", + "code": "ua" + }, + "company": "Ninas Indian Grs & Videos", + "date": "2019-03-27", + "status": "unqualified", + "verified": false, + "activity": 67, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 17126 + }, + { + "id": 1139, + "name": "Valentin Klimek", + "country": { + "name": "Ivory Coast", + "code": "ci" + }, + "company": "Schmid, Gayanne K Esq", + "date": "2019-08-06", + "status": "unqualified", + "verified": true, + "activity": 14, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 19724 + }, + { + "id": 1140, + "name": "Melissa Wiklund", + "country": { + "name": "Japan", + "code": "jp" + }, + "company": "Moapa Valley Federal Credit Un", + "date": "2018-03-20", + "status": "qualified", + "verified": true, + "activity": 8, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 91888 + }, + { + "id": 1141, + "name": "Sheridan Zane", + "country": { + "name": "Croatia", + "code": "hr" + }, + "company": "Kentucky Tennessee Clay Co", + "date": "2016-02-15", + "status": "qualified", + "verified": true, + "activity": 17, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 15016 + }, + { + "id": 1142, + "name": "Bulah Padilla", + "country": { + "name": "Philippines", + "code": "ph" + }, + "company": "Admiral Party Rentals & Sales", + "date": "2016-02-10", + "status": "proposal", + "verified": false, + "activity": 58, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 23118 + }, + { + "id": 1143, + "name": "Audra Kohnert", + "country": { + "name": "Netherlands", + "code": "nl" + }, + "company": "Nelson, Karolyn King Esq", + "date": "2019-07-16", + "status": "unqualified", + "verified": false, + "activity": 82, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 90560 + }, + { + "id": 1144, + "name": "Daren Weirather", + "country": { + "name": "Israel", + "code": "il" + }, + "company": "Panasystems", + "date": "2015-07-23", + "status": "negotiation", + "verified": false, + "activity": 96, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 34155 + }, + { + "id": 1145, + "name": "Fernanda Jillson", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "Shank, Edward L Esq", + "date": "2017-07-02", + "status": "unqualified", + "verified": true, + "activity": 92, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 6350 + }, + { + "id": 1146, + "name": "Gearldine Gellinger", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Megibow & Edwards", + "date": "2019-08-17", + "status": "proposal", + "verified": true, + "activity": 18, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 77641 + }, + { + "id": 1147, + "name": "Chau Kitzman", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Benoff, Edward Esq", + "date": "2019-07-04", + "status": "new", + "verified": true, + "activity": 9, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 43289 + }, + { + "id": 1148, + "name": "Theola Frey", + "country": { + "name": "Vietnam", + "code": "vn" + }, + "company": "Woodbridge Free Public Library", + "date": "2020-03-14", + "status": "unqualified", + "verified": true, + "activity": 44, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 85657 + }, + { + "id": 1149, + "name": "Cheryl Haroldson", + "country": { + "name": "France", + "code": "fr" + }, + "company": "New York Life John Thune", + "date": "2018-04-03", + "status": "new", + "verified": false, + "activity": 55, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 82733 + }, + { + "id": 1150, + "name": "Laticia Merced", + "country": { + "name": "Burkina Faso", + "code": "bf" + }, + "company": "Alinabal Inc", + "date": "2017-03-04", + "status": "unqualified", + "verified": false, + "activity": 21, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 38004 + }, + { + "id": 1151, + "name": "Carissa Batman", + "country": { + "name": "Greece", + "code": "gr" + }, + "company": "Poletto, Kim David Esq", + "date": "2016-05-05", + "status": "negotiation", + "verified": true, + "activity": 91, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 29038 + }, + { + "id": 1152, + "name": "Lezlie Craghead", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Chang, Carolyn Esq", + "date": "2019-05-28", + "status": "renewal", + "verified": false, + "activity": 30, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 75123 + }, + { + "id": 1153, + "name": "Ozell Shealy", + "country": { + "name": "Pakistan", + "code": "pk" + }, + "company": "Silver Bros Inc", + "date": "2016-08-19", + "status": "proposal", + "verified": true, + "activity": 14, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 33214 + }, + { + "id": 1154, + "name": "Arminda Parvis", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "Newtec Inc", + "date": "2020-02-09", + "status": "proposal", + "verified": true, + "activity": 77, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 80651 + }, + { + "id": 1155, + "name": "Reita Leto", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Creative Business Systems", + "date": "2020-04-03", + "status": "unqualified", + "verified": true, + "activity": 58, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 5085 + }, + { + "id": 1156, + "name": "Yolando Luczki", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Dal Tile Corporation", + "date": "2015-01-27", + "status": "renewal", + "verified": true, + "activity": 78, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 93021 + }, + { + "id": 1157, + "name": "Lizette Stem", + "country": { + "name": "Slovakia", + "code": "sk" + }, + "company": "Edward S Katz", + "date": "2018-08-06", + "status": "new", + "verified": false, + "activity": 67, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 37287 + }, + { + "id": 1158, + "name": "Gregoria Pawlowicz", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Oh My Goodknits Inc", + "date": "2020-02-20", + "status": "renewal", + "verified": false, + "activity": 29, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 73070 + }, + { + "id": 1159, + "name": "Carin Deleo", + "country": { + "name": "China", + "code": "cn" + }, + "company": "Redeker, Debbie", + "date": "2015-05-28", + "status": "qualified", + "verified": true, + "activity": 13, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 64422 + }, + { + "id": 1160, + "name": "Chantell Maynerich", + "country": { + "name": "Estonia", + "code": "ee" + }, + "company": "Desert Sands Motel", + "date": "2016-09-05", + "status": "unqualified", + "verified": true, + "activity": 75, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 36826 + }, + { + "id": 1161, + "name": "Dierdre Yum", + "country": { + "name": "Czech Republic", + "code": "cz" + }, + "company": "Cummins Southern Plains Inc", + "date": "2016-12-20", + "status": "negotiation", + "verified": true, + "activity": 1, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 93101 + }, + { + "id": 1162, + "name": "Larae Gudroe", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Lehigh Furn Divsn Lehigh", + "date": "2015-11-28", + "status": "unqualified", + "verified": false, + "activity": 13, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 60177 + }, + { + "id": 1163, + "name": "Latrice Tolfree", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "United Van Lines Agent", + "date": "2018-11-11", + "status": "renewal", + "verified": false, + "activity": 73, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 47198 + }, + { + "id": 1164, + "name": "Kerry Theodorov", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Capitol Reporters", + "date": "2016-11-05", + "status": "unqualified", + "verified": true, + "activity": 76, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 71305 + }, + { + "id": 1165, + "name": "Dorthy Hidvegi", + "country": { + "name": "Poland", + "code": "pl" + }, + "company": "Kwik Kopy Printing", + "date": "2020-08-13", + "status": "qualified", + "verified": true, + "activity": 60, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 17526 + }, + { + "id": 1166, + "name": "Fannie Lungren", + "country": { + "name": "Belarus", + "code": "by" + }, + "company": "Centro Inc", + "date": "2015-07-06", + "status": "negotiation", + "verified": true, + "activity": 24, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 16596 + }, + { + "id": 1167, + "name": "Evangelina Radde", + "country": { + "name": "Ivory Coast", + "code": "ci" + }, + "company": "Campbell, Jan Esq", + "date": "2020-02-25", + "status": "unqualified", + "verified": true, + "activity": 93, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 56870 + }, + { + "id": 1168, + "name": "Novella Degroot", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Evans, C Kelly Esq", + "date": "2017-12-19", + "status": "unqualified", + "verified": false, + "activity": 30, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 82928 + }, + { + "id": 1169, + "name": "Clay Hoa", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Scat Enterprises", + "date": "2016-02-22", + "status": "negotiation", + "verified": false, + "activity": 93, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + "balance": 64181 + }, + { + "id": 1170, + "name": "Jennifer Fallick", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Nagle, Daniel J Esq", + "date": "2016-12-24", + "status": "unqualified", + "verified": true, + "activity": 88, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 30561 + }, + { + "id": 1171, + "name": "Irma Wolfgramm", + "country": { + "name": "Belgium", + "code": "be" + }, + "company": "Serendiquity Bed & Breakfast", + "date": "2020-10-18", + "status": "negotiation", + "verified": true, + "activity": 70, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 24617 + }, + { + "id": 1172, + "name": "Eun Coody", + "country": { + "name": "Taiwan", + "code": "tw" + }, + "company": "Ray Carolyne Realty", + "date": "2018-02-12", + "status": "qualified", + "verified": true, + "activity": 61, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 77860 + }, + { + "id": 1173, + "name": "Sylvia Cousey", + "country": { + "name": "Ireland", + "code": "ie" + }, + "company": "Berg, Charles E", + "date": "2018-06-10", + "status": "unqualified", + "verified": false, + "activity": 91, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 25664 + }, + { + "id": 1174, + "name": "Nana Wrinkles", + "country": { + "name": "Austria", + "code": "at" + }, + "company": "Ray, Milbern D", + "date": "2017-04-11", + "status": "renewal", + "verified": true, + "activity": 98, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 98113 + }, + { + "id": 1175, + "name": "Layla Springe", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Chadds Ford Winery", + "date": "2019-07-27", + "status": "unqualified", + "verified": true, + "activity": 97, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + "balance": 14763 + }, + { + "id": 1176, + "name": "Joesph Degonia", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "A R Packaging", + "date": "2020-04-23", + "status": "renewal", + "verified": true, + "activity": 56, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 31317 + }, + { + "id": 1177, + "name": "Annabelle Boord", + "country": { + "name": "Guatemala", + "code": "gt" + }, + "company": "Corn Popper", + "date": "2020-09-16", + "status": "proposal", + "verified": true, + "activity": 76, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 30883 + }, + { + "id": 1178, + "name": "Stephaine Vinning", + "country": { + "name": "Australia", + "code": "au" + }, + "company": "Birite Foodservice Distr", + "date": "2016-05-14", + "status": "negotiation", + "verified": true, + "activity": 43, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 93785 + }, + { + "id": 1179, + "name": "Nelida Sawchuk", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Anchorage Museum Of Hist & Art", + "date": "2018-06-22", + "status": "qualified", + "verified": true, + "activity": 58, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 68380 + }, + { + "id": 1180, + "name": "Marguerita Hiatt", + "country": { + "name": "United Kingdom", + "code": "gb" + }, + "company": "Haber, George D Md", + "date": "2018-10-25", + "status": "qualified", + "verified": false, + "activity": 72, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 93454 + }, + { + "id": 1181, + "name": "Carmela Cookey", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Royal Pontiac Olds Inc", + "date": "2018-07-19", + "status": "proposal", + "verified": false, + "activity": 24, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 30570 + }, + { + "id": 1182, + "name": "Junita Brideau", + "country": { + "name": "Indonesia", + "code": "id" + }, + "company": "Leonards Antiques Inc", + "date": "2015-03-15", + "status": "proposal", + "verified": true, + "activity": 86, + "representative": { + "name": "Anna Fali", + "image": "annafali.png" + }, + "balance": 79506 + }, + { + "id": 1183, + "name": "Claribel Varriano", + "country": { + "name": "Ecuador", + "code": "ec" + }, + "company": "Meca", + "date": "2017-04-14", + "status": "unqualified", + "verified": true, + "activity": 15, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 8654 + }, + { + "id": 1184, + "name": "Benton Skursky", + "country": { + "name": "Iceland", + "code": "is" + }, + "company": "Nercon Engineering & Mfg Inc", + "date": "2015-02-19", + "status": "proposal", + "verified": true, + "activity": 9, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 13368 + }, + { + "id": 1185, + "name": "Hillary Skulski", + "country": { + "name": "France", + "code": "fr" + }, + "company": "Replica I", + "date": "2016-03-25", + "status": "unqualified", + "verified": true, + "activity": 82, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 92631 + }, + { + "id": 1186, + "name": "Merilyn Bayless", + "country": { + "name": "Jamaica", + "code": "jm" + }, + "company": "20 20 Printing Inc", + "date": "2020-10-13", + "status": "unqualified", + "verified": true, + "activity": 13, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 4989 + }, + { + "id": 1187, + "name": "Teri Ennaco", + "country": { + "name": "Pakistan", + "code": "pk" + }, + "company": "Publishers Group West", + "date": "2019-12-21", + "status": "unqualified", + "verified": true, + "activity": 57, + "representative": { + "name": "Bernardo Dominic", + "image": "bernardodominic.png" + }, + "balance": 77668 + }, + { + "id": 1188, + "name": "Merlyn Lawler", + "country": { + "name": "Germany", + "code": "de" + }, + "company": "Nischwitz, Jeffrey L Esq", + "date": "2016-02-26", + "status": "renewal", + "verified": true, + "activity": 45, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 3525 + }, + { + "id": 1189, + "name": "Georgene Montezuma", + "country": { + "name": "Senegal", + "code": "sn" + }, + "company": "Payne Blades & Wellborn Pa", + "date": "2018-10-11", + "status": "new", + "verified": true, + "activity": 64, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 45838 + }, + { + "id": 1190, + "name": "Jettie Mconnell", + "country": { + "name": "Denmark", + "code": "dk" + }, + "company": "Coldwell Bnkr Wright Real Est", + "date": "2015-10-18", + "status": "negotiation", + "verified": false, + "activity": 74, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 49148 + }, + { + "id": 1191, + "name": "Lemuel Latzke", + "country": { + "name": "Colombia", + "code": "co" + }, + "company": "Computer Repair Service", + "date": "2016-02-13", + "status": "proposal", + "verified": false, + "activity": 79, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 96709 + }, + { + "id": 1192, + "name": "Melodie Knipp", + "country": { + "name": "Finland", + "code": "fi" + }, + "company": "Fleetwood Building Block Inc", + "date": "2018-03-08", + "status": "negotiation", + "verified": false, + "activity": 19, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + "balance": 23253 + }, + { + "id": 1193, + "name": "Candida Corbley", + "country": { + "name": "Poland", + "code": "pl" + }, + "company": "Colts Neck Medical Assocs Inc", + "date": "2017-12-02", + "status": "negotiation", + "verified": true, + "activity": 11, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + "balance": 40836 + }, + { + "id": 1194, + "name": "Karan Karpin", + "country": { + "name": "Estonia", + "code": "ee" + }, + "company": "New England Taxidermy", + "date": "2019-01-07", + "status": "proposal", + "verified": true, + "activity": 4, + "representative": { + "name": "Stephen Shaw", + "image": "stephenshaw.png" + }, + "balance": 60719 + }, + { + "id": 1195, + "name": "Andra Scheyer", + "country": { + "name": "Romania", + "code": "ro" + }, + "company": "Ludcke, George O Esq", + "date": "2016-08-14", + "status": "qualified", + "verified": true, + "activity": 62, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 17419 + }, + { + "id": 1196, + "name": "Felicidad Poullion", + "country": { + "name": "Greece", + "code": "gr" + }, + "company": "Mccorkle, Tom S Esq", + "date": "2016-03-05", + "status": "renewal", + "verified": true, + "activity": 64, + "representative": { + "name": "Elwin Sharvill", + "image": "elwinsharvill.png" + }, + "balance": 94052 + }, + { + "id": 1197, + "name": "Belen Strassner", + "country": { + "name": "Ivory Coast", + "code": "ci" + }, + "company": "Eagle Software Inc", + "date": "2015-12-14", + "status": "qualified", + "verified": true, + "activity": 91, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + "balance": 54241 + }, + { + "id": 1199, + "name": "Jolanda Hanafan", + "country": { + "name": "Cameroon", + "code": "cm" + }, + "company": "Perez, Joseph J Esq", + "date": "2015-12-09", + "status": "qualified", + "verified": true, + "activity": 27, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + "balance": 99417 + } + ] +} \ No newline at end of file diff --git a/public/demo/data/customers-small.json b/public/demo/data/customers-small.json new file mode 100644 index 0000000..2fcd25b --- /dev/null +++ b/public/demo/data/customers-small.json @@ -0,0 +1,164 @@ +{ + "data": [ + { + "id": 1000, + "name": "James Butt", + "country": { + "name": "Algeria", + "code": "dz" + }, + "company": "Benton, John B Jr", + "date": "2015-09-13", + "status": "unqualified", + "activity": 17, + "representative": { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + }, + { + "id": 1001, + "name": "Josephine Darakjy", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chanay, Jeffrey A Esq", + "date": "2019-02-09", + "status": "proposal", + "activity": 0, + "representative": { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + }, + { + "id": 1002, + "name": "Art Venere", + "country": { + "name": "Panama", + "code": "pa" + }, + "company": "Chemel, James L Cpa", + "date": "2017-05-13", + "status": "qualified", + "activity": 63, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1003, + "name": "Lenna Paprocki", + "country": { + "name": "Slovenia", + "code": "si" + }, + "company": "Feltz Printing Service", + "date": "2020-09-15", + "status": "new", + "activity": 37, + "representative": { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + }, + { + "id": 1004, + "name": "Donette Foller", + "country": { + "name": "South Africa", + "code": "za" + }, + "company": "Printing Dimensions", + "date": "2016-05-20", + "status": "proposal", + "activity": 33, + "representative": { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + }, + { + "id": 1005, + "name": "Simona Morasca", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Chapman, Ross E Esq", + "date": "2018-02-16", + "status": "qualified", + "activity": 68, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1006, + "name": "Mitsue Tollner", + "country": { + "name": "Paraguay", + "code": "py" + }, + "company": "Morlong Associates", + "date": "2018-02-19", + "status": "renewal", + "activity": 54, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1007, + "name": "Leota Dilliard", + "country": { + "name": "Serbia", + "code": "rs" + }, + "company": "Commercial Press", + "date": "2019-08-13", + "status": "renewal", + "activity": 69, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + }, + { + "id": 1008, + "name": "Sage Wieser", + "country": { + "name": "Egypt", + "code": "eg" + }, + "company": "Truhlar And Truhlar Attys", + "date": "2018-11-21", + "status": "unqualified", + "activity": 76, + "representative": { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + }, + { + "id": 1009, + "name": "Kris Marrier", + "country": { + "name": "Mexico", + "code": "mx" + }, + "company": "King, Christopher A Esq", + "date": "2015-07-07", + "status": "proposal", + "activity": 3, + "representative": { + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + } + ] +} diff --git a/public/demo/data/file-management.json b/public/demo/data/file-management.json new file mode 100644 index 0000000..45a8c61 --- /dev/null +++ b/public/demo/data/file-management.json @@ -0,0 +1,200 @@ +{ + "files": [ + { + "name": "nature.jpeg", + "icon": "pi pi-image", + "date": "29 Jul 2021", + "fileSize": "12 MB" + }, + { + "name": "report.pdf", + "icon": "pi pi-image", + "date": "29 Jul 2021", + "fileSize": "6 MB" + }, + { + "name": "screenshot.jpeg", + "icon": "pi pi-image", + "date": "29 Jul 2021", + "fileSize": "32 MB" + }, + { + "name": "sales.xls", + "icon": "pi pi-file-excel", + "date": "29 Jul 2021", + "fileSize": "12 MB" + }, + { + "name": "cv.pdf", + "icon": "pi pi-file-pdf", + "date": "29 Jul 2021", + "fileSize": "1.6 MB" + }, + { + "name": "product.png", + "icon": "pi pi-image", + "date": "29 Jul 2021", + "fileSize": "1.8 MB" + }, + { + "name": "income.xls", + "icon": "pi pi-file-excel", + "date": "29 Jul 2021", + "fileSize": "12 MB" + }, + { + "name": "art.png", + "icon": "pi pi-image", + "date": "29 Jul 2021", + "fileSize": "6 MB" + }, + { + "name": "expenses.xls", + "icon": "pi pi-file-excel", + "date": "29 Jul 2021", + "fileSize": "12 MB" + }, + { + "name": "cv-new.pdf", + "icon": "pi pi-file-pdf", + "date": "29 Jul 2021", + "fileSize": "1.6 MB" + }, + { + "name": "revenue.xls", + "icon": "pi pi-file-excel", + "date": "29 Jul 2021", + "fileSize": "12 MB" + }, + { + "name": "payment-1.pdf", + "icon": "pi pi-file-pdf", + "date": "29 Jul 2021", + "fileSize": "6 MB" + }, + { + "name": "payment-2.pdf", + "icon": "pi pi-file-pdf", + "date": "29 Jul 2021", + "fileSize": "32 MB" + }, + { + "name": "invoices.xls", + "icon": "pi pi-file-excel", + "date": "29 Jul 2021", + "fileSize": "12 MB" + }, + { + "name": "ads.pdf", + "icon": "pi pi-file-pdf", + "date": "29 Jul 2021", + "fileSize": "1.6 MB" + } + ], + + "metrics": [ + { + "title": "Cloud Storage", + "icon": "pi pi-ellipsis-v", + "fieldColor": "bg-yellow-500", + "color": "bg-yellow-100", + "files": "412 Files", + "fileSize": "1.5GB" + }, + { + "title": "Dropbox Storage", + "icon": "pi pi-ellipsis-v", + "fieldColor": "bg-pink-500", + "color": "bg-pink-100", + "files": "200 Files", + "fileSize": "4.1GB" + }, + { + "title": "Google Drive Storage", + "icon": "pi pi-ellipsis-v", + "fieldColor": "bg-green-500", + "color": "bg-green-100", + "files": "24 Files", + "fileSize": "1.3GB" + }, + { + "title": "Internal Storage", + "icon": "pi pi-ellipsis-v", + "fieldColor": "bg-indigo-500", + "color": "bg-indigo-100", + "files": "82 Files", + "fileSize": "5.3GB" + } + ], + + "folders_small": [ + { + "name": "Document Files", + "icon": "pi pi-folder", + "size": "1.8 GB" + }, + { + "name": "Document Files", + "icon": "pi pi-images", + "size": "23 GB" + }, + { + "name": "Other Files", + "icon": "pi pi-folder-open", + "size": "1.8 GB" + }, + { + "name": "Unknown Files", + "icon": "pi pi-folder-open", + "size": "16 GB" + } + ], + + "folders_large": [ + { + "name": "Miami 2022", + "icon": "pi pi-folder", + "size": "12" + }, + { + "name": "Protoype", + "icon": "pi pi-folder", + "size": "1" + }, + { + "name": "Other Files", + "icon": "pi pi-folder", + "size": "53" + }, + { + "name": "Antalya Holiday", + "icon": "pi pi-folder", + "size": "1" + }, + { + "name": "Studio Photograpy", + "icon": "pi pi-folder", + "size": "3" + }, + { + "name": "Server Backup", + "icon": "pi pi-folder-open", + "size": "9" + }, + { + "name": "Document Files", + "icon": "pi pi-folder", + "size": "53" + }, + { + "name": "Vocals", + "icon": "pi pi-image", + "size": "0" + }, + { + "name": "Volces", + "icon": "pi pi-folder-open", + "size": "6" + } + ] +} diff --git a/public/demo/data/files-lazy.json b/public/demo/data/files-lazy.json new file mode 100644 index 0000000..546de48 --- /dev/null +++ b/public/demo/data/files-lazy.json @@ -0,0 +1,26 @@ +{ + "data": + [ + { + "label": "Lazy Node 0", + "data": "Node 0", + "expandedIcon": "pi pi-folder-open", + "collapsedIcon": "pi pi-folder", + "leaf": false + }, + { + "label": "Lazy Node 1", + "data": "Node 1", + "expandedIcon": "pi pi-folder-open", + "collapsedIcon": "pi pi-folder", + "leaf": false + }, + { + "label": "Lazy Node 1", + "data": "Node 2", + "expandedIcon": "pi pi-folder-open", + "collapsedIcon": "pi pi-folder", + "leaf": false + } + ] +} \ No newline at end of file diff --git a/public/demo/data/files.json b/public/demo/data/files.json new file mode 100644 index 0000000..40aed1c --- /dev/null +++ b/public/demo/data/files.json @@ -0,0 +1,54 @@ +{ + "data": [ + { + "key": "0", + "label": "Documents", + "data": "Documents Folder", + "icon": "pi pi-fw pi-inbox", + "children": [{ + "key": "0-0", + "label": "Work", + "data": "Work Folder", + "icon": "pi pi-fw pi-cog", + "children": [{ "key": "0-0-0", "label": "Expenses.doc", "icon": "pi pi-fw pi-file", "data": "Expenses Document" }, { "key": "0-0-1", "label": "Resume.doc", "icon": "pi pi-fw pi-file", "data": "Resume Document" }] + }, + { + "key": "0-1", + "label": "Home", + "data": "Home Folder", + "icon": "pi pi-fw pi-home", + "children": [{ "key": "0-1-0", "label": "Invoices.txt", "icon": "pi pi-fw pi-file", "data": "Invoices for this month" }] + }] + }, + { + "key": "1", + "label": "Events", + "data": "Events Folder", + "icon": "pi pi-fw pi-calendar", + "children": [ + { "key": "1-0", "label": "Meeting", "icon": "pi pi-fw pi-calendar-plus", "data": "Meeting" }, + { "key": "1-1", "label": "Product Launch", "icon": "pi pi-fw pi-calendar-plus", "data": "Product Launch" }, + { "key": "1-2", "label": "Report Review", "icon": "pi pi-fw pi-calendar-plus", "data": "Report Review" }] + }, + { + "key": "2", + "label": "Movies", + "data": "Movies Folder", + "icon": "pi pi-fw pi-star", + "children": [{ + "key": "2-0", + "icon": "pi pi-fw pi-star", + "label": "Al Pacino", + "data": "Pacino Movies", + "children": [{ "key": "2-0-0", "label": "Scarface", "icon": "pi pi-fw pi-video", "data": "Scarface Movie" }, { "key": "2-0-1", "label": "Serpico", "icon": "pi pi-fw pi-video", "data": "Serpico Movie" }] + }, + { + "key": "2-1", + "label": "Robert De Niro", + "icon": "pi pi-fw pi-star", + "data": "De Niro Movies", + "children": [{ "key": "2-1-0", "label": "Goodfellas", "icon": "pi pi-fw pi-video", "data": "Goodfellas Movie" }, { "key": "2-1-1", "label": "Untouchables", "icon": "pi pi-fw pi-video", "data": "Untouchables Movie" }] + }] + } + ] +} diff --git a/public/demo/data/filesystem-lazy.json b/public/demo/data/filesystem-lazy.json new file mode 100644 index 0000000..f9a2c3a --- /dev/null +++ b/public/demo/data/filesystem-lazy.json @@ -0,0 +1,21 @@ +{ + "data": + [ + { + "data":{ + "name":"Lazy Folder 0", + "size":"75kb", + "type":"Folder" + }, + "leaf": false + }, + { + "data":{ + "name":"Lazy Folder 1", + "size":"150kb", + "type":"Folder" + }, + "leaf": false + } + ] +} \ No newline at end of file diff --git a/public/demo/data/filesystem.json b/public/demo/data/filesystem.json new file mode 100644 index 0000000..9bfeb85 --- /dev/null +++ b/public/demo/data/filesystem.json @@ -0,0 +1,313 @@ +{ + "data": + [ + { + "data":{ + "name":"Applications", + "size":"200mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Angular", + "size":"25mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"angular.app", + "size":"10mb", + "type":"Application" + } + }, + { + "data":{ + "name":"cli.app", + "size":"10mb", + "type":"Application" + } + }, + { + "data":{ + "name":"mobile.app", + "size":"5mb", + "type":"Application" + } + } + ] + }, + { + "data":{ + "name":"editor.app", + "size":"25mb", + "type":"Application" + } + }, + { + "data":{ + "name":"settings.app", + "size":"50mb", + "type":"Application" + } + } + ] + }, + { + "data":{ + "name":"Cloud", + "size":"20mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"backup-1.zip", + "size":"10mb", + "type":"Zip" + } + }, + { + "data":{ + "name":"backup-2.zip", + "size":"10mb", + "type":"Zip" + } + } + ] + }, + { + "data": { + "name":"Desktop", + "size":"150kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"note-meeting.txt", + "size":"50kb", + "type":"Text" + } + }, + { + "data":{ + "name":"note-todo.txt", + "size":"100kb", + "type":"Text" + } + } + ] + }, + { + "data":{ + "name":"Documents", + "size":"75kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Work", + "size":"55kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Expenses.doc", + "size":"30kb", + "type":"Document" + } + }, + { + "data":{ + "name":"Resume.doc", + "size":"25kb", + "type":"Resume" + } + } + ] + }, + { + "data":{ + "name":"Home", + "size":"20kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"Invoices", + "size":"20kb", + "type":"Text" + } + } + ] + } + ] + }, + { + "data": { + "name":"Downloads", + "size":"25mb", + "type":"Folder" + }, + "children":[ + { + "data": { + "name":"Spanish", + "size":"10mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"tutorial-a1.txt", + "size":"5mb", + "type":"Text" + } + }, + { + "data":{ + "name":"tutorial-a2.txt", + "size":"5mb", + "type":"Text" + } + } + ] + }, + { + "data":{ + "name":"Travel", + "size":"15mb", + "type":"Text" + }, + "children":[ + { + "data":{ + "name":"Hotel.pdf", + "size":"10mb", + "type":"PDF" + } + }, + { + "data":{ + "name":"Flight.pdf", + "size":"5mb", + "type":"PDF" + } + } + ] + } + ] + }, + { + "data": { + "name":"Main", + "size":"50mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"bin", + "size":"50kb", + "type":"Link" + } + }, + { + "data":{ + "name":"etc", + "size":"100kb", + "type":"Link" + } + }, + { + "data":{ + "name":"var", + "size":"100kb", + "type":"Link" + } + } + ] + }, + { + "data":{ + "name":"Other", + "size":"5mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"todo.txt", + "size":"3mb", + "type":"Text" + } + }, + { + "data":{ + "name":"logo.png", + "size":"2mb", + "type":"Picture" + } + } + ] + }, + { + "data":{ + "name":"Pictures", + "size":"150kb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"barcelona.jpg", + "size":"90kb", + "type":"Picture" + } + }, + { + "data":{ + "name":"primeng.png", + "size":"30kb", + "type":"Picture" + } + }, + { + "data":{ + "name":"prime.jpg", + "size":"30kb", + "type":"Picture" + } + } + ] + }, + { + "data":{ + "name":"Videos", + "size":"1500mb", + "type":"Folder" + }, + "children":[ + { + "data":{ + "name":"primefaces.mkv", + "size":"1000mb", + "type":"Video" + } + }, + { + "data":{ + "name":"intro.avi", + "size":"500mb", + "type":"Video" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/public/demo/data/icons.json b/public/demo/data/icons.json new file mode 100644 index 0000000..06c4a8a --- /dev/null +++ b/public/demo/data/icons.json @@ -0,0 +1 @@ +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M959.977 394.711c0-24.979-9.774-48.87-27.693-66.789l-236.207-236.207c-36.923-36.923-96.655-36.923-133.578 0l-470.781 470.781c-17.919 17.919-27.693 41.81-27.693 66.789s9.774 48.87 27.693 66.789l236.207 236.207c18.462 18.462 42.356 27.693 66.789 27.693 2.173 0 4.887 0 7.060-0.543 1.084 0 1.63 0 2.714 0h433.859c22.263 0 40.725-18.462 40.725-40.725s-18.462-40.725-40.725-40.725h-323.088l416.482-416.482c17.919-17.919 27.693-41.81 27.693-66.789zM149.275 638.521c-3.257-3.257-3.8-7.060-3.8-9.231s0-5.972 3.8-9.231l206.341-206.341 254.669 254.669-206.341 206.341c-4.887 4.887-13.032 4.887-18.462 0l-236.207-236.75zM874.725 404.486l-206.341 206.341-254.669-254.669 206.341-206.341c4.887-4.887 13.032-4.887 18.462 0l236.207 236.75c3.257 3.257 3.8 7.060 3.8 9.231s0 5.972-3.8 9.231z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["eraser"]},"attrs":[{}],"properties":{"order":333,"id":261,"name":"eraser","prevSize":80,"code":59908},"setIdx":0,"setId":1,"iconIdx":0},{"icon":{"paths":["M496 128.019c-247.028 0-447.979 200.95-447.979 447.979s200.95 447.979 447.979 447.979 447.979-200.95 447.979-447.979-200.95-447.979-447.979-447.979zM496 927.979c-193.911 0-351.983-158.073-351.983-351.983s158.073-351.983 351.983-351.983 351.983 158.073 351.983 351.983-158.073 351.983-351.983 351.983zM288.011 48.023c0-26.238 21.759-47.998 47.998-47.998h319.984c26.238 0 47.998 21.759 47.998 47.998s-21.759 47.998-47.998 47.998h-319.984c-26.238 0-47.998-21.759-47.998-47.998zM543.998 384.007v191.991c0 26.238-21.759 47.998-47.998 47.998s-47.998-21.759-47.998-47.998v-191.991c0-26.238 21.759-47.998 47.998-47.998s47.998 21.759 47.998 47.998zM962.538 273.291c-9.6 9.6-21.759 14.080-33.918 14.080s-24.318-4.48-33.918-14.080l-95.995-95.995c-18.559-18.559-18.559-49.277 0-67.837s49.277-18.559 67.837 0l95.995 95.995c18.559 18.559 18.559 49.277 0 67.837z"],"attrs":[{}],"grid":16,"tags":["stopwatch"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":332,"id":260,"name":"stopwatch","prevSize":80,"code":59905},"setIdx":0,"setId":1,"iconIdx":1},{"icon":{"paths":["M626.347 1024c-27.876 0-54.044-13.084-75.663-24.463-13.653-6.827-30.151-15.36-38.684-15.36s-25.6 8.533-38.684 15.36c-27.307 14.223-61.44 31.289-97.849 21.617-37.547-9.671-58.027-42.667-75.093-68.836-7.396-11.947-17.636-27.876-24.463-31.857s-25.031-4.551-40.391-5.689c-30.72-1.707-68.836-3.413-96.143-30.151-27.307-27.876-29.013-65.991-30.72-96.711-0.569-14.791-1.707-33.564-5.689-40.391-3.413-6.257-19.911-16.497-31.289-23.893-26.169-17.067-58.596-38.116-68.836-75.093-9.671-36.409 7.396-70.543 21.617-97.849 6.827-13.653 15.36-30.151 15.36-38.684s-8.533-25.6-15.36-38.684c-14.223-27.307-31.289-61.44-21.617-97.849 9.671-37.547 42.667-58.027 68.836-75.093 11.947-7.396 27.876-17.636 31.857-24.463s4.551-25.031 5.689-40.391c1.707-30.72 3.413-68.836 30.151-96.143 27.876-27.307 65.991-29.013 96.711-30.72 14.791-0.569 33.564-1.707 40.391-5.689 6.257-3.413 16.497-19.911 23.893-31.289 17.067-26.169 38.116-58.596 75.093-68.836 36.409-9.671 70.543 7.396 97.849 21.617 13.653 6.827 30.151 15.36 38.684 15.36s25.6-8.533 38.684-15.36c27.307-13.653 61.44-31.289 97.849-21.617 37.547 9.671 58.027 42.667 75.093 68.836 7.396 11.947 17.636 27.876 24.463 31.857s25.031 4.551 40.391 5.689c30.72 1.707 68.836 3.413 96.143 30.151 27.307 27.876 29.013 65.991 30.72 96.711 0.569 14.791 1.707 33.564 5.689 40.391 3.413 6.257 19.911 16.497 31.289 23.893 26.169 17.067 58.596 38.116 68.836 75.093 9.671 36.409-7.396 70.543-21.617 97.849-6.827 13.653-15.36 30.151-15.36 38.684s8.533 25.6 15.36 38.684c14.223 27.307 31.289 61.44 21.617 97.849-9.671 37.547-42.667 58.027-68.836 75.093-11.947 7.396-27.876 17.636-31.857 24.463s-4.551 25.031-5.689 40.391c-1.707 30.72-3.413 68.836-30.151 96.143-27.876 27.307-65.991 29.013-96.711 30.72-14.791 0.569-33.564 1.707-40.391 5.689-6.257 3.413-16.497 19.911-23.893 31.289-17.067 26.169-38.116 58.596-75.093 68.836-7.396 2.276-14.791 2.844-22.187 2.844zM398.223 85.333s0 0-0.569 0c-5.689 2.276-18.773 21.617-25.031 32.427-13.653 21.049-29.013 44.943-53.476 59.164-25.031 14.223-53.476 15.929-79.076 17.067-12.516 0.569-35.84 1.707-40.96 5.689-3.413 4.551-4.551 27.307-5.12 39.823-1.137 25.6-2.844 54.044-17.067 78.507s-38.116 39.823-59.164 53.476c-10.809 6.827-30.151 19.343-32.427 25.6-0.569 6.257 9.103 25.6 14.791 36.977 11.377 22.756 25.031 48.356 25.031 77.369s-13.084 54.613-25.031 77.369c-5.689 11.377-15.929 30.72-14.791 36.977 2.276 5.689 21.617 18.773 32.427 25.031 21.049 13.653 44.943 29.013 59.164 53.476 14.223 25.031 15.929 53.476 17.067 79.076 0.569 12.516 1.707 35.84 5.689 40.96 4.551 3.413 27.307 4.551 39.823 5.12 25.6 1.137 54.044 2.844 78.507 17.067s39.823 38.116 53.476 59.164c6.827 10.809 19.343 30.151 25.6 32.427 5.689 1.707 25.6-9.103 36.977-14.791 22.756-11.377 48.356-25.031 77.369-25.031s54.613 13.084 77.369 25.031c11.377 5.689 29.583 16.497 36.977 14.791 5.689-2.276 18.773-21.617 25.031-32.427 13.653-21.049 29.013-44.943 53.476-59.164 25.031-14.223 53.476-15.929 79.076-17.067 12.516-0.569 35.84-1.707 40.96-5.689 3.413-4.551 4.551-27.307 5.12-39.823 1.137-25.6 2.844-54.044 17.067-78.507s38.116-39.823 59.164-53.476c10.809-6.827 30.151-19.343 32.427-25.6 0.569-6.257-9.103-25.6-14.791-36.977-11.377-22.756-25.031-48.356-25.031-77.369s13.084-54.613 25.031-77.369c5.689-11.377 15.36-30.72 14.791-36.977-2.276-6.257-22.187-18.773-32.427-25.6-21.049-13.653-44.943-29.013-59.164-53.476-14.223-25.031-15.929-53.476-17.067-79.076-0.569-12.516-1.707-35.84-5.689-40.96-4.551-3.413-27.307-4.551-39.823-5.12-25.6-1.137-54.044-2.844-78.507-17.067s-39.823-38.116-53.476-59.164c-6.827-10.809-19.343-30.151-25.6-32.427-5.689-1.707-25.6 9.103-36.977 14.791-22.756 11.377-48.356 25.031-77.369 25.031s-54.613-13.084-77.369-25.031c-11.377-5.689-29.583-14.791-36.409-14.791zM938.667 397.084s0 0 0 0v0zM426.097 711.68v0c-11.377 0-22.187-4.551-30.151-12.516l-142.791-142.791c-16.497-16.497-16.497-43.804 0-60.303s43.804-16.497 60.303 0l112.64 112.64 283.876-283.876c16.497-16.497 43.804-16.497 60.303 0s16.497 43.804 0 60.303l-314.027 314.027c-7.964 7.964-18.773 12.516-30.151 12.516z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["verified"]},"attrs":[{}],"properties":{"order":331,"id":259,"name":"verified","prevSize":80,"code":59906},"setIdx":0,"setId":1,"iconIdx":2},{"icon":{"paths":["M799.19 390.096l-121.904 121.904 121.904 121.904c15.924 15.924 15.924 42.282 0 58.207-8.237 8.237-18.67 12.081-29.103 12.081s-20.866-3.844-29.103-12.081l-121.904-121.904-121.904 121.904c-8.237 8.237-18.67 12.081-29.103 12.081s-20.866-3.844-29.103-12.081c-15.924-15.924-15.924-42.282 0-58.207l121.904-121.904-121.904-121.904c-15.924-15.924-15.924-42.282 0-58.207s42.282-15.924 58.207 0l121.904 121.904 121.904-121.904c15.924-15.924 42.282-15.924 58.207 0s15.924 42.282 0 58.207zM1023.778 237.441v549.119c0 52.715-42.831 96.096-96.096 96.096h-655.098c-33.497 0-63.697-17.023-81.27-45.028l-180.66-289.385c-13.728-21.965-13.728-50.518 0-73.033l180.66-288.837c17.571-28.005 48.323-45.028 81.27-45.028h655.648c52.715 0 96.096 43.381 96.096 96.096zM941.41 237.441c0-7.687-6.040-13.728-13.728-13.728h-655.098c-4.942 0-9.335 2.197-11.531 6.589l-176.267 281.698 176.267 281.698c2.745 3.844 7.139 6.589 11.531 6.589h655.648c7.687 0 13.728-6.040 13.728-13.728v-549.119z"],"attrs":[{}],"grid":16,"tags":["delete-left"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":330,"id":258,"name":"delete-left","prevSize":80,"code":59907},"setIdx":0,"setId":1,"iconIdx":3},{"icon":{"paths":["M877.707 936.219h-38.619c-22.234-79.578-90.695-277.351-257.457-424.219 166.762-146.867 235.222-344.642 257.457-424.219h38.619c23.99 0 43.885-19.895 43.885-43.885s-19.895-43.885-43.885-43.885h-731.412c-23.99 0-43.885 19.895-43.885 43.885s19.895 43.885 43.885 43.885h38.619c22.234 79.578 90.695 277.351 257.457 424.219-166.762 146.867-235.222 344.642-257.457 424.219h-38.619c-23.99 0-43.885 19.895-43.885 43.885s19.895 43.885 43.885 43.885h731.412c23.99 0 43.885-19.895 43.885-43.885s-19.895-43.885-43.885-43.885zM276.778 87.781h469.859c-26.331 83.089-93.621 248.679-235.222 367.462-141.601-119.366-208.891-284.373-235.222-367.462zM512 568.758c141.601 119.366 208.891 284.373 235.222 367.462h-470.444c26.331-83.089 93.621-248.681 235.222-367.462z"],"attrs":[{}],"grid":16,"tags":["hourglass"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":329,"id":257,"name":"hourglass","prevSize":80,"code":59902},"setIdx":0,"setId":1,"iconIdx":4},{"icon":{"paths":["M816.58 221.265h-110.756v-41.534c0-53.163-43.749-96.912-96.912-96.912h-512.247c-53.163 0-96.912 43.749-96.912 96.912v498.402c0 53.163 43.749 96.912 96.912 96.912h15.506c7.2 92.481 84.174 166.134 178.318 166.134s171.118-73.653 178.318-166.134h85.836c7.2 92.481 84.174 166.134 178.318 166.134s171.118-73.653 178.318-166.134h15.506c53.163 0 96.912-43.749 96.912-96.912v-249.201c0-114.633-93.035-207.668-207.668-207.668zM82.82 678.134v-498.402c0-7.752 6.091-13.845 13.845-13.845h512.247c7.752 0 13.845 6.091 13.845 13.845v439.701s-2.768 3.323-4.43 4.43c-8.307 7.2-16.059 14.952-23.259 23.259-2.216 2.768-4.43 4.984-6.091 7.752-8.307 11.629-16.059 23.259-21.043 36.55h-110.756s0 0 0-0.554c0 0 0 0 0 0-3.877-9.414-9.414-18.829-14.952-27.136-1.661-2.216-3.323-4.43-4.984-7.2-4.43-6.645-9.414-12.184-14.952-18.275-2.216-2.216-3.877-4.43-6.091-6.645-7.2-6.645-14.398-12.737-22.152-18.275-1.107-0.554-1.661-1.661-2.768-2.216-8.307-5.538-17.168-9.968-26.027-14.398-3.323-1.661-6.645-2.768-9.968-3.877-7.2-2.768-13.845-4.984-21.043-6.645-3.323-0.554-6.645-1.661-9.968-2.216-10.522-2.216-21.597-3.323-32.673-3.323s-21.597 1.107-32.673 3.323c-3.323 0.554-6.645 1.661-9.968 2.216-7.2 1.661-14.398 3.877-21.043 6.645-3.323 1.107-6.645 2.216-9.968 3.877-8.861 3.877-17.721 8.861-26.027 14.398-1.107 0.554-1.661 1.107-2.768 2.216-7.752 5.538-15.506 11.629-22.152 18.275-2.216 2.216-4.43 4.43-6.091 6.645-5.538 5.538-10.522 11.629-14.952 18.275-1.661 2.216-3.323 4.43-4.984 7.2-5.538 8.861-10.522 17.721-14.952 27.136 0 0 0 0 0 0s0 0 0 0.554h-27.689c-7.752 0-13.845-6.091-13.845-13.845zM290.487 858.113c-53.163 0-96.912-43.749-96.912-96.912 0-6.645 0.554-13.291 2.216-19.382 2.216-9.968 6.091-19.382 11.075-27.689 0.554-1.661 1.661-2.768 2.216-4.43 4.984-7.752 11.075-14.952 18.275-21.043 1.661-1.107 2.768-2.216 4.43-3.323 7.2-5.538 15.506-10.522 24.366-13.845 1.107 0 2.768-1.107 4.43-1.107 9.414-3.323 19.936-5.538 30.458-5.538s20.49 2.216 30.458 5.538c1.661 0 2.768 0.554 4.43 1.107 8.861 3.323 17.168 8.307 24.366 13.845 1.661 1.107 2.768 2.216 4.43 3.323 7.2 6.091 13.291 13.291 18.275 21.043 1.107 1.107 1.661 2.768 2.216 4.43 4.984 8.861 8.861 17.721 11.075 27.689 1.107 6.091 2.216 12.737 2.216 19.382 0 53.163-43.749 96.912-96.912 96.912zM733.513 858.113c-53.163 0-96.912-43.749-96.912-96.912 0-6.645 0.554-13.291 2.216-19.382 1.661-6.645 3.323-13.291 6.091-19.382 0 0 0-0.554 0-1.107 2.768-5.538 5.538-11.075 9.414-16.059 0.554-1.107 1.661-1.661 2.216-2.768 3.323-4.43 6.645-8.307 10.522-12.184 1.107-1.107 2.216-1.661 3.323-2.768 3.877-3.323 8.307-6.645 12.737-9.414 1.107-0.554 2.768-1.661 4.43-2.216 4.984-2.768 10.522-4.984 16.059-6.645 2.216-0.554 4.43-1.661 7.2-2.216 7.2-1.661 14.952-2.768 22.705-2.768 10.522 0 20.49 2.216 30.458 5.538 1.661 0 2.768 0.554 4.43 1.107 8.861 3.323 17.168 8.307 24.366 13.845 1.661 1.107 2.768 2.216 4.43 3.323 7.2 6.091 13.291 13.291 18.275 21.043 1.107 1.107 1.661 2.768 2.216 4.43 4.984 8.861 8.861 17.721 11.075 27.689 1.107 6.091 2.216 12.737 2.216 19.382 0 53.163-43.749 96.912-96.912 96.912zM705.823 470.466v-166.134h110.756c68.669 0 124.601 55.931 124.601 124.601v41.534h-235.356z"],"attrs":[{}],"grid":16,"tags":["truck"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":328,"id":256,"name":"truck","prevSize":80,"code":59904},"setIdx":0,"setId":1,"iconIdx":5},{"icon":{"paths":["M168.104 1023.75v0c-44.45 0-86.559-17.546-118.726-49.128-65.505-65.505-65.505-171.363 0-236.867l322.256-322.256c-29.242-113.462 2.34-235.698 85.389-318.747 83.634-83.634 206.454-116.387 320.502-85.389 15.206 4.094 26.904 15.791 30.997 30.997s0 30.997-11.113 42.11l-143.29 143.29 30.413 111.707 111.707 30.413 143.29-143.29c11.113-11.113 27.488-15.206 42.11-11.113 15.206 4.094 26.904 15.791 30.997 30.997 30.997 114.047-1.169 236.867-85.389 320.502-83.050 83.050-205.285 114.633-318.747 85.389l-322.256 322.256c-31.582 31.582-73.692 49.128-118.142 49.128zM668.742 89.148c-56.146 4.678-109.369 29.242-150.308 70.183-66.674 66.674-88.314 164.345-56.146 254.413 5.849 15.791 1.755 33.922-10.527 45.619l-340.973 340.973c-30.997 30.997-30.997 81.88 0 112.878 15.206 15.206 35.091 23.395 56.732 23.395v0c21.055 0 41.524-8.188 56.146-23.395l340.973-340.973c12.282-12.282 29.828-15.791 45.619-10.527 90.069 31.582 187.739 10.527 254.413-56.146 40.941-40.941 64.919-94.162 70.183-150.308l-95.332 95.332c-11.113 11.113-27.488 15.206-42.695 11.113l-160.252-43.864c-15.206-4.094-26.904-15.791-30.997-30.997l-43.864-160.252c-4.094-15.206 0-31.582 11.113-42.695l95.332-95.332z"],"attrs":[{}],"grid":16,"tags":["wrench"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":325,"id":255,"name":"wrench","prevSize":80,"code":59903},"setIdx":0,"setId":1,"iconIdx":6},{"icon":{"paths":["M495.693 730.292h32.612c77.849 0 140.443-64.699 140.443-144.651v-389.243c0-79.953-63.121-144.651-140.443-144.651h-32.612c-77.849 0-140.443 64.699-140.443 144.651v388.718c0 79.953 63.121 144.651 140.443 144.651zM434.151 196.397c0-36.294 27.877-65.751 61.542-65.751h32.612c34.19 0 61.542 29.456 61.542 65.751v388.718c0 36.294-27.877 65.751-61.542 65.751h-32.612c-34.19 0-61.542-29.456-61.542-65.751v-388.718zM814.452 374.712v222.5c0 147.807-116.773 267.736-263.003 275.101v99.941c0 21.566-17.885 39.45-39.45 39.45s-39.45-17.885-39.45-39.45v-99.941c-146.229-7.364-263.002-127.293-263.002-275.101v-222.5c0-21.566 17.885-39.45 39.45-39.45s39.45 17.885 39.45 39.45v222.5c0 108.883 88.896 197.779 198.304 197.779h51.023c109.409 0 198.304-88.896 198.304-197.779v-222.5c0-21.566 17.885-39.45 39.45-39.45s39.45 17.885 39.45 39.45z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["microphone"]},"attrs":[{}],"properties":{"order":323,"id":254,"name":"microphone","prevSize":80,"code":59898},"setIdx":0,"setId":1,"iconIdx":7},{"icon":{"paths":["M906.87 28.172h-85.757c-64.638 0-117.117 52.479-117.117 117.117v28.799l-607.985 130.557v-32.639c0-26.239-21.76-47.999-47.999-47.999s-47.999 21.76-47.999 47.999v447.99c0 26.239 21.76 47.999 47.999 47.999s47.999-21.76 47.999-47.999v-40.319l607.985 130.557v28.799c0 64.638 52.479 117.117 117.117 117.117h85.757c64.638 0 117.117-52.479 117.117-117.117v-693.744c0-64.638-52.479-117.117-117.117-117.117zM96.011 581.118v-178.556l607.985-130.557v439.669l-607.985-130.557zM927.989 839.033c0 11.52-9.6 21.119-21.119 21.119h-85.757c-11.52 0-21.119-9.6-21.119-21.119v-693.744c0-11.52 9.6-21.119 21.119-21.119h85.757c11.52 0 21.119 9.6 21.119 21.119v693.744zM574.079 872.311c-23.68 74.238-92.158 124.156-170.876 124.156-98.558 0-179.196-79.359-179.196-175.995 0-7.039 0-14.719 1.279-21.76 3.199-26.239 27.52-44.799 53.759-41.598s44.799 26.879 41.598 53.118c0 3.199 0 6.4 0 9.6 0 44.159 37.12 79.998 83.198 79.998 36.479 0 68.478-23.039 79.359-56.958 7.68-25.6 35.2-39.679 60.159-31.36 25.6 7.68 39.040 35.2 31.36 60.159z"],"attrs":[{}],"grid":16,"tags":["megaphone"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":322,"id":253,"name":"megaphone","prevSize":80,"code":59899},"setIdx":0,"setId":1,"iconIdx":8},{"icon":{"paths":["M1023.949 776.232c0 27.083-22.46 49.543-49.543 49.543h-805.246l80.59 80.59c19.156 19.156 19.156 50.864 0 70.022-9.909 9.909-22.46 14.533-35.010 14.533s-25.101-4.625-35.010-14.533l-165.145-165.145c-4.625-4.625-7.927-9.909-10.57-15.854-5.284-11.89-5.284-25.763 0-37.653 2.643-5.945 5.945-11.229 10.57-15.854l165.145-165.145c19.156-19.156 50.864-19.156 70.022 0s19.156 50.864 0 70.022l-80.59 80.59h805.246c27.083 0 49.543 22.46 49.543 49.543zM49.594 297.311h805.246l-80.59 80.59c-19.156 19.156-19.156 50.864 0 70.022 9.909 9.909 22.46 14.533 35.010 14.533s25.101-4.625 35.010-14.533l165.145-165.145c4.625-4.625 7.927-9.909 10.57-15.854 5.284-11.89 5.284-25.763 0-37.653-2.643-5.945-5.945-11.229-10.57-15.854l-165.145-165.145c-19.156-19.156-50.864-19.156-70.022 0s-19.156 50.864 0 70.022l80.59 80.59h-805.246c-27.083 0-49.543 22.46-49.543 49.543s22.46 49.543 49.543 49.543z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrow-right-arrow-left"]},"attrs":[{}],"properties":{"order":321,"id":252,"name":"arrow-right-arrow-left","prevSize":80,"code":59900},"setIdx":0,"setId":1,"iconIdx":9},{"icon":{"paths":["M609.223 618.817c-17.27 69.72-134.322 31.981-172.7 22.386l30.702-123.449c38.378 9.594 159.908 28.143 141.997 101.061zM509.441 348.895l-28.143 111.935c31.981 7.676 129.844 40.297 145.835-23.027 15.991-65.882-85.71-81.233-117.692-88.909zM1008.351 635.449c-68.44 273.76-346.039 440.703-620.44 372.904-273.76-68.44-441.343-346.039-372.904-619.8 68.44-274.4 346.039-440.703 620.44-372.904 273.76 68.44 441.343 346.039 372.904 619.8zM343.778 597.71c-2.559 7.035-9.594 17.27-25.586 13.432-2.559 0-40.937-10.235-40.937-10.235l-28.143 63.963 72.918 17.91c14.072 3.838 26.864 7.035 40.297 10.873l-23.027 92.747 55.648 14.072 23.027-92.106c15.351 4.478 30.062 7.676 44.774 11.513l-23.027 91.466 56.288 14.072 23.027-92.747c95.944 17.91 168.222 10.873 198.285-76.115 24.305-69.72-1.279-110.017-51.81-136.241 36.459-8.316 63.963-32.621 71.639-82.512 10.235-67.801-41.575-104.899-112.574-128.565l23.027-92.747-56.288-14.072-22.386 89.547c-14.711-3.838-30.062-7.035-45.413-10.873l22.386-90.188-55.648-14.072-23.027 92.106c-12.153-2.559-24.305-5.757-35.819-8.316l-77.395-19.829-14.711 60.126s40.937 9.594 40.937 10.235c22.386 5.757 26.224 20.468 26.224 32.621l-63.323 252.653z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["bitcoin"]},"attrs":[{}],"properties":{"order":320,"id":251,"name":"bitcoin","prevSize":80,"code":59901},"setIdx":0,"setId":1,"iconIdx":10},{"icon":{"paths":["M290.603 885.606h-83.024c-38.191 0-69.186-30.995-69.186-69.186v-664.188c0-38.191 30.995-69.186 69.186-69.186h207.559v262.908c0 22.693 18.819 41.512 41.512 41.512h265.675c5.535 16.051 20.48 27.674 38.745 27.674 22.693 0 41.512-18.819 41.512-41.512v-27.674c0-5.535-1.107-11.069-3.321-16.051s-4.981-9.409-8.856-13.284l-304.42-304.42c-3.875-3.875-8.302-6.642-13.284-8.856s-10.517-3.321-16.051-3.321h-249.071c-84.13 0-152.209 68.079-152.209 152.209v664.188c0 84.13 68.079 152.209 152.209 152.209h83.024c22.693 0 41.512-18.819 41.512-41.512s-18.819-41.512-41.512-41.512zM498.162 141.715l162.726 162.726h-162.726v-162.726zM933.206 477.13c-21.032-21.032-52.029-33.763-84.13-34.316-33.209-1.66-64.758 11.069-85.791 32.655l-353.68 354.234c-7.196 7.196-11.069 16.051-12.177 26.014l-9.963 123.429c-1.107 12.177 3.321 24.353 12.177 32.655 7.748 7.748 18.265 12.177 29.335 12.177 1.107 0 2.214 0 3.875 0l124.535-11.623c9.409-1.107 18.819-4.981 25.461-12.177l353.68-354.234c44.279-43.726 42.618-122.875-3.321-168.814zM877.858 587.275l-343.164 343.717-60.331 5.535 4.427-58.67 343.164-343.717c5.535-5.535 15.498-7.748 25.461-8.302 11.069 0 21.032 3.875 27.121 9.963 13.284 12.73 14.944 39.851 3.321 51.475z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["file-edit"]},"attrs":[{}],"properties":{"order":319,"id":250,"name":"file-edit","prevSize":80,"code":59894},"setIdx":0,"setId":1,"iconIdx":11},{"icon":{"paths":["M1021.466 949.618l-177.541-496.402c-12.469-32.659-40.377-52.846-72.441-52.846s-59.379 20.189-73.035 54.035l-176.948 495.215c-8.313 23.158 3.563 48.691 26.72 57.003s48.691-3.563 57.003-26.72l36.814-102.724h258.296l36.814 102.724c6.531 18.408 23.752 29.689 42.158 29.689 4.75 0 10.094-0.594 14.845-2.376 23.158-8.313 35.033-33.846 26.72-57.003zM674.697 787.515l97.38-272.547 97.38 272.547h-194.761zM523.282 265.579c-134.195 211.981-255.327 340.238-402.585 425.743-7.125 4.157-14.845 5.938-21.97 5.938-15.438 0-30.283-7.72-38.595-21.97-12.469-21.376-5.344-48.691 16.032-60.566 124.694-72.441 226.826-176.354 341.425-348.55h-373.489c-24.345 0-44.534-20.189-44.534-44.534s20.189-44.534 44.534-44.534h222.669v-117.569c0-24.345 20.189-44.534 44.534-44.534s44.534 20.189 44.534 44.534v117.569h222.669c24.345 0 44.534 20.189 44.534 44.534s-20.189 44.534-44.534 44.534h-55.816zM525.657 697.26c-7.72 0-15.438-1.781-22.563-5.938-38.595-22.563-76.004-47.502-111.038-73.63-19.595-14.845-23.752-42.752-8.907-62.347s42.752-23.752 62.347-8.907c32.064 24.345 67.097 46.909 102.724 67.691 21.376 12.469 28.502 39.784 16.032 61.16-8.313 14.251-23.158 21.97-38.595 21.97z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["language"]},"attrs":[{}],"properties":{"order":318,"id":249,"name":"language","prevSize":80,"code":59895},"setIdx":0,"setId":1,"iconIdx":12},{"icon":{"paths":["M696.881 725.324c-23.323 0-42.665 19.342-42.665 42.665v85.33c0 39.252-31.856 71.108-71.108 71.108h-426.648c-39.252 0-71.108-31.856-71.108-71.108v-682.637c0-39.252 31.856-71.108 71.108-71.108h184.881v270.211c0 23.323 19.342 42.665 42.665 42.665h270.211v71.108c0 23.323 19.342 42.665 42.665 42.665s42.665-19.342 42.665-42.665v-113.772c0-11.377-4.55-22.186-12.515-30.149l-312.876-312.876c-7.964-7.964-18.773-12.515-30.149-12.515h-227.546c-86.467 0-156.437 69.97-156.437 156.437v682.637c0 86.467 69.97 156.437 156.437 156.437h426.648c86.467 0 156.437-69.97 156.437-156.437v-85.33c0-23.323-19.342-42.665-42.665-42.665zM426.67 159.872l167.246 167.246h-167.246v-167.246zM1020.565 642.27c-2.276 5.12-5.12 9.67-9.102 13.653l-170.659 170.659c-8.533 8.533-19.342 12.515-30.149 12.515s-21.616-3.982-30.149-12.515c-16.497-16.497-16.497-43.802 0-60.3l97.845-97.845h-494.343c-23.323 0-42.665-19.342-42.665-42.665s19.342-42.665 42.665-42.665h494.343l-97.845-97.845c-16.497-16.497-16.497-43.802 0-60.3s43.802-16.497 60.3 0l170.659 170.659c3.982 3.982 6.826 8.533 9.102 13.653 4.55 10.24 4.55 22.186 0 32.425z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["file-export"]},"attrs":[{}],"properties":{"order":317,"id":248,"name":"file-export","prevSize":80,"code":59896},"setIdx":0,"setId":1,"iconIdx":13},{"icon":{"paths":["M537.031 668.444h-494.364c-23.324 0-42.667-19.343-42.667-42.667s19.343-42.667 42.667-42.667h494.364l-97.849-97.849c-16.497-16.497-16.497-43.804 0-60.303s43.804-16.497 60.303 0l170.667 170.667c3.983 3.983 6.827 8.533 9.103 13.653 4.551 10.24 4.551 22.187 0 32.427-2.276 5.12-5.12 9.671-9.103 13.653l-170.667 170.667c-8.533 8.533-19.343 12.516-30.151 12.516s-21.617-3.983-30.151-12.516c-16.497-16.497-16.497-43.804 0-60.303l97.849-97.849zM1024 369.777v483.556c0 86.471-69.973 156.444-156.444 156.444h-426.667c-86.471 0-156.444-69.973-156.444-156.444v-56.889c0-23.324 19.343-42.667 42.667-42.667s42.667 19.343 42.667 42.667v56.889c0 39.253 31.857 71.111 71.111 71.111h426.667c39.253 0 71.111-31.857 71.111-71.111v-440.889h-270.223c-23.324 0-42.667-19.343-42.667-42.667v-270.223h-184.889c-39.253 0-71.111 31.857-71.111 71.111v284.444c0 23.324-19.343 42.667-42.667 42.667s-42.667-19.343-42.667-42.667v-284.444c0-86.471 69.973-156.444 156.444-156.444h227.556c11.377 0 22.187 4.551 30.151 12.516l312.889 312.889c7.964 7.964 12.516 18.773 12.516 30.151zM711.111 327.111h167.253l-167.253-167.253v167.253z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["file-import"]},"attrs":[{}],"properties":{"order":316,"id":247,"name":"file-import","prevSize":80,"code":59897},"setIdx":0,"setId":1,"iconIdx":14},{"icon":{"paths":["M894.076 334.712l-321.811-321.811c-8.191-8.191-19.309-12.873-31.010-12.873h-263.299c-88.936 0-160.905 71.968-160.905 160.905v702.132c0 88.936 71.968 160.905 160.905 160.905h468.087c88.936 0 160.905-71.968 160.905-160.905v-497.344c0-11.702-4.68-22.819-12.873-31.010zM585.138 149.817l172.022 172.022h-172.022v-172.022zM746.044 936.204h-468.087c-40.373 0-73.138-32.766-73.138-73.138v-702.132c0-40.373 32.766-73.138 73.138-73.138h219.416v277.928c0 23.989 19.894 43.883 43.883 43.883h277.928v453.46c0 40.373-32.766 73.138-73.138 73.138zM758.916 554.128l-87.766 292.554c-5.266 17.553-21.65 30.426-40.373 31.010-0.586 0-1.17 0-1.755 0-18.139 0-33.937-11.118-40.958-27.5l-76.065-190.745-76.065 190.745c-7.021 17.553-23.989 28.671-42.713 27.5-18.723-0.586-34.521-13.457-40.373-31.010l-87.766-292.554c-7.021-23.405 6.436-47.979 29.255-54.415 23.405-7.021 47.394 6.436 54.415 29.255l51.49 172.022 70.213-176.118c13.457-33.351 68.458-33.351 81.331 0l70.213 176.118 51.49-172.022c7.021-23.405 31.596-36.276 54.415-29.255 23.405 7.021 36.276 31.596 29.255 54.415z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["file-word"]},"attrs":[{}],"properties":{"order":311,"id":246,"name":"file-word","prevSize":80,"code":59889},"setIdx":0,"setId":1,"iconIdx":15},{"icon":{"paths":["M950.832 263.329h-81.915c23.405-28.085 38.032-63.192 38.032-102.395 0-88.936-71.968-160.905-160.905-160.905-98.298 0-184.895 52.074-234.044 129.309-49.149-77.234-135.746-129.309-234.044-129.309-88.936 0-160.905 71.968-160.905 160.905 0 39.203 14.628 74.309 38.032 102.395h-81.915c-40.373 0-73.138 32.766-73.138 73.138v146.278c0 35.107 25.16 63.192 58.511 70.213v397.874c0 40.373 32.766 73.138 73.138 73.138h760.643c40.373 0 73.138-32.766 73.138-73.138v-397.874c33.351-7.021 58.511-35.107 58.511-70.213v-146.278c0-40.373-32.766-73.138-73.138-73.138zM936.204 468.117h-380.321v-117.021h380.321v117.021zM746.044 87.796c40.373 0 73.138 32.766 73.138 73.138s-32.766 73.138-73.138 73.138h-184.895c19.894-83.67 95.373-146.278 184.895-146.278zM277.956 87.796c89.522 0 165.001 62.606 184.895 146.278h-184.895c-40.373 0-73.138-32.766-73.138-73.138s32.766-73.138 73.138-73.138zM87.796 351.095h380.321v117.021h-380.321v-117.021zM146.306 555.883h321.811v380.321h-321.811v-380.321zM877.694 936.204h-321.811v-380.321h321.811v380.321z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["gift"]},"attrs":[{}],"properties":{"order":312,"id":245,"name":"gift","prevSize":80,"code":59890},"setIdx":0,"setId":1,"iconIdx":16},{"icon":{"paths":["M417.791 482.743c0-23.991 19.896-43.886 43.886-43.886h73.143v-73.143c0-23.991 19.896-43.886 43.886-43.886s43.886 19.896 43.886 43.886v73.143h73.143c23.991 0 43.886 19.896 43.886 43.886s-19.896 43.886-43.886 43.886h-73.143v73.143c0 23.991-19.896 43.886-43.886 43.886s-43.886-19.896-43.886-43.886v-73.143h-73.143c-23.991 0-43.886-19.896-43.886-43.886zM468.114 906.976c0 48.567-39.205 87.772-87.772 87.772s-87.772-39.205-87.772-87.772 39.205-87.772 87.772-87.772 87.772 39.205 87.772 87.772zM848.461 906.976c0 48.567-39.205 87.772-87.772 87.772s-87.772-39.205-87.772-87.772 39.205-87.772 87.772-87.772 87.772 39.205 87.772 87.772zM1022.836 259.215l-117.029 468.119c-4.681 19.31-22.235 33.354-42.716 33.354h-585.15c-21.065 0-39.205-15.213-43.301-36.279l-110.593-607.385h-80.165c-23.991 0-43.886-19.896-43.886-43.886s19.896-43.886 43.886-43.886h117.029c21.065 0 39.205 15.213 43.301 36.279l25.162 139.266h750.746c13.458 0 26.332 6.436 34.523 16.969s11.118 24.576 8.192 37.45zM923.945 292.569h-678.773l69.048 380.347h514.346l94.794-380.347z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["cart-plus"]},"attrs":[{}],"properties":{"order":313,"id":244,"name":"cart-plus","prevSize":80,"code":59891},"setIdx":0,"setId":1,"iconIdx":17},{"icon":{"paths":["M1023.898 103.121v369.207c0 56.948-46.711 103.659-103.659 103.659h-103.019v-575.886h103.019c57.589 0 103.659 46.071 103.659 103.019zM85.844 79.445l-84.463 479.905c-10.238 58.868 34.553 112.617 94.702 112.617h305.86v223.955c0 70.386 57.589 127.974 127.335 127.974h5.759c25.595 0 48.631-15.357 58.868-39.033l174.685-408.879v-575.886s-588.683 0-588.683 0c-46.711 0-86.383 33.274-94.702 79.345z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["thumbs-down-fill"]},"attrs":[{}],"properties":{"order":314,"id":243,"name":"thumbs-down-fill","prevSize":80,"code":59892},"setIdx":0,"setId":1,"iconIdx":18},{"icon":{"paths":["M207.428 448.014v575.872h-103.017c-57.587 0-103.657-46.070-103.657-103.017v-369.198c0-56.947 46.71-103.657 103.657-103.657h103.017zM927.907 352.035h-305.852v-223.95c0-70.384-57.587-127.971-127.332-127.971h-5.759c-25.595 0-48.63 15.357-58.866 39.032l-174.681 408.869v575.872s588.668 0 588.668 0c46.71 0 86.381-33.273 94.699-79.343l84.461-479.893c10.238-58.866-34.552-112.614-94.699-112.614z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["thumbs-up-fill"]},"attrs":[{}],"properties":{"order":315,"id":242,"name":"thumbs-up-fill","prevSize":80,"code":59893},"setIdx":0,"setId":1,"iconIdx":19},{"icon":{"paths":["M1020.467 528.967c-2.341 5.266-5.266 9.946-9.362 14.042l-146.281 146.281c-8.774 8.774-19.895 12.873-31.011 12.873s-22.234-4.096-31.011-12.873c-16.967-16.967-16.967-45.053 0-62.024l71.384-71.384h-318.304v318.304l71.384-71.384c16.967-16.967 45.053-16.967 62.024 0s16.967 45.053 0 62.024l-146.281 146.281c-4.096 4.096-8.774 7.021-14.042 9.362s-11.117 3.513-16.967 3.513-11.701-1.17-16.967-3.513c-5.266-2.341-9.946-5.266-14.042-9.362l-146.281-146.281c-16.967-16.967-16.967-45.053 0-62.024s45.053-16.967 62.024 0l71.384 71.384v-318.304h-318.304l71.384 71.384c16.967 16.967 16.967 45.053 0 62.024-8.774 8.774-19.895 12.873-31.011 12.873s-22.234-4.096-31.011-12.873l-146.281-146.281c-4.096-4.096-7.021-8.774-9.362-14.042-4.681-10.532-4.681-22.82 0-33.35 2.341-5.266 5.266-9.946 9.362-14.042l146.281-146.281c16.967-16.967 45.053-16.967 62.024 0s16.967 45.053 0 62.024l-71.384 71.384h318.304v-318.889l-71.384 71.384c-16.967 16.967-45.053 16.967-62.024 0s-16.967-45.053 0-62.024l146.281-146.281c4.096-4.096 8.774-7.021 14.042-9.362 10.532-4.681 22.82-4.681 33.35 0 5.266 2.341 9.946 5.266 14.042 9.362l146.281 146.281c16.967 16.967 16.967 45.053 0 62.024-8.774 8.774-19.895 12.873-31.011 12.873s-22.234-4.096-31.011-12.873l-71.384-71.384v318.304h318.304l-71.384-71.384c-16.967-16.967-16.967-45.053 0-62.024s45.053-16.967 62.024 0l146.281 146.281c4.096 4.096 7.021 8.774 9.362 14.042 4.681 10.532 4.681 22.82 0 33.35z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrows-alt"]},"attrs":[{}],"properties":{"order":310,"id":241,"name":"arrows-alt","prevSize":80,"code":59888},"setIdx":0,"setId":1,"iconIdx":20},{"icon":{"paths":["M695.789 315.083h-367.579c-14.704 0-26.255-11.553-26.255-26.255v-78.767c0-14.704 11.553-26.255 26.255-26.255h367.579c14.704 0 26.255 11.553 26.255 26.255v78.767c0 14.704-11.553 26.255-26.255 26.255zM722.045 472.617v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM406.978 472.617v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM564.512 472.617v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM722.045 643.278v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM406.978 643.278v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM564.512 643.278v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM722.045 813.939v-52.512c0-14.704-11.553-26.255-26.255-26.255h-52.512c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h52.512c14.704 0 26.255-11.553 26.255-26.255zM564.512 813.939v-52.512c0-14.704-11.553-26.255-26.255-26.255h-210.045c-14.704 0-26.255 11.553-26.255 26.255v52.512c0 14.704 11.553 26.255 26.255 26.255h210.045c14.704 0 26.255-11.553 26.255-26.255zM892.706 905.834v-787.668c0-65.114-53.036-118.15-118.15-118.15h-525.113c-65.114 0-118.15 53.036-118.15 118.15v787.668c0 65.114 53.036 118.15 118.15 118.15h525.113c65.114 0 118.15-53.036 118.15-118.15zM774.556 78.782c21.529 0 39.383 17.854 39.383 39.383v787.668c0 21.529-17.854 39.383-39.383 39.383h-525.113c-21.529 0-39.383-17.854-39.383-39.383v-787.668c0-21.529 17.854-39.383 39.383-39.383h525.113z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["calculator"]},"attrs":[{}],"properties":{"order":308,"id":240,"name":"calculator","prevSize":80,"code":59887},"setIdx":0,"setId":1,"iconIdx":21},{"icon":{"paths":["M117.634 249.75l80.59-80.59v375.869c0 27.083 22.46 49.543 49.543 49.543s49.543-22.46 49.543-49.543v-375.869l80.59 80.59c9.909 9.909 22.46 14.533 35.010 14.533s25.101-4.625 35.010-14.533c19.156-19.156 19.156-50.864 0-70.022l-165.145-165.145c-4.625-4.625-9.909-7.927-15.854-10.57-11.89-5.284-25.763-5.284-37.653 0-5.945 2.643-11.229 5.945-15.854 10.57l-165.145 165.145c-19.156 19.156-19.156 50.864 0 70.022s50.864 19.156 70.022 0z","M906.366 774.25l-80.59 80.59v-375.869c0-27.083-22.46-49.543-49.543-49.543s-49.543 22.46-49.543 49.543v375.869l-80.59-80.59c-19.156-19.156-50.864-19.156-70.022 0s-19.156 50.864 0 70.022l165.145 165.145c4.625 4.625 9.909 7.927 15.854 10.57s12.552 3.963 19.156 3.963 13.211-1.321 19.156-3.963c5.945-2.643 11.229-5.945 15.854-10.57l165.145-165.145c19.156-19.156 19.156-50.864 0-70.022s-50.864-19.156-70.022 0z","M976.388 117.634c19.156-19.156 19.156-50.864 0-70.022s-50.864-19.156-70.022 0l-80.59 80.59v-78.608c0-27.083-22.46-49.543-49.543-49.543s-49.543 22.46-49.543 49.543v177.695l-679.075 679.075c-19.156 19.156-19.156 50.864 0 70.022 9.909 9.909 22.46 14.533 35.010 14.533s25.101-4.625 35.010-14.533l80.59-80.59v78.608c0 27.083 22.46 49.543 49.543 49.543s49.543-22.46 49.543-49.543v-177.695l679.075-679.075z"],"attrs":[{},{},{}],"grid":16,"tags":["sort-alt-slash"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":306,"id":239,"name":"sort-alt-slash","prevSize":80,"code":59886},"setIdx":0,"setId":1,"iconIdx":22},{"icon":{"paths":["M1020.451 495.033c-2.348-5.441-5.502-10.097-9.37-14.051l-234.032-234.032c-8.033-8.604-19.443-13.967-32.105-13.967-24.235 0-43.882 19.647-43.882 43.882 0 12.663 5.363 24.072 13.941 32.081l0.026 0.023 159.147 159.147h-724.353l159.147-159.147c7.297-7.815 11.777-18.343 11.777-29.915 0-24.235-19.647-43.882-43.882-43.882-11.574 0-22.1 4.48-29.942 11.802l0.026-0.023-234.040 234.040c-3.859 3.945-7.014 8.601-9.247 13.748l-0.114 0.295c-2.222 5-3.515 10.833-3.515 16.967s1.293 11.968 3.623 17.242l-0.108-0.273c2.348 5.441 5.502 10.097 9.37 14.051l234.032 234.032c7.939 7.929 18.902 12.834 31.010 12.834s23.071-4.904 31.011-12.834v0c7.929-7.939 12.834-18.902 12.834-31.010s-4.904-23.071-12.834-31.011v0l-159.147-159.147h724.353l-159.147 159.147c-7.929 7.939-12.834 18.902-12.834 31.010s4.904 23.071 12.834 31.011v0c7.939 7.929 18.902 12.834 31.010 12.834s23.071-4.904 31.011-12.834v0l234.040-234.040c3.859-3.945 7.014-8.601 9.247-13.748l0.114-0.295c2.222-5 3.515-10.833 3.515-16.967s-1.293-11.968-3.623-17.242l0.108 0.273z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrows-h"]},"attrs":[{}],"properties":{"order":305,"id":238,"name":"arrows-h","prevSize":80,"code":59884},"setIdx":0,"setId":1,"iconIdx":23},{"icon":{"paths":["M528.967 1020.451c5.441-2.348 10.097-5.502 14.051-9.37l234.032-234.032c7.297-7.815 11.777-18.343 11.777-29.915 0-24.235-19.647-43.882-43.882-43.882-11.574 0-22.1 4.48-29.942 11.802l0.026-0.023-159.147 159.147v-724.353l159.147 159.147c7.815 7.297 18.343 11.777 29.915 11.777 24.235 0 43.882-19.647 43.882-43.882 0-11.574-4.48-22.1-11.802-29.942l0.023 0.026-234.040-234.040c-3.945-3.859-8.601-7.014-13.748-9.247l-0.295-0.114c-5-2.222-10.833-3.515-16.967-3.515s-11.968 1.293-17.242 3.623l0.273-0.108c-5.441 2.348-10.097 5.502-14.051 9.37l-234.032 234.032c-7.929 7.939-12.834 18.902-12.834 31.010s4.904 23.071 12.834 31.011v0c7.939 7.929 18.902 12.834 31.010 12.834s23.071-4.904 31.011-12.834v0l159.147-159.147v724.353l-159.147-159.147c-7.939-7.929-18.902-12.834-31.010-12.834s-23.071 4.904-31.011 12.834v0c-7.929 7.939-12.834 18.902-12.834 31.010s4.904 23.071 12.834 31.011v0l234.040 234.040c3.945 3.859 8.601 7.014 13.748 9.247l0.295 0.114c5 2.222 10.833 3.515 16.967 3.515s11.968-1.293 17.242-3.623l-0.273 0.108z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrows-v"]},"attrs":[{}],"properties":{"order":304,"id":237,"name":"arrows-v","prevSize":80,"code":59885},"setIdx":0,"setId":1,"iconIdx":24},{"icon":{"paths":["M836.060 936.086h-552.19l116.989-164.955c5.016-7 8.065-15.709 8.189-25.123v-190.138h190.108c24.229 0 43.871-19.642 43.871-43.871s-19.642-43.871-43.871-43.871v0h-191.863v-190.108c-0.156-2.816-0.245-6.11-0.245-9.427 0-99.824 80.924-180.749 180.749-180.749 1.732 0 3.459 0.025 5.178 0.073l-0.254-0.005c3.537-0.243 7.666-0.381 11.827-0.381 101.439 0 183.673 82.233 183.673 183.673 0 5.695-0.259 11.328-0.766 16.89l0.052-0.716v58.495c0 24.229 19.642 43.871 43.871 43.871s43.871-19.642 43.871-43.871v0-58.495c0.352-5.164 0.553-11.193 0.553-17.269 0-149.252-120.994-270.246-270.246-270.246-4.515 0-9.003 0.111-13.464 0.329l0.628-0.025c-1.804-0.044-3.929-0.069-6.060-0.069-147.637 0-267.321 119.684-267.321 267.321 0 3.728 0.077 7.436 0.228 11.127l-0.018-0.528v190.108h-131.613c-24.229 0-43.871 19.642-43.871 43.871s19.642 43.871 43.871 43.871v0h131.613v175.484l-155.595 223.45c-3.958 6.515-6.3 14.39-6.3 22.813s2.343 16.298 6.411 23.010l-0.111-0.197c7.358 14.007 21.805 23.398 38.447 23.398 0.056 0 0.112 0 0.169 0h633.489c24.229 0 43.871-19.642 43.871-43.871s-19.642-43.871-43.871-43.871v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["pound"]},"attrs":[{}],"properties":{"order":303,"id":236,"name":"pound","prevSize":80,"code":59883},"setIdx":0,"setId":1,"iconIdx":25},{"icon":{"paths":["M727.036 469.12l-70.398-16 55.038 78.078v242.556l187.516-156.157v-265.595l-86.398 30.719-85.758 86.398z","M289.285 469.12l-86.398-86.398-85.758-30.719v265.595l187.516 156.157v-242.556l55.038-78.078-70.398 16z","M586.238 476.8h-156.157l-39.040-23.68-62.718 94.078v351.993l46.72 69.759 55.038 55.038h156.157l55.038-55.038 46.72-69.759v-351.993l-62.718-94.078-39.040 23.68z","M711.676 922.231l101.117-101.758v-101.117l-101.117 85.758v117.118z","M202.886 820.473l101.758 101.758v-117.118l-101.758-85.758v101.117z","M453.122 445.442h39.679v-445.431h-86.398l-62.079 147.837-282.234-23.040 47.359 195.836 335.993 124.797h7.68z","M671.997 147.848l-62.079-147.837h-86.398v447.991h52.479l335.993-127.997 47.999-191.996z","M852.474 109.449l-110.078-109.438h-109.438l55.038 124.797 164.476-15.36z","M382.722 0.011h-109.438l-109.438 109.438 164.476 15.36 54.399-124.797z"],"attrs":[{},{},{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["prime"]},"attrs":[{},{},{},{},{},{},{},{},{}],"properties":{"order":307,"id":235,"name":"prime","prevSize":80,"code":59882},"setIdx":0,"setId":1,"iconIdx":26},{"icon":{"paths":["M589.605 64.373v-18.004c-0.345-25.576-20.987-46.218-46.53-46.563h-0.033c-300.373 1.794-543.179 245.708-543.179 546.331 0 98.823 26.237 191.517 72.126 271.496l-1.409-2.663c8.24 13.842 23.126 22.972 40.145 22.972 0.074 0 0.148 0 0.221 0h-0.012c8.464-0.017 16.386-2.321 23.186-6.325l-0.215 0.116 18.004-9.313c88.223 122.529 230.468 201.375 391.129 201.375 265.391 0 480.531-215.14 480.531-480.531 0-248.992-189.376-453.753-431.953-478.105l-2.014-0.163zM496.478 95.416v420.93l-365.676 209.844c-24.009-53.406-37.995-115.765-37.995-181.391 0-232.603 175.709-424.166 401.636-449.201l2.036-0.183zM543.042 931.068c-126.56-0.365-238.867-61.070-309.71-154.848l-0.712-0.982 333.392-191.84c14.165-7.849 23.596-22.711 23.596-39.775 0-0.204-0.001-0.407-0.004-0.611v0.031-384.921c192.214 25.131 339.099 187.876 339.099 384.928 0 213.47-172.379 386.677-385.534 388.018h-0.128z"],"attrs":[{}],"grid":16,"tags":["chart-pie"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":301,"id":234,"name":"chart-pie","prevSize":80,"code":59881},"setIdx":0,"setId":1,"iconIdx":27},{"icon":{"paths":["M399.361 614.401c-28.277 0-51.2-22.923-51.2-51.2s22.923-51.2 51.2-51.2c28.276 0 51.199 22.923 51.199 51.2v0c0 28.276-22.923 51.2-51.199 51.2v0zM1023.999 512c0 282.77-229.23 512-512 512s-512-229.23-512-512c0-282.77 229.23-512 512-512v0c282.769 0 512 229.23 512 512v0zM750.721 426.88c-18.359 1.113-34.69 8.976-46.715 21.114l-0.006 0.006c-49.923-33.418-111.167-53.62-177.080-54.397l-0.199-0.001 35.84-161.921 114.56 25.601c-0.003 0.191-0.005 0.416-0.005 0.641 0 27.924 22.636 50.56 50.56 50.56 0.002 0 0.003 0 0.005 0v0c28.355-0.361 51.2-23.43 51.2-51.836 0-0.001 0-0.003 0-0.004v0c0.016-0.492 0.027-1.071 0.027-1.653 0-27.924-22.637-50.56-50.561-50.56-20.408 0-37.99 12.090-45.978 29.498l-0.129 0.315-128-28.16c-0.688-0.138-1.481-0.217-2.292-0.217-5.656 0-10.412 3.862-11.77 9.093l-0.018 0.084-39.679 178.56c-66.101 0.974-127.301 21.143-178.501 55.164l1.221-0.764c-12.464-12.858-29.895-20.838-49.191-20.838-37.821 0-68.48 30.66-68.48 68.48 0 26.584 15.148 49.632 37.286 60.978l0.386 0.18c-0.468 4.795-0.733 10.366-0.733 16.001s0.267 11.205 0.787 16.701l-0.054-0.702c0 108.16 122.239 196.48 272.64 196.48s272.64-88.32 272.64-196.48c0-0.084 0-0.183 0-0.282 0-11.484-1.399-22.639-4.039-33.308l0.2 0.95c20.889-11.994 34.732-34.174 34.732-59.588 0-36.756-28.957-66.749-65.302-68.408l-0.15-0.006zM608.64 666.88c-27.226 17.349-60.409 27.649-96 27.649s-68.773-10.302-96.732-28.086l0.732 0.435c-2.268-2.080-5.305-3.355-8.64-3.355s-6.372 1.275-8.649 3.365l0.009-0.009c-2.426 2.23-3.939 5.418-3.939 8.959s1.514 6.729 3.93 8.952l0.009 0.008c31.918 21.918 71.391 35.004 113.921 35.004s82.002-13.086 114.611-35.451l-0.692 0.447c2.426-2.231 3.939-5.418 3.939-8.959s-1.514-6.729-3.93-8.952l-0.009-0.007c-2.337-2.457-5.63-3.984-9.28-3.984s-6.943 1.527-9.274 3.978l-0.005 0.006zM624.639 512c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2c28.276 0 51.199-22.923 51.199-51.2v0c0-28.277-22.923-51.2-51.199-51.2v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["reddit"]},"attrs":[{}],"properties":{"order":299,"id":233,"name":"reddit","prevSize":80,"code":59880},"setIdx":0,"setId":1,"iconIdx":28},{"icon":{"paths":["M367.461 188.397c-7.939-7.93-18.905-12.836-31.014-12.836s-23.074 4.905-31.015 12.836v0l-292.589 292.589c-7.93 7.939-12.836 18.905-12.836 31.014s4.905 23.074 12.836 31.015v0l292.589 292.589c7.939 7.93 18.905 12.836 31.014 12.836s23.074-4.905 31.015-12.836v0c7.93-7.939 12.836-18.905 12.836-31.014s-4.905-23.074-12.836-31.015v0l-261.574-261.574 261.574-261.574c7.93-7.939 12.836-18.905 12.836-31.014s-4.905-23.074-12.836-31.015v0z","M1011.156 480.986l-292.589-292.589c-7.817-7.298-18.345-11.779-29.92-11.779-24.239 0-43.889 19.649-43.889 43.889 0 11.575 4.481 22.104 11.803 29.946l-0.023-0.027 261.574 261.574-261.574 261.574c-7.93 7.939-12.836 18.905-12.836 31.014s4.905 23.074 12.836 31.015v0c7.939 7.93 18.905 12.836 31.014 12.836s23.074-4.905 31.015-12.836v0l292.589-292.589c7.93-7.939 12.836-18.905 12.836-31.014s-4.905-23.074-12.836-31.015v0z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["code"]},"attrs":[{},{}],"properties":{"order":298,"id":232,"name":"code","prevSize":80,"code":59879},"setIdx":0,"setId":1,"iconIdx":29},{"icon":{"paths":["M936.767 0.034c-27.214 0.367-49.178 22.331-49.545 49.509v160.562l-55.49-55.49c-86.69-87.405-206.835-141.515-339.617-141.515-209.345 0-387.277 134.501-452.092 321.801l-1.011 3.36c-2.53 5.71-4.002 12.369-4.002 19.374 0 21.825 14.301 40.308 34.044 46.591l0.347 0.094c2.483 0.454 5.34 0.712 8.257 0.712s5.775-0.259 8.55-0.756l-0.293 0.043c21.606-0.226 39.922-14.066 46.794-33.339l0.108-0.351c19.528-56.988 50.528-105.653 90.48-145.309l0.022-0.022c68.806-68.546 163.72-110.925 268.534-110.925s199.729 42.378 268.547 110.936l55.478 55.478h-159.205c-27.363 0-49.545 22.182-49.545 49.545s22.182 49.545 49.545 49.545v0h280.095c0.198 0.003 0.432 0.005 0.666 0.005 26.997 0 48.884-21.887 48.884-48.884 0-0.234-0.002-0.468-0.005-0.7v0.036-280.755c0-27.363-22.182-49.545-49.545-49.545v0z","M953.281 622.981c-5.442-2.202-11.755-3.479-18.366-3.479-22.122 0-40.903 14.308-47.591 34.174l-0.104 0.355c-19.528 56.988-50.528 105.653-90.48 145.309l-0.022 0.022c-68.806 68.546-163.72 110.925-268.534 110.925s-199.729-42.378-268.547-110.936l-55.478-55.478h163.169c27.363 0 49.545-22.182 49.545-49.545s-22.182-49.545-49.545-49.545v0h-280.095c-0.198-0.003-0.432-0.005-0.666-0.005-26.997 0-48.884 21.887-48.884 48.884 0 0.234 0.002 0.468 0.005 0.7v-0.036 280.095c0 27.363 22.182 49.545 49.545 49.545s49.545-22.182 49.545-49.545v0-160.526l55.49 55.49c86.69 87.405 206.835 141.515 339.617 141.515 209.345 0 387.277-134.501 452.092-321.801l1.011-3.36c1.72-4.786 2.714-10.307 2.714-16.060 0-21.835-14.317-40.328-34.076-46.602l-0.347-0.094z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["sync"]},"attrs":[{},{}],"properties":{"order":297,"id":231,"name":"sync","prevSize":80,"code":59878},"setIdx":0,"setId":1,"iconIdx":30},{"icon":{"paths":["M950.857 292.571h-175.543v-29.257c0-145.425-117.889-263.314-263.314-263.314s-263.314 117.889-263.314 263.314v0 29.257h-175.543c-40.395 0-73.142 32.747-73.142 73.142v0 497.372c0 88.87 72.044 160.914 160.914 160.914v0h702.171c88.87 0 160.914-72.044 160.914-160.914v0-497.372c0-40.395-32.747-73.142-73.142-73.142v0zM336.457 263.315c0-96.949 78.594-175.543 175.543-175.543s175.543 78.594 175.543 175.543v0 29.257h-351.086zM936.228 863.086c0 40.395-32.747 73.142-73.142 73.142v0h-702.171c-40.395 0-73.142-32.747-73.142-73.142v0-482.743h160.914v131.657c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-131.657h351.086v131.657c0 24.237 19.648 43.886 43.886 43.886s43.886-19.648 43.886-43.886v0-131.657h160.914z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["shopping-bag"]},"attrs":[{}],"properties":{"order":296,"id":230,"name":"shopping-bag","prevSize":80,"code":59877},"setIdx":0,"setId":1,"iconIdx":31},{"icon":{"paths":["M1023.969 301.19v-180.695c0-33.265-26.967-60.232-60.232-60.232v0h-903.474c-33.265 0-60.232 26.967-60.232 60.232v0 180.695c0 33.265 26.967 60.232 60.232 60.232v0c-33.265 0-60.232 26.967-60.232 60.232v0 180.695c0 33.265 26.967 60.232 60.232 60.232v0c-33.265 0-60.232 26.967-60.232 60.232v0 180.695c0 33.265 26.967 60.232 60.232 60.232v0h903.474c33.265 0 60.232-26.967 60.232-60.232v0-180.695c0-33.265-26.967-60.232-60.232-60.232v0c33.265 0 60.232-26.967 60.232-60.232v0-180.695c0-33.265-26.967-60.232-60.232-60.232v0c33.265 0 60.232-26.967 60.232-60.232v0zM963.737 903.505h-903.474v-180.695h903.474zM963.737 602.347h-903.474v-180.695h903.474zM963.737 301.19h-903.474v-180.695h903.474z","M210.842 210.842c0 24.949-20.225 45.174-45.174 45.174s-45.174-20.225-45.174-45.174c0-24.949 20.225-45.174 45.174-45.174s45.174 20.225 45.174 45.174z","M361.421 210.842c0 24.949-20.225 45.174-45.174 45.174s-45.174-20.225-45.174-45.174c0-24.949 20.225-45.174 45.174-45.174s45.174 20.225 45.174 45.174z","M210.842 512c0 24.949-20.225 45.174-45.174 45.174s-45.174-20.225-45.174-45.174c0-24.949 20.225-45.174 45.174-45.174s45.174 20.225 45.174 45.174z","M361.421 512c0 24.949-20.225 45.174-45.174 45.174s-45.174-20.225-45.174-45.174c0-24.949 20.225-45.174 45.174-45.174s45.174 20.225 45.174 45.174z","M210.842 813.158c0 24.949-20.225 45.174-45.174 45.174s-45.174-20.225-45.174-45.174c0-24.949 20.225-45.174 45.174-45.174s45.174 20.225 45.174 45.174z","M361.421 813.158c0 24.949-20.225 45.174-45.174 45.174s-45.174-20.225-45.174-45.174c0-24.949 20.225-45.174 45.174-45.174s45.174 20.225 45.174 45.174z"],"attrs":[{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["server"]},"attrs":[{},{},{},{},{},{},{}],"properties":{"order":295,"id":229,"name":"server","prevSize":80,"code":59876},"setIdx":0,"setId":1,"iconIdx":32},{"icon":{"paths":["M926.005 99.103c-121.161-57.959-262.777-93.948-412.236-99.026l-1.769-0.048c-151.228 5.125-292.843 41.116-420.425 101.823l6.42-2.75c-32.977 15.76-55.351 48.848-55.351 87.164 0 0.296 0.001 0.59 0.004 0.885v-0.045 649.789c-0.003 0.249-0.004 0.545-0.004 0.839 0 38.315 22.376 71.404 54.773 86.914l0.58 0.25c121.161 57.959 262.777 93.948 412.236 99.026l1.769 0.048c151.228-5.125 292.843-41.116 420.425-101.823l-6.42 2.75c32.977-15.76 55.351-48.848 55.351-87.164 0-0.296-0.001-0.59-0.004-0.885v0.045-649.789c0.003-0.249 0.004-0.545 0.004-0.839 0-38.315-22.376-71.404-54.773-86.914l-0.58-0.25zM899.438 541.888c-113.2 55.308-245.67 89.857-385.631 95.145l-1.807 0.054c-141.767-5.341-274.238-39.89-393.276-97.76l5.838 2.561v-213.644c113.851 51.38 246.465 82.977 386.006 86.865l1.431 0.031c140.973-3.92 273.587-35.517 393.967-89.515l-6.53 2.618zM132.864 174.375c110.92-53.263 240.582-86.42 377.448-91.277l1.688-0.048c138.75 5.006 268.584 38.151 385.604 93.859l-5.915-2.535c4.63 2.445 7.734 7.224 7.748 12.728v48.156c-113.2 55.308-245.67 89.857-385.631 95.145l-1.807 0.054c-141.767-5.341-274.238-39.89-393.276-97.76l5.838 2.561v-49.813c0.619-4.997 3.823-9.121 8.213-11.035l0.090-0.035zM891.136 849.625c-110.92 53.263-240.582 86.42-377.448 91.277l-1.688 0.048c-138.75-5.006-268.584-38.151-385.604-93.859l5.915 2.535c-4.63-2.445-7.734-7.224-7.748-12.728v-204.238c113.851 51.38 246.465 82.977 386.006 86.865l1.431 0.031c140.973-3.92 273.587-35.517 393.967-89.515l-6.53 2.618v204.235c0 0.014 0 0.031 0 0.048 0 5.64-3.374 10.492-8.214 12.647l-0.088 0.035z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["database"]},"attrs":[{}],"properties":{"order":294,"id":228,"name":"database","prevSize":80,"code":59875},"setIdx":0,"setId":1,"iconIdx":33},{"icon":{"paths":["M984.598 262.573h-157.533l40.433-161.209c0.73-2.838 1.148-6.096 1.148-9.452 0-21.805-17.677-39.482-39.482-39.482-18.449 0-33.942 12.654-38.274 29.756l-0.059 0.273-45.159 180.113h-338.696l40.433-161.209c0.73-2.838 1.148-6.096 1.148-9.452 0-21.805-17.677-39.482-39.482-39.482-18.449 0-33.942 12.654-38.274 29.756l-0.059 0.273-47.26 180.113h-179.062c-21.751 0-39.383 17.633-39.383 39.383s17.633 39.383 39.383 39.383v0h157.533l-85.593 341.321h-176.962c-21.751 0-39.383 17.633-39.383 39.383s17.633 39.383 39.383 39.383v0h157.533l-40.433 161.209c-0.73 2.838-1.148 6.096-1.148 9.452 0 21.805 17.677 39.482 39.482 39.482 18.449 0 33.942-12.654 38.274-29.756l0.059-0.273 45.159-180.113h338.696l-40.433 161.209c-0.73 2.838-1.148 6.096-1.148 9.452 0 21.805 17.677 39.482 39.482 39.482 18.449 0 33.942-12.654 38.274-29.756l0.059-0.273 45.159-180.113h181.163c21.751 0 39.383-17.633 39.383-39.383s-17.633-39.383-39.383-39.383v0h-157.533l85.593-341.321h176.962c21.751 0 39.383-17.633 39.383-39.383s-17.633-39.383-39.383-39.383v0zM722.044 341.339l-85.593 341.321h-334.495l85.593-341.321z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["hashtag"]},"attrs":[{}],"properties":{"order":293,"id":227,"name":"hashtag","prevSize":80,"code":59874},"setIdx":0,"setId":1,"iconIdx":34},{"icon":{"paths":["M731.351 0.181h-438.702c-88.839 0-160.857 72.018-160.857 160.857v0 818.91c-0.001 0.096-0.001 0.21-0.001 0.324 0 24.229 19.642 43.87 43.87 43.87 9.418 0 18.143-2.968 25.291-8.020l-0.137 0.092 311.186-217.011 311.186 217.011c6.914 4.763 15.47 7.606 24.689 7.606 0.163 0 0.325-0.001 0.488-0.003h-0.025c7.45-0.092 14.477-1.807 20.773-4.808l-0.3 0.129c13.96-7.76 23.279-22.374 23.398-39.173v-818.927c0-88.839-72.018-160.857-160.857-160.857v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["bookmark-fill"]},"attrs":[{}],"properties":{"order":290,"id":226,"name":"bookmark-fill","prevSize":80,"code":59871},"setIdx":0,"setId":1,"iconIdx":35},{"icon":{"paths":["M1004.095 24.725c-7.747-14.706-22.885-24.586-40.34-24.695h-903.493c-17.471 0.11-32.608 9.989-40.236 24.445l-0.12 0.25c-3.089 5.86-4.901 12.805-4.901 20.173 0 10.136 3.43 19.471 9.191 26.908l-0.075-0.1 322.241 440.294v466.797c0.335 24.813 20.361 44.839 45.141 45.174h240.96c24.813-0.335 44.839-20.361 45.174-45.141v-466.83l322.241-440.294c5.688-7.337 9.117-16.671 9.117-26.808 0-7.369-1.813-14.314-5.016-20.414l0.116 0.241z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["filter-fill"]},"attrs":[{}],"properties":{"order":289,"id":225,"name":"filter-fill","prevSize":80,"code":59872},"setIdx":0,"setId":1,"iconIdx":36},{"icon":{"paths":["M940.27 142.985v0c-52.342-52.898-124.95-85.655-205.208-85.655-0.25 0-0.502 0-0.752 0.001h0.039c-0.212 0-0.462-0.001-0.714-0.001-80.258 0-152.867 32.757-205.183 85.63l-0.025 0.025-16.427 17.013-16.427-16.427c-52.551-52.546-125.148-85.046-205.334-85.046s-152.783 32.5-205.336 85.047v0c-51.85 52.868-83.852 125.364-83.852 205.334s32.002 152.468 83.898 205.382l-0.045-0.047 397.176 398.35c7.96 7.95 18.953 12.869 31.093 12.869s23.133-4.917 31.094-12.869v0l397.176-398.35c51.673-52.835 83.555-125.21 83.555-205.032 0-80.411-32.354-153.263-84.754-206.251l0.026 0.026z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["heart-fill"]},"attrs":[{}],"properties":{"order":288,"id":224,"name":"heart-fill","prevSize":80,"code":59873},"setIdx":0,"setId":1,"iconIdx":37},{"icon":{"paths":["M944.92 71.496c-6.851-4.781-15.351-7.639-24.52-7.639-5.664 0-11.074 1.091-16.029 3.074l0.291-0.103c-63.404 28.272-136.947 48.827-213.986 57.993l-3.642 0.353c-50.961-13.852-95.595-33.813-136.214-59.541l2.021 1.195c-50.241-31.546-108.991-55.111-171.832-67.168l-3.203-0.511c-75.265-7.001-254.385 51.927-291.724 64.179-17.436 6.017-29.741 22.283-29.756 41.423v874.010c0 24.167 19.592 43.759 43.759 43.759s43.759-19.592 43.759-43.759v0-341.902c65.742-24.141 142.134-41.68 221.425-49.3l3.786-0.294c53.070 13.251 99.74 33.289 142.139 59.564l-2.111-1.218c47.311 29.399 102.324 52.182 160.994 65.266l3.539 0.663h13.419c91.412-12.072 174.279-35.196 251.871-68.295l-6.238 2.366c16.429-6.638 27.841-22.387 28.006-40.821v-497.12c0.056-0.823 0.088-1.785 0.088-2.753 0-13.438-6.14-25.443-15.767-33.361l-0.075-0.060z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["flag-fill"]},"attrs":[{}],"properties":{"order":287,"id":223,"name":"flag-fill","prevSize":80,"code":59870},"setIdx":0,"setId":1,"iconIdx":38},{"icon":{"paths":["M512 1023.989c-282.763 0-511.989-229.226-511.989-511.989s229.226-511.989 511.989-511.989c282.763 0 511.989 229.226 511.989 511.989v0c0 282.763-229.226 511.989-511.989 511.989v0zM512 85.343c-235.636 0-426.657 191.021-426.657 426.657s191.021 426.657 426.657 426.657c235.636 0 426.657-191.021 426.657-426.657v0c0-235.636-191.021-426.657-426.657-426.657v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["circle"]},"attrs":[{}],"properties":{"order":286,"id":222,"name":"circle","prevSize":80,"code":59868},"setIdx":0,"setId":1,"iconIdx":39},{"icon":{"paths":["M1023.989 512c0 282.763-229.226 511.989-511.989 511.989s-511.989-229.226-511.989-511.989c0-282.763 229.226-511.989 511.989-511.989s511.989 229.226 511.989 511.989z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["circle-fill"]},"attrs":[{}],"properties":{"order":285,"id":221,"name":"circle-fill","prevSize":80,"code":59869},"setIdx":0,"setId":1,"iconIdx":40},{"icon":{"paths":["M462.875 1024.834c-1.947 0.372-4.188 0.585-6.478 0.585s-4.531-0.213-6.702-0.62l0.224 0.035c-18.586-5.739-31.857-22.766-31.857-42.893 0-0.292 0.003-0.585 0.009-0.876l-0.001 0.044v-5.938l48.584-342.789h-234.284c-0.011 0-0.024 0-0.038 0-16.55 0-30.926-9.309-38.177-22.979l-0.114-0.234c-3.963-6.646-6.305-14.655-6.305-23.213s2.342-16.567 6.421-23.424l-0.116 0.211 107.965-188.4 221.328-351.967c7.563-12.608 21.158-20.914 36.694-20.914 4.633 0 9.094 0.739 13.272 2.105l-0.301-0.085c18.586 5.739 31.857 22.766 31.857 42.893 0 0.292-0.003 0.585-0.009 0.876l0.001-0.044v5.938l-48.584 342.789h234.824c0.011 0 0.024 0 0.038 0 16.55 0 30.926 9.309 38.177 22.979l0.114 0.234c3.963 6.646 6.305 14.655 6.305 23.213s-2.342 16.567-6.421 23.424l0.116-0.211-107.965 188.4-221.328 351.967c-7.762 11.483-20.733 18.931-35.445 18.931-0.634 0-1.265-0.014-1.893-0.042l0.090 0.003zM434.265 959.516v0zM292.291 549.248h215.931c24.812 0.302 44.809 20.488 44.809 45.342 0 0.191-0.001 0.382-0.004 0.572v-0.029 5.938l-31.849 223.488 134.957-215.931 77.735-133.876h-215.931c-24.812-0.302-44.809-20.488-44.809-45.342 0-0.191 0.001-0.382 0.004-0.572v0.029-5.938l31.849-223.488-134.957 215.931zM589.735 63.945v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["bolt"]},"attrs":[{}],"properties":{"order":284,"id":220,"name":"bolt","prevSize":80,"code":59867},"setIdx":0,"setId":1,"iconIdx":41},{"icon":{"paths":["M876.353 155.475c-91.36-90.984-217.374-147.233-356.525-147.233s-265.163 56.249-356.542 147.25l-72.854 72.854v-175.251c0-24.945-20.222-45.168-45.168-45.168s-45.168 20.222-45.168 45.168v0 285.461c0 0.001 0 0.003 0 0.004 0 25.067 20.15 45.426 45.135 45.766h286.096c24.945 0 45.168-20.222 45.168-45.168s-20.222-45.168-45.168-45.168v0h-180.671l76.485-74.678c74.952-74.805 178.417-121.062 292.688-121.062s217.736 46.257 292.695 121.070l-0.007-0.007c372.786 402.897-180.671 958.161-585.375 585.375-8.171-8.161-19.456-13.21-31.918-13.21s-23.747 5.048-31.92 13.21v0c-8.309 8.103-13.464 19.409-13.464 31.918s5.155 23.815 13.454 31.91l0.010 0.008c91.243 91.243 217.293 147.678 356.525 147.678 278.462 0 504.201-225.739 504.201-504.201 0-139.231-56.434-265.282-147.678-356.525v0z","M512 256.049c-24.81 0.335-44.833 20.358-45.168 45.135v210.815c0.011 12.468 5.073 23.753 13.248 31.918v0l152.367 148.753c8.084 8.182 19.304 13.25 31.708 13.25 0.073 0 0.148 0 0.222 0h-0.011c21.988-3.292 38.658-22.048 38.658-44.696 0-10.97-3.91-21.026-10.413-28.851l0.059 0.073-137.31-137.31v-193.921c-0.294-24.201-19.326-43.864-43.245-45.162l-0.116-0.006z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["history"]},"attrs":[{},{}],"properties":{"order":283,"id":219,"name":"history","prevSize":80,"code":59866},"setIdx":0,"setId":1,"iconIdx":42},{"icon":{"paths":["M1022.811 776.474s0-4.096 0-6.436v-516.077c-0.023-7.052-1.751-13.696-4.793-19.546l0.112 0.237c-4.397-9.329-11.736-16.668-20.801-20.952l-0.263-0.112-468.096-209.474c-5.326-2.478-11.563-3.924-18.139-3.924s-12.811 1.445-18.411 4.037l0.272-0.112-468.096 209.474c-14.982 7.661-25.187 22.762-25.744 40.299l-0.001 0.074v516.077c0.941 17.495 11.005 32.44 25.487 40.246l0.258 0.128 468.096 209.474c5.306 2.591 11.546 4.105 18.139 4.105s12.832-1.514 18.389-4.214l-0.251 0.11 468.096-209.474c13.538-6.306 23.285-18.763 25.711-33.677l0.034-0.259zM86.616 321.251l380.328 170.856v420.117l-380.328-170.27zM554.714 492.105l380.328-170.856v420.702l-380.328 170.27zM512 91.883l361.019 162.079-361.019 161.493-361.019-161.493z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["box"]},"attrs":[{}],"properties":{"order":282,"id":218,"name":"box","prevSize":80,"code":59865},"setIdx":0,"setId":1,"iconIdx":43},{"icon":{"paths":["M512 0.027c-282.755 0-511.973 229.218-511.973 511.973v0c-0.022 1.75-0.034 3.816-0.034 5.886 0 279.524 226.599 506.123 506.123 506.123 2.069 0 4.135-0.012 6.199-0.037l-0.313 0.003c24.236 0 43.883-19.647 43.883-43.883s-19.647-43.883-43.883-43.883v0c-1.399 0.016-3.053 0.026-4.708 0.026-231.698 0-419.526-187.828-419.526-419.526 0-1.655 0.010-3.308 0.029-4.959l-0.003 0.251c0.333-234.15 190.058-423.874 424.174-424.206h0.032c281.439 0 424.206 142.768 424.206 424.206v80.745c0.187 2.116 0.292 4.578 0.292 7.064 0 47.18-38.247 85.426-85.426 85.426s-85.426-38.247-85.426-85.426c0-2.486 0.106-4.948 0.314-7.381l-0.022 0.317v-292.556c0-24.236-19.647-43.883-43.883-43.883s-43.883 19.647-43.883 43.883v0 19.894c-44.051-38.526-102.099-62.022-165.637-62.022-0.188 0-0.377 0-0.565 0h0.029c-140.246 0-253.938 113.692-253.938 253.938s113.692 253.938 253.938 253.938v0c75.633-0.27 143.364-33.87 189.31-86.869l0.266-0.313c30.329 52.256 86.021 86.836 149.789 86.836 95.329 0 172.609-77.279 172.609-172.609 0-0.084 0-0.169 0-0.252v0.014-80.745c0-330.003-181.969-511.973-511.973-511.973zM512 678.171c-91.774 0-166.171-74.397-166.171-166.171s74.397-166.171 166.171-166.171c91.774 0 166.171 74.397 166.171 166.171v0c-0.332 91.641-74.532 165.841-166.14 166.171h-0.032z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["at"]},"attrs":[{}],"properties":{"order":281,"id":217,"name":"at","prevSize":80,"code":59864},"setIdx":0,"setId":1,"iconIdx":44},{"icon":{"paths":["M273.927 128.663c-27.857 0-50.44 22.582-50.44 50.44s22.582 50.44 50.44 50.44v0h449.244l-579.714 579.714c-9.89 9.234-16.053 22.349-16.053 36.904 0 27.857 22.582 50.44 50.44 50.44 14.555 0 27.668-6.164 36.874-16.025l0.028-0.030 579.714-579.714v449.244c0 27.857 22.582 50.44 50.44 50.44s50.44-22.582 50.44-50.44v0-570.97c-0.038-7.053-1.518-13.753-4.16-19.829l0.126 0.327c-7.47-17.225-23.668-29.376-42.86-30.924l-0.182-0.011z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrow-up-right"]},"attrs":[{}],"properties":{"order":309,"id":216,"name":"arrow-up-right","prevSize":80,"code":59860},"setIdx":0,"setId":1,"iconIdx":45},{"icon":{"paths":["M128.665 750.071c0 27.856 22.582 50.438 50.438 50.438s50.438-22.582 50.438-50.438v0-449.241l579.71 579.71c9.233 9.89 22.348 16.053 36.903 16.053 27.856 0 50.438-22.582 50.438-50.438 0-14.555-6.164-27.668-16.025-36.874l-0.030-0.028-579.71-579.71h449.241c27.856 0 50.438-22.582 50.438-50.438s-22.582-50.438-50.438-50.438v0h-570.968c-7.053 0.038-13.753 1.518-19.829 4.16l0.327-0.126c-18.183 7.953-30.702 25.689-30.935 46.373v0.030z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrow-up-left"]},"attrs":[{}],"properties":{"order":278,"id":215,"name":"arrow-up-left","prevSize":80,"code":59861},"setIdx":0,"setId":1,"iconIdx":46},{"icon":{"paths":["M749.048 893.688c27.738 0 50.223-22.484 50.223-50.223s-22.484-50.223-50.223-50.223v0h-447.31l577.218-577.218c9.846-9.194 15.985-22.253 15.985-36.744 0-27.738-22.484-50.223-50.223-50.223-14.491 0-27.549 6.138-36.714 15.954l-0.028 0.030-577.218 577.218v-447.31c0-27.738-22.484-50.223-50.223-50.223s-50.223 22.484-50.223 50.223v0 571.861c0.038 7.024 1.513 13.694 4.144 19.745l-0.126-0.325c7.919 18.102 25.578 30.57 46.174 30.801h0.030z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrow-down-left"]},"attrs":[{}],"properties":{"order":279,"id":214,"name":"arrow-down-left","prevSize":80,"code":59862},"setIdx":0,"setId":1,"iconIdx":47},{"icon":{"paths":["M896.598 273.145c0-27.949-22.657-50.606-50.606-50.606s-50.606 22.657-50.606 50.606v0 450.722l-581.62-581.62c-9.013-8.416-21.152-13.58-34.498-13.58-27.949 0-50.606 22.657-50.606 50.606 0 13.348 5.166 25.486 13.61 34.529l-0.028-0.030 581.62 581.62h-450.722c-27.949 0-50.606 22.657-50.606 50.606s22.657 50.606 50.606 50.606v0h576.221c7.076-0.039 13.797-1.525 19.894-4.175l-0.328 0.126c15.905-8.356 26.772-24.403 27.661-43.066l0.006-0.114z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["arrow-down-right"]},"attrs":[{}],"properties":{"order":280,"id":213,"name":"arrow-down-right","prevSize":80,"code":59863},"setIdx":0,"setId":1,"iconIdx":48},{"icon":{"paths":["M512 0.011c-282.764 0-511.989 229.225-511.989 511.989s229.225 511.989 511.989 511.989c282.764 0 511.989-229.225 511.989-511.989v0c0-282.764-229.225-511.989-511.989-511.989v0zM763.515 350.723l-83.838 396.152c-6.4 28.159-23.040 34.559-46.72 21.76l-127.997-94.719-63.999 59.519c-5.961 7.732-15.19 12.694-25.582 12.799h-0.016l8.959-127.997 236.796-214.395c10.879-8.959 0-14.080-15.36-5.119l-290.555 182.396-127.997-39.679c-27.52-8.32-28.159-27.52 5.76-40.319l493.43-191.996c24.319-7.039 44.8 7.039 37.12 41.599z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["telegram"]},"attrs":[{}],"properties":{"order":276,"id":212,"name":"telegram","prevSize":80,"code":59859},"setIdx":0,"setId":1,"iconIdx":49},{"icon":{"paths":["M512 1023.991c-282.764 0-511.991-229.227-511.991-511.991s229.227-511.991 511.991-511.991c282.764 0 511.991 229.227 511.991 511.991v0c0 282.764-229.227 511.991-511.991 511.991v0zM512 85.341c-235.637 0-426.659 191.022-426.659 426.659s191.022 426.659 426.659 426.659c235.637 0 426.659-191.022 426.659-426.659v0c0-235.637-191.022-426.659-426.659-426.659v0z","M369.78 284.448h284.439c47.127 0 85.332 38.205 85.332 85.332v284.439c0 47.127-38.205 85.332-85.332 85.332h-284.439c-47.127 0-85.332-38.205-85.332-85.332v-284.439c0-47.127 38.205-85.332 85.332-85.332z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["stop-circle"]},"attrs":[{},{}],"properties":{"order":275,"id":211,"name":"stop-circle","prevSize":80,"code":59858},"setIdx":0,"setId":1,"iconIdx":50},{"icon":{"paths":["M842.308 1023.979h-660.618c-100.333 0-181.669-81.336-181.669-181.669v0-660.618c0-100.333 81.336-181.669 181.669-181.669v0h660.618c100.333 0 181.669 81.336 181.669 181.669v0 660.618c0 100.333-81.336 181.669-181.669 181.669v0zM181.692 99.114c-45.606 0-82.577 36.971-82.577 82.577v0 660.618c0 45.606 36.971 82.577 82.577 82.577v0h660.618c45.606 0 82.577-36.971 82.577-82.577v0-660.618c0-45.606-36.971-82.577-82.577-82.577v0z"],"attrs":[{}],"grid":16,"tags":["stop"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":274,"id":210,"name":"stop","prevSize":80,"code":59857},"setIdx":0,"setId":1,"iconIdx":51},{"icon":{"paths":["M870.378 148.502c-91.041-91.707-217.17-148.474-356.557-148.474-0.64 0-1.281 0.001-1.92 0.003h0.099c-280.418 0.282-507.634 227.671-507.634 508.129 0 93.024 24.997 180.211 68.642 255.208l-1.302-2.422-71.676 263.024 268.784-70.395c69.896 39.602 153.381 63.238 242.321 63.995l0.223 0.001c0.006 0 0.012 0 0.019 0 281.177 0 509.412-226.669 511.947-507.248l0.001-0.241c-0.978-141.618-59.303-269.426-152.883-361.512l-0.067-0.066zM512 929.894c-0.081 0-0.178 0-0.274 0-79.234 0-153.358-21.884-216.656-59.938l1.903 1.060-15.359-9.599-159.35 42.237 42.237-155.511-10.24-16c-39.739-63.209-63.313-140.066-63.313-222.43 0-233.27 189.104-422.374 422.374-422.374 115.76 0 220.644 46.569 296.938 121.995l-0.040-0.039c77.623 75.954 126.276 181.243 127.989 297.901l0.003 0.321c-2.173 233.734-192.155 422.374-426.196 422.374-0.006 0-0.012 0-0.018 0h0.001zM743.026 613.754c-12.799-6.4-74.875-37.118-86.395-40.958s-20.478-6.4-28.798 6.4c-13.451 18.342-26.668 34.402-40.702 49.701l0.384-0.424c-7.039 8.959-14.719 9.599-27.519 0-73.887-29.731-133.426-82.24-171.269-148.708l-0.882-1.681c-13.439-22.398 12.799-21.119 37.118-69.116 1.722-3.252 2.733-7.107 2.733-11.2s-1.011-7.948-2.796-11.332l0.064 0.132c0-6.4-28.798-69.116-39.038-94.074s-20.478-21.119-28.798-21.759h-24.958c-13.577 0.214-25.68 6.352-33.865 15.937l-0.052 0.063c-26.196 25.492-42.447 61.088-42.447 100.48 0 2.698 0.076 5.38 0.226 8.041l-0.016-0.369c4.318 50.122 23.15 95.162 52.219 131.69l-0.382-0.498c54.892 81.39 128.004 146.508 213.743 190.496l3.204 1.492c35.584 21.122 78.444 33.605 124.218 33.605 9.899 0 19.661-0.583 29.254-1.719l-1.162 0.112c36.419-7.408 66.636-29.449 84.793-59.581l0.322-0.576c5.793-12.526 9.172-27.184 9.172-42.632 0-6.192-0.543-12.256-1.582-18.147l0.091 0.624c-5.76-6.4-14.080-9.599-26.878-16z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["whatsapp"]},"attrs":[{}],"properties":{"order":273,"id":209,"name":"whatsapp","prevSize":80,"code":59856},"setIdx":0,"setId":1,"iconIdx":52},{"icon":{"paths":["M365.722 160.934h58.511c16.157 0 29.255 13.098 29.255 29.255v58.511c0 16.157-13.098 29.255-29.255 29.255h-58.511c-16.157 0-29.255-13.098-29.255-29.255v-58.511c0-16.157 13.098-29.255 29.255-29.255z","M599.767 160.934h58.511c16.157 0 29.255 13.098 29.255 29.255v58.511c0 16.157-13.098 29.255-29.255 29.255h-58.511c-16.157 0-29.255-13.098-29.255-29.255v-58.511c0-16.157 13.098-29.255 29.255-29.255z","M365.722 365.722h58.511c16.157 0 29.255 13.098 29.255 29.255v58.511c0 16.157-13.098 29.255-29.255 29.255h-58.511c-16.157 0-29.255-13.098-29.255-29.255v-58.511c0-16.157 13.098-29.255 29.255-29.255z","M599.767 365.722h58.511c16.157 0 29.255 13.098 29.255 29.255v58.511c0 16.157-13.098 29.255-29.255 29.255h-58.511c-16.157 0-29.255-13.098-29.255-29.255v-58.511c0-16.157 13.098-29.255 29.255-29.255z","M365.722 570.511h58.511c16.157 0 29.255 13.098 29.255 29.255v58.511c0 16.157-13.098 29.255-29.255 29.255h-58.511c-16.157 0-29.255-13.098-29.255-29.255v-58.511c0-16.157 13.098-29.255 29.255-29.255z","M599.767 570.511h58.511c16.157 0 29.255 13.098 29.255 29.255v58.511c0 16.157-13.098 29.255-29.255 29.255h-58.511c-16.157 0-29.255-13.098-29.255-29.255v-58.511c0-16.157 13.098-29.255 29.255-29.255z","M877.694 936.204h-29.255v-892.294c-0.325-24.104-19.779-43.558-43.852-43.883h-585.142c-24.104 0.325-43.558 19.779-43.883 43.852v892.325h-29.255c-24.236 0-43.883 19.647-43.883 43.883s19.647 43.883 43.883 43.883v0h731.387c24.236 0 43.883-19.647 43.883-43.883s-19.647-43.883-43.883-43.883v0zM760.671 936.204h-307.183v-131.65c0-16.157-13.098-29.255-29.255-29.255v0h-58.511c-16.157 0-29.255 13.098-29.255 29.255v0 131.65h-73.138v-848.41h497.344z"],"attrs":[{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["building"]},"attrs":[{},{},{},{},{},{},{}],"properties":{"order":272,"id":208,"name":"building","prevSize":80,"code":59855},"setIdx":0,"setId":1,"iconIdx":53},{"icon":{"paths":["M561.547 0.023v462.433h462.433v-462.433zM924.887 363.362h-264.247v-264.247h264.247z","M0.023 462.454h462.433v-462.433h-462.433zM99.116 99.116h264.247v264.247h-264.247z","M0.023 1023.98h462.433v-462.433h-462.433zM99.116 660.64h264.247v264.247h-264.247z","M561.547 561.547h115.609v115.609h-115.609v-115.609z","M792.764 561.547h115.609v115.609h-115.609v-115.609z","M677.156 677.156h115.609v115.609h-115.609v-115.609z","M908.371 677.156h115.609v115.609h-115.609v-115.609z","M561.547 792.764h115.609v115.609h-115.609v-115.609z","M792.764 792.764h115.609v115.609h-115.609v-115.609z","M677.156 908.371h115.609v115.609h-115.609v-115.609z","M908.371 908.371h115.609v115.609h-115.609v-115.609z"],"attrs":[{},{},{},{},{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["qrcode"]},"attrs":[{},{},{},{},{},{},{},{},{},{},{}],"properties":{"order":271,"id":207,"name":"qrcode","prevSize":80,"code":59854},"setIdx":0,"setId":1,"iconIdx":54},{"icon":{"paths":["M966.767 407.505l-107.415-291.887c-13.941-40.405-51.44-68.998-95.682-69.469h-502.102c-43.76 0.101-81.048 27.7-95.509 66.429l-0.231 0.706-107.415 291.887c-34.342 16.711-57.732 51.084-58.377 90.984l-0.001 0.085v262.699c-0.012 0.59-0.019 1.285-0.019 1.983 0 35.143 17.95 66.093 45.181 84.184l0.372 0.233s0 3.503 0 3.503v116.754c0 32.241 26.137 58.378 58.378 58.378v0h58.378c32.241 0 58.378-26.137 58.378-58.378v0-102.161h583.775v102.161c0 32.241 26.137 58.378 58.378 58.378v0h58.378c32.241 0 58.378-26.137 58.378-58.378v0-116.754s0 0 0-3.503c26.927-18.415 44.367-48.984 44.367-83.626 0-0.155 0-0.308-0.001-0.462v0.023-262.699c-0.415-39.752-23.34-74.055-56.62-90.799l-0.59-0.27zM935.826 761.273c0 8.060-6.535 14.595-14.595 14.595v0h-817.284c-8.060 0-14.595-6.535-14.595-14.595v0-262.699c0-8.060 6.535-14.595 14.595-14.595v0h817.284c8.060 0 14.595 6.535 14.595 14.595v0zM248.14 143.055c2.145-5.454 7.332-9.259 13.417-9.341h502.055c6.095 0.082 11.281 3.887 13.392 9.241l0.034 0.099 81.728 224.169h-692.357z","M366.646 629.923c0 48.361-39.205 87.566-87.566 87.566s-87.566-39.205-87.566-87.566c0-48.361 39.205-87.566 87.566-87.566s87.566 39.205 87.566 87.566z","M833.667 629.923c0 48.361-39.205 87.566-87.566 87.566s-87.566-39.205-87.566-87.566c0-48.361 39.205-87.566 87.566-87.566s87.566 39.205 87.566 87.566z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["car"]},"attrs":[{},{},{}],"properties":{"order":270,"id":206,"name":"car","prevSize":80,"code":59853},"setIdx":0,"setId":1,"iconIdx":55},{"icon":{"paths":["M512 249.365c-145.049 0-262.635 117.585-262.635 262.635s117.585 262.635 262.635 262.635c145.049 0 262.635-117.585 262.635-262.635v0c0-0.191 0.002-0.416 0.002-0.641 0-144.695-117.299-261.995-261.995-261.995-0.225 0-0.45 0-0.676 0.002h0.035zM512 683.033c-94.459 0-171.033-76.575-171.033-171.033s76.575-171.033 171.033-171.033c94.459 0 171.033 76.575 171.033 171.033v0c0 94.459-76.575 171.033-171.033 171.033v0zM847.020 238.475c0 35.378-28.68 64.058-64.058 64.058s-64.058-28.68-64.058-64.058c0-35.378 28.68-64.058 64.058-64.058v0c35.378 0 64.058 28.68 64.058 64.058v0zM1020.615 302.532c0.053-2.1 0.083-4.576 0.083-7.056 0-80.466-31.5-153.574-82.841-207.667l0.125 0.132c-54.19-52.344-128.080-84.599-209.504-84.599-1.79 0-3.575 0.015-5.357 0.047l0.267-0.003c-83.275-3.843-339.503-3.843-422.778 0-1.952-0.045-4.253-0.071-6.559-0.071-80.622 0-153.889 31.489-208.175 82.838l0.141-0.134c-51.217 53.961-82.717 127.069-82.717 207.535 0 2.482 0.030 4.956 0.090 7.423l-0.008-0.366c-3.843 83.275-3.843 339.503 0 422.778-0.053 2.1-0.083 4.576-0.083 7.056 0 80.466 31.5 153.574 82.841 207.667l-0.125-0.132c54.143 51.217 127.412 82.705 208.032 82.705 2.306 0 4.608-0.026 6.902-0.077l-0.342 0.006c84.556 5.124 338.223 5.124 422.778 0 2.1 0.053 4.576 0.083 7.056 0.083 80.466 0 153.574-31.5 207.667-82.841l-0.132 0.125c51.217-53.961 82.717-127.069 82.717-207.535 0-2.482-0.030-4.956-0.090-7.423l0.008 0.366c3.843-83.275 3.843-339.503 0-422.778zM911.718 814.991c-17.965 44.669-52.697 79.402-96.206 96.954l-1.162 0.414c-68.692 14.541-147.62 22.867-228.491 22.867-25.987 0-51.772-0.86-77.33-2.552l3.471 0.185c-22.061 1.512-47.813 2.374-73.767 2.374-80.681 0-159.416-8.328-235.394-24.172l7.451 1.3c-44.669-17.965-79.402-52.697-96.954-96.206l-0.414-1.162c-26.904-67.901-21.139-228.044-21.139-302.351s-5.765-235.091 21.139-302.351c17.48-45.144 52.371-80.244 96.218-97.607l1.149-0.401c68.527-14.544 147.262-22.873 227.943-22.873 25.954 0 51.706 0.862 77.231 2.558l-3.464-0.185c22.086-1.509 47.872-2.368 73.859-2.368 80.871 0 159.799 8.326 235.971 24.167l-7.48-1.3c44.669 17.965 79.402 52.697 96.954 96.206l0.414 1.162c26.904 67.901 20.498 228.044 20.498 302.351s6.406 235.091-20.498 302.351z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["instagram"]},"attrs":[{}],"properties":{"order":268,"id":205,"name":"instagram","prevSize":80,"code":59852},"setIdx":0,"setId":1,"iconIdx":56},{"icon":{"paths":["M942.030 0.060h-854.301c-1.171-0.058-2.544-0.091-3.924-0.091-44.98 0-81.687 35.426-83.74 79.897l-0.007 0.184v856.22c1.381 47.853 39.817 86.288 87.54 87.666l0.129 0.003h854.301c45.688-2.098 81.934-39.649 81.934-85.666 0-0.705-0.009-1.408-0.025-2.109l0.001 0.103v-856.22c0.007-0.4 0.012-0.873 0.012-1.345 0-43.471-35.24-78.711-78.711-78.711-1.129 0-2.253 0.024-3.37 0.070l0.159-0.006zM320.022 853.72h-149.102v-456.266h149.102zM248.991 328.342v0c-0.784 0.028-1.705 0.046-2.629 0.046-41.704 0-75.512-33.808-75.512-75.512 0-1.141 0.025-2.277 0.075-3.406l-0.006 0.16c-0.046-0.985-0.072-2.14-0.072-3.301 0-41.704 33.808-75.512 75.512-75.512 1.375 0 2.743 0.037 4.101 0.109l-0.189-0.007c0.784-0.028 1.705-0.046 2.629-0.046 41.704 0 75.512 33.808 75.512 75.512 0 1.141-0.025 2.277-0.075 3.406l0.006-0.16c0.046 0.985 0.072 2.14 0.072 3.301 0 41.704-33.808 75.512-75.512 75.512-1.375 0-2.743-0.037-4.101-0.109l0.189 0.007zM853.72 853.72h-149.743v-249.571c0-59.513-21.118-100.469-74.231-100.469-34.5 0.309-63.758 22.412-74.697 53.194l-0.174 0.559c-3.36 9.138-5.302 19.69-5.302 30.697 0 2.034 0.066 4.051 0.196 6.052l-0.013-0.271v259.81h-147.182v-456.266h147.182v63.993c25.685-46.508 74.423-77.484 130.396-77.484 1.402 0 2.8 0.019 4.194 0.058l-0.205-0.004c96.629 0 169.581 63.993 169.581 200.297z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["linkedin"]},"attrs":[{}],"properties":{"order":266,"id":204,"name":"linkedin","prevSize":80,"code":59851},"setIdx":0,"setId":1,"iconIdx":57},{"icon":{"paths":["M998.721 25.279c-15.31-15.206-36.405-24.601-59.695-24.601-9.365 0-18.373 1.518-26.795 4.325l0.597-0.173-854.831 285.138c-34.333 11.124-58.722 42.818-58.722 80.21 0 32.269 18.165 60.295 44.829 74.41l0.459 0.221 354.67 175.29 175.29 355.84c14.186 27.601 42.466 46.16 75.080 46.16 0.106 0 0.207 0 0.309 0h5.827c34.71-2.632 63.306-26.111 73.46-57.839l0.162-0.591 289.228-852.494c2.939-8.121 4.642-17.492 4.642-27.261 0-22.937-9.373-43.685-24.499-58.622l-0.010-0.010zM94.226 370.599l746.151-248.912-414.27 414.27zM653.984 929.774l-165.94-331.884 414.27-414.27z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["send"]},"attrs":[{}],"properties":{"order":263,"id":203,"name":"send","prevSize":80,"code":59850},"setIdx":0,"setId":1,"iconIdx":58},{"icon":{"paths":["M215.050 647.037c0 59.379-48.138 107.517-107.517 107.517s-107.517-48.138-107.517-107.517c0-59.379 48.138-107.517 107.517-107.517v0h107.517zM269.445 647.037c0-59.379 48.138-107.517 107.517-107.517s107.517 48.138 107.517 107.517v0 269.434c0 59.379-48.138 107.517-107.517 107.517s-107.517-48.138-107.517-107.517v0zM376.963 215.050c-59.379 0-107.517-48.138-107.517-107.517s48.138-107.517 107.517-107.517c59.379 0 107.517 48.138 107.517 107.517v0 107.517zM376.963 269.445c59.379 0 107.517 48.138 107.517 107.517s-48.138 107.517-107.517 107.517h-269.434c-59.379 0-107.517-48.138-107.517-107.517s48.138-107.517 107.517-107.517v0zM808.95 376.963c0-59.379 48.138-107.517 107.517-107.517s107.517 48.138 107.517 107.517c0 59.379-48.138 107.517-107.517 107.517v0h-107.517v-107.517zM754.555 376.963c0 59.379-48.138 107.517-107.517 107.517s-107.517-48.138-107.517-107.517v0-269.434c0-59.379 48.138-107.517 107.517-107.517s107.517 48.138 107.517 107.517v0 269.434zM647.037 808.95c59.379 0 107.517 48.138 107.517 107.517s-48.138 107.517-107.517 107.517c-59.379 0-107.517-48.138-107.517-107.517v0-107.517zM647.037 754.555c-59.379 0-107.517-48.138-107.517-107.517s48.138-107.517 107.517-107.517h269.434c59.379 0 107.517 48.138 107.517 107.517s-48.138 107.517-107.517 107.517v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["slack"]},"attrs":[{}],"properties":{"order":262,"id":202,"name":"slack","prevSize":80,"code":59849},"setIdx":0,"setId":1,"iconIdx":59},{"icon":{"paths":["M517.309 1022.789c-22.691-0.029-45.007-1.526-66.885-4.41l2.595 0.278c-233.58-31.279-416.401-214.099-447.387-445.014l-0.291-2.662c-2.859-20.354-4.49-43.869-4.49-67.761 0-246.048 172.971-451.698 403.948-501.981l3.392-0.62c4.828-1.146 10.369-1.803 16.065-1.803 24.13 0 45.508 11.78 58.7 29.904l0.144 0.209c8.716 12.084 13.937 27.19 13.937 43.519 0 14.447-4.091 27.937-11.173 39.378l0.187-0.321c-26.726 45.102-42.523 99.41-42.523 157.408 0 16.683 1.308 33.056 3.823 49.030l-0.228-1.77c21.13 133.311 125.031 237.216 256.587 258.114l1.758 0.228c14.358 2.386 30.902 3.749 47.766 3.749 57.921 0 112.086-16.086 158.27-44.036l-1.366 0.768c10.914-6.566 24.086-10.453 38.167-10.453 16.715 0 32.146 5.473 44.609 14.724l-0.202-0.143c18.334 13.090 30.142 34.293 30.142 58.257 0 5.696-0.669 11.235-1.926 16.546l0.097-0.484c-49.878 235.319-255.888 409.342-502.54 409.342-0.413 0-0.822 0-1.235-0.001h0.064zM394.034 99.12c-178.936 53.807-307.056 217.078-307.056 410.275 0 236.171 191.454 427.623 427.623 427.623 193.197 0 356.468-128.116 409.491-304.027l0.784-3.028c-50.869 25.361-110.807 40.205-174.212 40.205-197.518 0-361.392-144.047-392.301-332.818l-0.31-2.3c-2.962-18.244-4.655-39.278-4.655-60.703 0-63.794 15.005-124.084 41.678-177.535l-1.042 2.307z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["moon"]},"attrs":[{}],"properties":{"order":261,"id":201,"name":"moon","prevSize":80,"code":59847},"setIdx":0,"setId":1,"iconIdx":60},{"icon":{"paths":["M512 806.395c-162.589 0-294.395-131.804-294.395-294.395s131.804-294.395 294.395-294.395c162.589 0 294.395 131.804 294.395 294.395v0c-0.29 162.471-131.922 294.103-294.366 294.395h-0.028zM512 294.404c-120.176 0-217.596 97.422-217.596 217.596s97.422 217.596 217.596 217.596c120.176 0 217.596-97.422 217.596-217.596v0c-0.29-120.058-97.538-217.306-217.567-217.596h-0.028z","M512 153.605c-21.092-0.285-38.115-17.308-38.399-38.371v-76.826c0-21.206 17.191-38.399 38.399-38.399s38.399 17.191 38.399 38.399v0 76.799c-0.285 21.092-17.308 38.115-38.371 38.399h-0.028z","M512 1023.99c-21.092-0.285-38.115-17.308-38.399-38.371v-76.826c0-21.206 17.191-38.399 38.399-38.399s38.399 17.191 38.399 38.399v0 76.799c-0.285 21.092-17.308 38.115-38.371 38.399h-0.028z","M985.591 550.399h-76.799c-21.206 0-38.399-17.191-38.399-38.399s17.191-38.399 38.399-38.399v0h76.799c21.206 0 38.399 17.191 38.399 38.399s-17.191 38.399-38.399 38.399v0z","M115.206 550.399h-76.799c-21.206 0-38.399-17.191-38.399-38.399s17.191-38.399 38.399-38.399v0h76.799c21.206 0 38.399 17.191 38.399 38.399s-17.191 38.399-38.399 38.399v0z","M230.404 268.804c-10.245-0.806-19.244-5.574-25.564-12.757l-0.035-0.043-55.808-51.2c-7.14-7.14-11.557-17.006-11.557-27.903 0-21.794 17.667-39.461 39.461-39.461 10.897 0 20.763 4.417 27.903 11.557v0l51.2 55.808c6.068 6.763 9.778 15.747 9.778 25.599s-3.711 18.837-9.81 25.635l0.031-0.035c-6.356 7.223-15.355 11.995-25.469 12.791l-0.131 0.009z","M847.867 886.263c-0.052 0-0.116 0-0.178 0-10.545 0-20.084-4.307-26.953-11.261l-0.003-0.003-52.736-55.808c-2.366-4.842-3.748-10.533-3.748-16.548 0-21.206 17.191-38.399 38.399-38.399 6.016 0 11.709 1.383 16.778 3.85l-0.227-0.099 55.808 51.2c6.939 6.946 11.231 16.541 11.231 27.135s-4.291 20.189-11.231 27.136v0c-6.701 7.568-16.317 12.423-27.072 12.798l-0.065 0.001z","M793.596 268.804c-10.245-0.806-19.244-5.574-25.564-12.757l-0.035-0.043c-6.068-6.763-9.778-15.747-9.778-25.599s3.711-18.837 9.81-25.635l-0.031 0.035 51.2-55.808c7.14-7.14 17.006-11.557 27.903-11.557 21.794 0 39.461 17.667 39.461 39.461 0 10.897-4.417 20.763-11.557 27.903v0l-55.808 51.2c-6.356 7.223-15.355 11.995-25.469 12.791l-0.131 0.009z","M176.133 886.263c-0.052 0-0.116 0-0.178 0-10.545 0-20.084-4.307-26.953-11.261l-0.003-0.003c-6.939-6.946-11.231-16.541-11.231-27.135s4.291-20.189 11.231-27.136v0l55.808-52.736c4.842-2.366 10.533-3.748 16.548-3.748 21.206 0 38.399 17.191 38.399 38.399 0 6.016-1.383 11.709-3.85 16.778l0.099-0.227-51.2 55.808c-6.876 6.978-16.43 11.301-26.992 11.301-0.591 0-1.178-0.014-1.761-0.042l0.082 0.003z"],"attrs":[{},{},{},{},{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["sun"]},"attrs":[{},{},{},{},{},{},{},{},{}],"properties":{"order":260,"id":200,"name":"sun","prevSize":80,"code":59848},"setIdx":0,"setId":1,"iconIdx":61},{"icon":{"paths":["M1002.843 264.979c-11.885-44.735-46.258-79.32-89.974-91.303l-0.899-0.211c-108.991-13.585-235.136-21.338-363.093-21.338-12.967 0-25.913 0.079-38.842 0.238l1.964-0.020c-10.965-0.138-23.912-0.217-36.878-0.217-127.957 0-254.101 7.753-377.993 22.812l14.9-1.475c-44.618 12.192-78.989 46.777-90.67 90.619l-0.202 0.895c-13.45 71.849-21.144 154.515-21.144 238.976 0 2.83 0.010 5.654 0.025 8.48l-0.001-0.435c-0.015 2.515-0.025 5.487-0.025 8.463 0 84.76 7.694 167.728 22.419 248.235l-1.273-8.397c12.473 43.944 46.687 77.735 89.978 89.387l0.896 0.205c108.991 13.585 235.136 21.338 363.093 21.338 12.967 0 25.913-0.079 38.842-0.238l-1.964 0.020c10.965 0.138 23.912 0.217 36.878 0.217 127.957 0 254.101-7.753 377.993-22.812l-14.9 1.475c44.184-11.858 78.4-45.649 90.654-88.691l0.222-0.902c13.451-72.109 21.145-155.075 21.145-239.836 0-2.976-0.010-5.952-0.030-8.921l0.002 0.458c0.014-2.39 0.024-5.216 0.024-8.045 0-84.461-7.694-167.123-22.415-247.326l1.272 8.351zM407.049 664.948v-304.617l268.139 151.669-268.139 152.31z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["youtube"]},"attrs":[{}],"properties":{"order":245,"id":199,"name":"youtube","prevSize":80,"code":59845},"setIdx":0,"setId":1,"iconIdx":62},{"icon":{"paths":["M921.584 0.020h-819.169c-56.554 0-102.397 45.843-102.397 102.397v0 819.169c0 56.554 45.843 102.397 102.397 102.397h819.169c56.554 0 102.397-45.843 102.397-102.397v0-819.169c0-56.554-45.843-102.397-102.397-102.397v0zM861.428 339.846q-5.119 108.157-150.396 296.31c-100.477 127.996-186.234 195.834-255.991 195.834-43.518 0-79.358-39.678-109.437-119.677-58.239-213.112-83.198-337.908-127.996-337.908-22.288 9.156-41.514 20.78-58.626 34.868l0.387-0.309-34.559-44.799c85.118-74.878 166.394-158.075 217.592-162.554s90.237 33.919 105.597 118.396c47.358 300.15 68.477 345.588 154.236 209.272 23.167-31.534 40.499-68.894 49.548-109.38l0.37-1.973c8.32-76.157-58.878-71.038-104.956-51.198q53.118-179.195 206.712-174.714 113.917 3.84 107.517 147.835z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["vimeo"]},"attrs":[{}],"properties":{"order":246,"id":198,"name":"vimeo","prevSize":80,"code":59846},"setIdx":0,"setId":1,"iconIdx":63},{"icon":{"paths":["M945.168 71.244c-6.854-4.784-15.36-7.644-24.533-7.644-5.667 0-11.082 1.091-16.037 3.075l0.291-0.101c-63.362 27.754-136.884 48.272-213.777 57.97l-3.973 0.411c-50.991-13.859-95.65-33.834-136.292-59.573l2.021 1.197c-50.286-31.459-109.055-55.026-171.889-67.197l-3.247-0.525c-107.474 9.724-206.538 32.466-299.99 66.82l8.098-2.606c-17.445 6.019-29.758 22.294-29.774 41.446v874.511c0 24.18 19.602 43.782 43.782 43.782s43.782-19.602 43.782-43.782v0-341.516c65.758-24.646 142.15-42.595 221.505-50.481l3.835-0.307c53.105 13.33 99.794 33.376 142.252 59.613l-2.143-1.233c47.34 29.414 102.383 52.211 161.087 65.302l3.54 0.662h13.426c91.375-11.776 174.319-34.938 251.841-68.29l-6.068 2.323c16.532-6.508 28.021-22.337 28.021-40.848 0-0.004 0-0.013 0-0.017v0.001-496.801c0.058-0.822 0.086-1.787 0.086-2.754 0-13.445-6.144-25.457-15.776-33.379l-0.076-0.061zM876.865 575.050c-55.28 23.59-119.414 40.863-186.43 48.723l-3.3 0.316c-50.991-13.859-95.65-33.834-136.292-59.573l2.021 1.197c-50.286-31.459-109.055-55.026-171.889-67.197l-3.247-0.525h-11.676c-81.373 7.491-156.277 24.016-227.356 48.724l6.685-2.021v-408.651c65.758-24.646 142.15-42.595 221.505-50.481l3.835-0.307c53.105 13.33 99.794 33.376 142.252 59.613l-2.143-1.233c47.34 29.414 102.383 52.211 161.087 65.302l3.54 0.662c72.593-2.928 140.796-18.315 203.651-44.065l-3.998 1.45z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["flag"]},"attrs":[{}],"properties":{"order":247,"id":197,"name":"flag","prevSize":80,"code":59844},"setIdx":0,"setId":1,"iconIdx":64},{"icon":{"paths":["M921.328 234.242h-14.62v-131.569c-0.331-56.383-45.949-102.001-102.301-102.333h-0.032c-2.11-0.402-4.538-0.635-7.018-0.635s-4.909 0.229-7.26 0.672l0.242-0.037-695.856 233.902h-15.789l-9.939 3.508h-8.187l-9.357 5.263-7.018 9.939-8.187 7.018-6.432 5.85-7.018 8.771c-1.843 1.659-3.402 3.587-4.62 5.733l-0.060 0.112c-1.923 2.94-3.872 6.386-5.601 9.962l-0.245 0.564-3.508 6.432c-1.391 3.423-2.79 7.711-3.925 12.107l-0.165 0.758c0.126 0.965 0.196 2.083 0.196 3.216s-0.070 2.252-0.21 3.346l0.014-0.13c-0.288 2.979-0.451 6.443-0.451 9.939s0.164 6.961 0.485 10.379l-0.033-0.436v584.754c0.266 54.991 43.614 99.77 98.010 102.322l0.229 0.010h818.656c56.383-0.331 102.001-45.949 102.333-102.301v-584.786c-0.331-56.383-45.949-102.001-102.301-102.333h-0.032zM809.056 88.637c5.781 2.176 9.84 7.618 9.939 14.021v131.582h-446.167zM935.946 921.328c0 8.075-6.545 14.62-14.62 14.62v0h-818.656c-8.075 0-14.62-6.545-14.62-14.62v0-584.754c0-8.075 6.545-14.62 14.62-14.62v0h818.656c8.075 0 14.62 6.545 14.62 14.62v0z","M848.233 628.95c0 40.368-32.724 73.092-73.092 73.092s-73.092-32.724-73.092-73.092c0-40.368 32.724-73.092 73.092-73.092s73.092 32.724 73.092 73.092z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["wallet"]},"attrs":[{},{}],"properties":{"order":248,"id":196,"name":"wallet","prevSize":80,"code":59843},"setIdx":0,"setId":1,"iconIdx":65},{"icon":{"paths":["M974.245 49.171c-15.932-10.721-35.555-17.111-56.669-17.111-14.627 0-28.534 3.067-41.12 8.59l0.658-0.257-208.887 89.524-277.931-117.023c-10.185-4.441-22.051-7.024-34.522-7.024s-24.338 2.583-35.094 7.244l0.571-0.221-255.112 107.663c-39.245 17.382-66.129 55.99-66.129 100.873 0 0.535 0.003 1.071 0.012 1.601l-0.001-0.081v658.259c-0.001 0.193-0.001 0.422-0.001 0.65 0 38.606 19.576 72.638 49.339 92.718l0.396 0.252c15.932 10.721 35.555 17.111 56.669 17.111 14.627 0 28.534-3.067 41.12-8.59l-0.658 0.257 208.887-89.524 277.931 117.023c9.959 4.44 21.578 7.024 33.803 7.024 0.254 0 0.506-0.001 0.759-0.002h-0.037c12.47-0.016 24.335-2.597 35.099-7.244l-0.579 0.222 255.112-109.419c39.245-17.382 66.129-55.99 66.129-100.873 0-0.535-0.003-1.071-0.012-1.601l0.001 0.081v-656.503c0.001-0.193 0.001-0.422 0.001-0.65 0-38.606-19.576-72.638-49.339-92.718l-0.396-0.252zM399.657 107.683l224.685 95.96v709.749l-224.685-95.96zM112.365 902.859c-2.099 1.232-4.621 1.96-7.312 1.96s-5.216-0.728-7.384-1.996l0.067 0.036c-6.069-4.287-9.983-11.275-9.983-19.174 0-0.459 0.014-0.915 0.041-1.366l-0.002 0.063v-659.428c-0.001-0.106-0.002-0.225-0.002-0.349 0-9.66 5.999-17.916 14.475-21.246l0.156-0.052 209.473-90.694v706.823zM936.211 801.048c0.016 0.329 0.027 0.713 0.027 1.097 0 8.996-5.204 16.772-12.765 20.489l-0.133 0.060-211.228 90.694v-706.823l199.525-85.427c2.099-1.232 4.621-1.96 7.312-1.96s5.216 0.728 7.384 1.996l-0.067-0.036c6.069 4.287 9.983 11.275 9.983 19.174 0 0.459-0.014 0.915-0.041 1.366l0.002-0.063z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["map"]},"attrs":[{}],"properties":{"order":249,"id":195,"name":"map","prevSize":80,"code":59842},"setIdx":0,"setId":1,"iconIdx":66},{"icon":{"paths":["M232.89 877.709c-0.229 0.001-0.5 0.001-0.772 0.001-64.296 0-122.536-25.926-164.839-67.892l0.014 0.014c-41.67-44.195-67.28-103.927-67.28-169.644 0-70.104 29.144-133.401 75.978-178.432l0.081-0.077 220.011-221.767c46.236-47.686 110.48-77.679 181.734-78.989l0.242-0.003c64.887 0.446 123.436 27.23 165.557 70.178l0.036 0.036c42.26 44.485 68.256 104.777 68.256 171.139 0 70.733-29.531 134.567-76.936 179.85l-0.095 0.091-73.728 73.728c-8.035 8.605-19.444 13.968-32.108 13.968-24.236 0-43.886-19.648-43.886-43.886 0-12.665 5.363-24.073 13.943-32.084l0.025-0.023 71.384-76.068c31.073-29.214 50.426-70.586 50.426-116.481 0-41.8-16.055-79.851-42.334-108.318l0.099 0.109c-28.323-24.799-65.659-39.923-106.527-39.923-45.364 0-86.377 18.637-115.797 48.671l-0.027 0.027-218.256 221.181c-30.617 29.25-49.65 70.402-49.65 115.998 0 41.161 15.51 78.698 41.005 107.085l-0.133-0.148c26.409 26.109 62.734 42.236 102.824 42.236 5.002 0 9.944-0.251 14.816-0.741l-0.615 0.049c1.28-0.135 2.767-0.212 4.272-0.212 22.546 0 41.068 17.231 43.113 39.245l0.012 0.171c0.136 1.297 0.214 2.802 0.214 4.324 0 22.665-17.181 41.315-39.226 43.641l-0.191 0.015z","M545.938 863.081c-64.887-0.446-123.436-27.23-165.557-70.178l-0.036-0.036c-42.26-44.485-68.256-104.777-68.256-171.139 0-70.733 29.531-134.567 76.936-179.85l0.095-0.091 73.728-73.728c8.035-8.605 19.444-13.968 32.108-13.968 24.236 0 43.886 19.648 43.886 43.886 0 12.665-5.363 24.073-13.943 32.084l-0.025 0.023-71.384 76.068c-31.073 29.214-50.426 70.586-50.426 116.481 0 41.8 16.055 79.851 42.334 108.318l-0.099-0.109c28.323 24.799 65.659 39.923 106.527 39.923 45.364 0 86.377-18.637 115.797-48.671l0.027-0.027 220.596-221.181c29.874-29.148 48.402-69.807 48.402-114.793 0-41.733-15.944-79.74-42.074-108.264l0.109 0.122c-26.409-26.109-62.734-42.236-102.824-42.236-5.002 0-9.944 0.251-14.816 0.741l0.615-0.049c-1.28 0.135-2.767 0.212-4.272 0.212-22.546 0-41.068-17.231-43.113-39.245l-0.012-0.171c-0.136-1.297-0.214-2.802-0.214-4.324 0-22.665 17.181-41.315 39.226-43.641l0.191-0.015c7.239-0.795 15.632-1.247 24.131-1.247 63.452 0 121.008 25.25 163.166 66.25l-0.054-0.053c41.67 44.195 67.28 103.927 67.28 169.644 0 70.104-29.144 133.401-75.978 178.432l-0.081 0.077-220.011 221.767c-46.236 47.686-110.48 77.679-181.734 78.989l-0.242 0.003z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["link"]},"attrs":[{},{}],"properties":{"order":250,"id":194,"name":"link","prevSize":80,"code":59841},"setIdx":0,"setId":1,"iconIdx":67},{"icon":{"paths":["M921.589 117.040h-819.178c-56.419 0.331-102.067 45.977-102.398 102.366v585.16c0.331 56.419 45.977 102.067 102.366 102.398h819.209c56.419-0.331 102.067-45.977 102.398-102.366v-585.16c-0.331-56.419-45.977-102.067-102.366-102.398h-0.033zM102.411 204.808h819.178c8.080 0 14.628 6.551 14.628 14.628v0 131.653h-848.434v-131.653c0-8.080 6.551-14.628 14.628-14.628v0zM921.589 819.192h-819.178c-8.080 0-14.628-6.551-14.628-14.628v0-365.705h848.434v365.705c0 8.080-6.551 14.628-14.628 14.628v0z","M336.461 570.514h-117.025c-32.315 0-58.514 26.197-58.514 58.514s26.197 58.514 58.514 58.514v0h117.025c32.315 0 58.514-26.197 58.514-58.514s-26.197-58.514-58.514-58.514v0z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["credit-card"]},"attrs":[{},{}],"properties":{"order":251,"id":193,"name":"credit-card","prevSize":80,"code":59839},"setIdx":0,"setId":1,"iconIdx":68},{"icon":{"paths":["M867.007 182.851c-66.261-30.706-136.831-53.332-211.172-66.261-9.158 16.161-19.933 38.248-26.935 56.025-78.651-11.852-156.763-11.852-233.798 0-7.541-17.777-18.316-39.864-27.474-56.025-74.341 12.929-144.911 35.555-211.172 66.261-133.599 201.475-169.692 398.104-151.915 591.499 88.886 66.261 174.541 106.125 259.118 132.522 21.010-28.551 39.326-59.257 55.487-91.042-30.706-11.313-59.796-25.858-87.27-42.558 7.541-5.387 14.545-11.313 21.549-16.7 168.615 78.651 351.236 78.651 517.696 0 7.004 5.925 14.006 11.313 21.549 16.7-27.474 16.7-57.103 30.706-87.27 42.558 16.161 31.783 34.478 62.489 55.487 91.042 84.577-26.397 170.769-66.261 259.118-132.522 21.010-224.64-36.094-419.113-151.915-591.499zM341.769 655.834c-50.639 0-92.119-46.867-92.119-104.508s40.403-104.508 92.119-104.508 92.658 46.867 92.119 104.508c0 57.103-40.403 104.508-92.119 104.508zM681.692 655.834c-50.639 0-92.119-46.867-92.119-104.508s40.403-104.508 92.119-104.508 92.658 46.867 92.119 104.508c0 57.103-40.403 104.508-92.119 104.508z"],"attrs":[{}],"grid":16,"tags":["discord"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":252,"id":192,"name":"discord","prevSize":80,"code":59840},"setIdx":0,"setId":1,"iconIdx":69},{"icon":{"paths":["M71.252 1019.529c-0.094 0-0.205 0-0.308 0-18.338 0-34.928-7.49-46.876-19.583l-0.004-0.004c-12.065-12.080-19.533-28.766-19.533-47.194s7.46-35.107 19.533-47.195v0l881.496-881.496c12.224-13.091 29.586-21.252 48.86-21.252 36.88 0 66.781 29.901 66.781 66.781 0 19.267-8.161 36.636-21.215 48.818l-0.036 0.034-881.496 881.496c-11.952 12.097-28.542 19.587-46.879 19.587-0.11 0-0.221 0-0.324 0h0.016z","M200.36 400.703c-110.644 0-200.343-89.695-200.343-200.343s89.695-200.343 200.343-200.343c110.644 0 200.343 89.695 200.343 200.343v0c0 110.644-89.695 200.343-200.343 200.343v0zM200.36 133.579c-36.88 0-66.781 29.901-66.781 66.781s29.901 66.781 66.781 66.781c36.88 0 66.781-29.901 66.781-66.781v0c-0.495-36.684-30.097-66.286-66.733-66.781h-0.048z","M823.64 1023.979c-110.644 0-200.343-89.695-200.343-200.343s89.695-200.343 200.343-200.343c110.644 0 200.343 89.695 200.343 200.343v0c0 110.644-89.695 200.343-200.343 200.343v0zM823.64 756.859c-36.88 0-66.781 29.901-66.781 66.781s29.901 66.781 66.781 66.781c36.88 0 66.781-29.901 66.781-66.781v0c-0.495-36.684-30.097-66.286-66.733-66.781h-0.048z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["percentage"]},"attrs":[{},{},{}],"properties":{"order":253,"id":191,"name":"percentage","prevSize":80,"code":59838},"setIdx":0,"setId":1,"iconIdx":70},{"icon":{"paths":["M634.635 1025.058h-8.795c-278.481-6.291-501.825-233.529-501.825-512.936 0-143.581 58.979-273.384 154.031-366.506l0.087-0.085c90.386-89.279 214.664-144.424 351.826-144.424 4.737 0 9.461 0.066 14.166 0.197l-0.694-0.015c137.202 2.016 261.047 57.579 351.895 146.67l-0.082-0.081c7.946 7.955 12.862 18.943 12.862 31.077s-4.914 23.121-12.862 31.078v0c-7.955 7.946-18.943 12.862-31.077 12.862s-23.121-4.914-31.078-12.862v0c-76.784-75.59-182.227-122.264-298.57-122.264-235.104 0-425.69 190.589-425.69 425.69s190.589 425.69 425.69 425.69c110.943 0 211.975-42.441 287.744-111.973l-0.312 0.283 12.901-12.313c8.295-7.915 19.557-12.787 31.955-12.787s23.661 4.872 31.975 12.806l-0.018-0.018c8.518 7.555 13.858 18.529 13.858 30.751 0 10.778-4.154 20.587-10.95 27.911l0.023-0.026-2.931 2.931-17.003 16.418c-90.306 81.848-210.707 131.947-342.808 131.947-1.515 0-3.029-0.007-4.542-0.019l0.232 0.001z","M869.176 468.024h-820.891c-24.287 0-43.976-19.689-43.976-43.976s19.689-43.976 43.976-43.976v0h820.891c24.287 0 43.976 19.689 43.976 43.976s-19.689 43.976-43.976 43.976v0z","M781.223 643.928h-732.939c-24.287 0-43.976-19.689-43.976-43.976s19.689-43.976 43.976-43.976v0h732.939c24.287 0 43.976 19.689 43.976 43.976s-19.689 43.976-43.976 43.976v0z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["euro"]},"attrs":[{},{},{}],"properties":{"order":233,"id":190,"name":"euro","prevSize":80,"code":59837},"setIdx":0,"setId":1,"iconIdx":71},{"icon":{"paths":["M921.533 0.085h-716.682c-1.243-0.037-2.704-0.062-4.171-0.062-76.892 0-139.525 61.042-142.084 137.312l-0.005 0.236v725.456c3.196 89.572 76.578 160.974 166.638 160.974 1.887 0 3.764-0.032 5.636-0.094l-0.273 0.005h690.939c24.1-0.324 43.553-19.777 43.877-43.845v-936.102c-0.324-24.1-19.777-43.553-43.845-43.877h-0.032zM877.652 936.158h-647.059c-1.635 0.122-3.546 0.19-5.469 0.19-41.629 0-75.733-32.206-78.764-73.058l-0.015-0.26c3.043-41.116 37.15-73.322 78.779-73.322 1.923 0 3.834 0.068 5.723 0.205l-0.254-0.015h647.059zM877.652 702.141h-647.059c-30.908 0.035-59.934 8.052-85.138 22.102l0.893-0.458v-586.214c2.714-28.081 26.19-49.857 54.753-49.857 1.322 0 2.628 0.047 3.925 0.14l-0.175-0.011h672.802z","M321.859 321.859h380.277c24.235 0 43.877-19.646 43.877-43.877s-19.646-43.877-43.877-43.877v0h-380.277c-24.235 0-43.877 19.646-43.877 43.877s19.646 43.877 43.877 43.877v0z","M321.859 526.626h380.277c24.235 0 43.877-19.646 43.877-43.877s-19.646-43.877-43.877-43.877v0h-380.277c-24.235 0-43.877 19.646-43.877 43.877s19.646 43.877 43.877 43.877v0z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["book"]},"attrs":[{},{},{}],"properties":{"order":232,"id":189,"name":"book","prevSize":80,"code":59834},"setIdx":0,"setId":1,"iconIdx":72},{"icon":{"paths":["M512 1023.233c-5.884-0.076-11.5-1.139-16.713-3.034l0.353 0.112c-294.424-132.986-495.622-424.049-495.622-762.108 0-25.218 1.12-50.181 3.311-74.828l-0.228 3.185c1.091-20.259 15.977-36.738 35.376-40.276l0.266-0.038c170.071-26.272 323.191-75.689 464.402-145.534l-9.257 4.14c5.319-2.475 11.548-3.917 18.114-3.917s12.794 1.442 18.385 4.030l-0.271-0.112c131.953 65.702 285.069 115.119 446.231 140.248l8.916 1.146c19.665 3.576 34.547 20.055 35.634 40.204l0.003 0.11c1.964 21.462 3.084 46.42 3.084 71.642 0 338.056-201.194 629.119-490.377 759.984l-5.245 2.124c-4.86 1.783-10.476 2.845-16.326 2.921h-0.034zM88.991 226.293c-0.817 12.916-1.282 28.011-1.282 43.216 0 292.016 171.793 543.905 419.826 660.115l4.464 1.881c252.498-118.092 424.293-369.981 424.293-661.997 0-15.204-0.465-30.297-1.384-45.268l0.1 2.056c-158.673-27.438-300.659-73.974-432.589-137.992l9.58 4.192c-122.352 59.822-264.337 106.359-413.369 132.403l-9.639 1.394z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["shield"]},"attrs":[{}],"properties":{"order":231,"id":188,"name":"shield","prevSize":80,"code":59833},"setIdx":0,"setId":1,"iconIdx":73},{"icon":{"paths":["M330.174 602.273c-7.682 42.896-39.055 245.207-48.017 302.191 0 4.482 0 5.762-7.042 5.762h-167.743c-0.080 0.001-0.175 0.001-0.271 0.001-15.204 0-27.532-12.324-27.532-27.532 0-1.356 0.097-2.688 0.287-3.989l-0.017 0.147 131.888-839.984c3.692-21.668 21.877-38.101 44.080-39.052l0.096-0.002c342.523 0 371.334-8.323 459.046 26.251 135.089 52.499 147.892 179.266 99.235 316.915s-163.261 201.671-315.635 203.593c-97.314 0-156.215-15.364-169.663 55.059zM883.334 277.035c-3.841-3.2-5.121-3.841-6.402 0-5.355 29.455-12.228 55.051-20.948 79.774l1.103-3.586c-89.632 256.095-338.682 234.965-460.326 234.965-0.779-0.096-1.678-0.148-2.591-0.148-11.979 0-21.761 9.396-22.379 21.221l-0.002 0.053c-50.578 320.115-64.022 384.138-64.022 384.138-0.348 1.539-0.545 3.309-0.545 5.121 0 13.404 10.837 24.274 24.228 24.326h143.414c19.695-0.387 35.904-14.834 39.022-33.697l0.032-0.236c0-12.164 0 14.084 32.653-206.154 10.243-49.297 32.013-44.176 64.022-44.176 159.417 0 284.262-64.022 320.115-256.095 6.318-18.661 9.965-40.158 9.965-62.502 0-57.89-24.469-110.067-63.632-146.751l-0.111-0.101z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["paypal"]},"attrs":[{}],"properties":{"order":229,"id":186,"name":"paypal","prevSize":80,"code":59835},"setIdx":0,"setId":1,"iconIdx":74},{"icon":{"paths":["M590.061 298.931c-114.531 3.839-397.983 35.193-397.983 268.094 0 250.818 326.32 261.056 433.175 99.176 33.603 38.347 68.51 73.249 105.572 105.755l1.281 1.101 133.727-127.968s-76.142-58.226-76.142-120.93v-335.917c0-57.586-57.586-188.114-264.895-188.114s-319.921 127.968-319.921 238.663l174.038 17.277c14.203-60.869 64.928-106.62 127.331-113.199l0.637-0.053c95.977 0 83.181 67.824 83.181 158.042zM590.061 497.283c0 182.995-198.352 155.482-198.352 39.029s119.010-127.968 198.352-131.807zM909.983 870.953c-103.709 94.959-242.457 153.142-394.795 153.142-5.62 0-11.222-0.080-16.805-0.238l0.821 0.018c-195.949-7.842-370.074-95.152-492.135-230.369l-0.545-0.613c-15.997-17.277 0-25.596 12.797-18.556 172.759 101.736 443.413 268.735 876.588 69.103 19.837-8.319 33.91 4.48 15.357 27.515zM1004.041 876.072c-11.535 27.968-28.737 51.536-50.314 70.185l-0.235 0.197c-12.797 10.238-22.395 6.399-15.357-8.319s46.068-106.215 30.074-127.968-87.020-9.598-113.251-7.038-30.714 4.48-32.634 0 51.186-35.829 88.3-40.309 96.617 0 108.772 13.437c1.186 7.461 1.861 16.066 1.861 24.83 0 26.848-6.362 52.211-17.654 74.664l0.435-0.957z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["amazon"]},"attrs":[{}],"properties":{"order":240,"id":185,"name":"amazon","prevSize":80,"code":59836},"setIdx":0,"setId":1,"iconIdx":75},{"icon":{"paths":["M886.693 1024.275h-13.467c-160.026-17.856-304.577-71.747-429.374-153.346l3.746 2.3c-119.858-77.12-218.914-175.988-293.94-291.862l-2.302-3.793c-79.488-121.374-133.409-266.357-150.654-422.398l-0.396-4.402c-0.449-4.129-0.705-8.915-0.705-13.764 0-33.499 12.23-64.138 32.468-87.698l-0.148 0.178c22.748-27.565 55.792-45.921 93.167-49.141l0.507-0.035h152.22c68.811 0.070 125.838 50.433 136.308 116.306l0.101 0.786c6.186 45.698 17.046 86.978 32.301 126.063l-1.274-3.701c5.445 14.293 8.602 30.826 8.602 48.093 0 38.102-15.36 72.621-40.225 97.697l-35.702 35.702c57.148 89.292 131.053 162.822 217.85 217.845l2.869 1.699 35.713-35.126c25.068-24.854 59.584-40.214 97.686-40.214 17.267 0 33.797 3.154 49.045 8.917l-0.956-0.318c35.315 13.822 76.581 24.675 119.402 30.688l2.96 0.339c66.678 10.304 117.132 67.286 117.132 136.053 0 1.155-0.014 2.306-0.044 3.455l0.002-0.171v140.51c0 0 0 0.001 0 0.001 0 76.101-61.525 137.836-137.551 138.165h-0.032zM277.818 87.541h-139.923c-14.387 0.979-27.011 7.794-35.649 18.070l-0.063 0.079c-7.402 8.481-11.91 19.649-11.91 31.87 0 1.557 0.075 3.102 0.218 4.622l-0.015-0.194c15.36 145.534 63.692 277.249 137.347 391.045l-2.107-3.473c70.038 108.811 159.916 198.686 265.265 266.637l3.46 2.091c110.418 72.299 242.202 121.557 384.020 137.782l4.14 0.385c0.876 0.051 1.901 0.082 2.931 0.082 14.116 0 26.923-5.614 36.306-14.733l-0.013 0.013c8.993-9.216 14.563-21.807 14.638-35.698v-139.938c0.005-0.32 0.012-0.7 0.012-1.075 0-25.332-18.708-46.298-43.066-49.826l-0.272-0.033c-53.039-7.261-100.842-19.551-146.288-36.646l4.608 1.52c-5.299-2.044-11.429-3.227-17.839-3.227-13.78 0-26.284 5.472-35.452 14.364l0.014-0.013-58.546 58.546c-8.012 7.814-18.974 12.637-31.061 12.637-7.941 0-15.396-2.080-21.853-5.726l0.223 0.115c-125.62-71.885-227.060-173.136-297.132-294.748l-2.038-3.837c-3.709-6.254-5.9-13.781-5.9-21.824 0-12.079 4.944-23.005 12.918-30.863l58.55-58.55c8.886-8.986 14.38-21.346 14.38-34.991 0-6.364-1.195-12.447-3.371-18.038l0.116 0.338c-15.651-40.876-27.948-88.685-34.741-138.244l-0.385-3.437c-3.034-25.502-24.528-45.088-50.597-45.088-0.323 0-0.646 0.002-0.971 0.011l0.048-0.001z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["phone"]},"attrs":[{}],"properties":{"order":227,"id":184,"name":"phone","prevSize":80,"code":59832},"setIdx":0,"setId":1,"iconIdx":76},{"icon":{"paths":["M1004.108 24.712c-7.747-14.706-22.886-24.587-40.341-24.696h-421.65c-24.95 0-45.175 20.226-45.175 45.175s20.226 45.175 45.175 45.175v0h331.285l-111.431 154.198c-5.421 7.322-8.676 16.532-8.676 26.503 0 24.752 20.065 44.816 44.816 44.816 14.78 0 27.892-7.156 36.054-18.191l0.086-0.121 165.641-225.875c5.688-7.337 9.117-16.671 9.117-26.809 0-7.369-1.813-14.314-5.016-20.415l0.116 0.241z","M310.219 13.266s0 0-3.011 0c-3.291-2.852-7.063-5.273-11.155-7.112l-0.289-0.116c-3.885-1.54-8.385-2.612-13.079-3l-0.172-0.011h-222.261c-17.471 0.11-32.609 9.989-40.237 24.446l-0.12 0.25c-3.089 5.86-4.901 12.805-4.901 20.174 0 10.136 3.43 19.472 9.191 26.909l-0.075-0.1 322.25 437.295v466.81c0.335 24.814 20.362 44.84 45.142 45.175h240.967c24.814-0.335 44.84-20.362 45.175-45.142v-466.843l3.614-5.421 220.455 218.045c8.085 8.184 19.307 13.251 31.713 13.251 0.073 0 0.148 0 0.222 0h-0.011c0.137 0.001 0.299 0.003 0.462 0.003 12.327 0 23.47-5.072 31.455-13.244l0.008-0.008c8.162-8.172 13.212-19.46 13.212-31.923s-5.048-23.751-13.212-31.925v0zM596.326 470.439c-5.634 7.174-9.035 16.335-9.035 26.291 0 0.075 0 0.15 0 0.224v-0.011 436.692h-150.584v-436.692c0-0.064 0-0.138 0-0.212 0-9.955-3.401-19.117-9.105-26.384l0.071 0.093-277.075-380.073h109.624l355.98 352.366z"],"attrs":[{},{}],"grid":16,"tags":["filter-slash"],"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":226,"id":183,"name":"filter-slash","prevSize":80,"code":59831},"setIdx":0,"setId":1,"iconIdx":77},{"icon":{"paths":["M1023.989 515.199c-3.553-280.043-231.4-505.695-511.951-505.695-282.764 0-511.989 229.225-511.989 511.989 0 254.507 185.702 465.641 428.999 505.297l2.953 0.397v-362.872h-127.997v-149.116h127.997v-113.278c-0.721-6.073-1.134-13.108-1.134-20.239 0-100.028 81.088-181.117 181.117-181.117 4.227 0 8.421 0.145 12.576 0.43l-0.561-0.031c40.895 0.576 80.479 4.278 119.075 10.879l-4.516-0.639v127.997h-63.999c-2.79-0.372-6.015-0.583-9.289-0.583-41 0-74.238 33.238-74.238 74.238 0 2.458 0.12 4.89 0.352 7.287l-0.024-0.304v96.638h142.077l-23.040 149.116h-118.397v358.392c246.274-40.033 432-251.177 432-505.702 0-1.084-0.003-2.169-0.010-3.253l0.001 0.166z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["facebook"]},"attrs":[{}],"properties":{"order":223,"id":182,"name":"facebook","prevSize":80,"code":59828},"setIdx":0,"setId":1,"iconIdx":78},{"icon":{"paths":["M342.537 824.066c0 4.477-4.477 7.674-10.871 7.674s-11.511 0-11.511-7.674 5.115-7.674 10.871-7.674 11.511 3.197 11.511 7.674zM278.59 814.474c0 4.477 0 9.592 8.952 10.871 1.214 0.597 2.642 0.946 4.152 0.946 3.78 0 7.050-2.187 8.614-5.366l0.025-0.057c0-4.477 0-8.952-8.952-10.871s-11.511 0-12.789 4.477zM369.395 811.277c-5.755 0-9.592 5.115-8.952 10.232s5.755 7.034 12.151 5.755 9.592-5.755 8.952-10.232-5.755-6.395-12.151-5.755zM505.605 0.416c-1.401-0.013-3.056-0.022-4.712-0.022-276.536 0-500.713 224.177-500.713 500.713 0 5.405 0.085 10.79 0.256 16.152l-0.019-0.784c-0.043 2.548-0.069 5.556-0.069 8.569 0 228.113 144.076 422.574 346.195 497.35l3.671 1.189c26.218 4.477 35.81-12.151 35.81-25.58s0-85.69 0-127.896c0 0-144.523 31.974-175.218-63.949 0 0-23.021-63.949-56.913-77.378 0 0-47.321-33.253 3.197-32.614 34.33 4.756 63.049 25.238 79.017 53.815l0.277 0.541c18.278 35.272 54.506 58.959 96.268 58.959 20.145 0 39.003-5.513 55.146-15.109l-0.498 0.274c2.59-27.799 14.547-52.403 32.64-71.009l-0.027 0.027c-115.106-13.429-231.491-30.055-231.491-234.050-0.145-2.57-0.228-5.577-0.228-8.605 0-45.473 18.687-86.583 48.8-116.067l0.028-0.028c-6.646-19.325-10.482-41.593-10.482-64.756 0-28.316 5.734-55.295 16.103-79.836l-0.505 1.347c43.484-14.069 142.605 56.913 142.605 56.913 38.806-11.37 83.386-17.912 129.495-17.912s90.69 6.541 132.864 18.747l-3.369-0.835s99.119-70.982 142.605-56.913c10.054 23.11 15.902 50.029 15.902 78.316 0 23.246-3.951 45.569-11.215 66.335l0.429-1.407c32.709 30.551 53.097 73.938 53.097 122.086 0 0.919-0.007 1.836-0.022 2.75l0.001-0.138c0 204.633-121.502 220.621-236.608 234.050 20.129 22.501 32.432 52.369 32.432 85.111 0 3.805-0.166 7.572-0.492 11.293l0.034-0.483c0 71.622 0 159.871 0 177.137-0.001 0.076-0.001 0.166-0.001 0.258 0 14.833 12.025 26.858 26.858 26.858 3.209 0 6.287-0.564 9.141-1.596l-0.187 0.058c204.623-75.025 347.995-268.129 347.995-494.721 0-3.906-0.042-7.803-0.127-11.688l0.010 0.579c0.012-1.343 0.019-2.929 0.019-4.517 0-282.54-229.044-511.584-511.584-511.584-2.256 0-4.508 0.015-6.757 0.043l0.342-0.003zM201.213 730.062s0 7.034 0 10.871c1.389 1.394 3.312 2.257 5.436 2.257s4.047-0.863 5.436-2.257v0s0-7.034 0-11.511-8.314-1.918-10.871 0.64zM178.831 712.796s0 6.395 4.477 8.314c1.064 1.308 2.674 2.137 4.477 2.137s3.413-0.829 4.468-2.127l0.009-0.010s0-6.395-4.477-8.314-7.674-1.918-8.952 0zM242.778 788.256s0 8.952 0 13.429 10.871 5.115 13.429 0 0-8.952 0-13.429-8.314-3.197-10.871 0zM219.118 756.92s0 7.674 0 12.789 8.952 7.034 12.151 5.115c1.56-1.787 2.512-4.14 2.512-6.715s-0.952-4.928-2.522-6.727l0.010 0.012c-3.197-5.115-8.314-7.034-12.151-4.477z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["github"]},"attrs":[{}],"properties":{"order":222,"id":181,"name":"github","prevSize":80,"code":59829},"setIdx":0,"setId":1,"iconIdx":79},{"icon":{"paths":["M916.838 305.187c0 8.789 0 18.096 0 26.886 0.007 1.078 0.011 2.355 0.011 3.631 0 325.813-264.124 589.936-589.936 589.936-1.276 0-2.552-0.004-3.827-0.012l0.196 0.001c-0.51 0.001-1.114 0.002-1.717 0.002-118.435 0-228.719-34.901-321.128-94.979l2.284 1.392c17.062 0 33.091 0 51.704 0 0.002 0 0.005 0 0.007 0 97.98 0 188.092-33.688 259.382-90.114l-0.874 0.667c-91.316-0.843-168.422-60.74-195.032-143.307l-0.407-1.464c11.773 1.974 25.336 3.103 39.164 3.103 0.228 0 0.456 0 0.683-0.001h-0.035c19.516-0.144 38.393-2.587 56.462-7.070l-1.657 0.348c-95.075-19.916-165.451-103.058-165.451-202.636 0-0.015 0-0.030 0-0.046v0.002c27.158 15.264 59.356 24.854 93.652 26.353l0.448 0.016c-57.044-38.132-94.103-102.278-94.103-175.078 0-0.433 0.001-0.865 0.004-1.298v0.067c0.070-38.098 10.43-73.76 28.447-104.376l-0.527 0.968c103.206 126.555 255.913 209.348 428.158 218.642l1.498 0.064c-3.124-14.226-4.998-30.628-5.17-47.438l-0.001-0.128c-0.065-1.95-0.103-4.241-0.103-6.541 0-114.221 92.594-206.813 206.813-206.813 61.722 0 117.127 27.038 155.021 69.915l0.191 0.222c49.972-10.236 94.309-28.167 134.131-52.719l-1.769 1.015c-16.162 49.068-48.731 89.016-91.083 114.259l-0.949 0.523c44.586-4.928 85.337-16.248 123.076-33.095l-2.607 1.040c-28.94 41.915-63.161 77.617-102.256 107.223l-1.151 0.837z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":16,"tags":["twitter"]},"attrs":[{}],"properties":{"order":221,"id":180,"name":"twitter","prevSize":80,"code":59830},"setIdx":0,"setId":1,"iconIdx":80},{"icon":{"paths":["M795.402 3.99c-18.498-7.266-39.637-3.303-54.171 10.57l-443.93 443.93v-408.918c0-27.085-22.461-49.546-49.546-49.546s-49.546 22.461-49.546 49.546v924.854c0 27.085 22.461 49.546 49.546 49.546s49.546-22.461 49.546-49.546v-408.918l443.93 443.93c9.248 9.248 22.461 14.534 35.012 14.534 6.607 0 12.552-1.321 19.157-3.964 18.498-7.927 30.389-25.764 30.389-45.582v-924.854c0-19.818-11.891-38.316-30.389-45.582zM726.699 854.857l-342.857-342.857 342.857-342.857v685.713z"],"attrs":[{}],"tags":["step-backward-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":211,"id":0,"name":"step-backward-alt","prevSize":80,"code":59820},"setIdx":0,"setId":1,"iconIdx":81},{"icon":{"paths":["M776.245 0.027c-27.085 0-49.546 22.461-49.546 49.546v408.918l-443.93-443.93c-13.873-13.873-35.673-18.498-54.171-10.57s-30.389 25.764-30.389 45.582v924.854c0 19.818 11.891 38.316 30.389 45.582 5.945 2.643 12.552 3.964 19.157 3.964 13.212 0 25.764-5.284 35.012-14.534l443.93-443.93v408.918c0 27.085 22.461 49.546 49.546 49.546s49.546-22.461 49.546-49.546v-924.854c0-27.085-22.461-49.546-49.546-49.546zM297.301 854.857v-685.713l342.857 342.857-342.857 342.857z"],"attrs":[{}],"tags":["step-forward-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":210,"id":1,"name":"step-forward-alt","prevSize":80,"code":59821},"setIdx":0,"setId":1,"iconIdx":82},{"icon":{"paths":["M1009.943 479.818l-437.090-409.59c-12.873-11.702-31.597-15.213-47.395-8.191s-26.331 22.82-26.331 40.374v366.875l-425.388-399.058c-12.873-11.702-31.597-15.213-47.395-8.191s-26.331 22.82-26.331 40.374v819.178c0 17.554 10.532 33.352 26.331 40.374 5.852 2.341 11.702 3.511 17.554 3.511 11.118 0 21.65-4.096 29.842-11.702l425.388-399.058v366.875c0 17.554 10.532 33.352 26.331 40.374 5.852 2.341 11.702 3.511 17.554 3.511 11.118 0 21.65-4.096 29.842-11.702l437.090-409.59c8.777-8.191 14.043-19.895 14.043-32.182s-5.266-23.99-14.043-32.182zM87.783 820.362v-616.725l328.842 308.362-328.842 308.362zM586.896 820.362v-616.725l328.842 308.362-328.842 308.362z"],"attrs":[{}],"tags":["forward"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":259,"id":2,"name":"forward","prevSize":80,"code":59822},"setIdx":0,"setId":1,"iconIdx":83},{"icon":{"paths":["M997.655 62.036c-15.798-7.022-34.522-3.511-47.395 8.191l-425.388 399.058v-366.875c0-17.554-10.532-33.352-26.331-40.374s-34.522-3.511-47.395 8.191l-437.090 409.59c-8.777 8.191-14.043 19.895-14.043 32.182s5.266 23.99 14.043 32.182l437.090 409.59c8.191 7.607 19.309 11.702 29.842 11.702 5.852 0 11.702-1.17 17.554-3.511 15.798-7.022 26.331-22.82 26.331-40.374v-366.875l425.388 399.058c8.191 7.607 19.309 11.702 29.842 11.702 5.852 0 11.702-1.17 17.554-3.511 15.798-7.022 26.331-22.82 26.331-40.374v-819.178c0-17.554-10.532-33.352-26.331-40.374zM437.104 820.362l-328.842-308.362 328.842-308.362v616.725zM936.217 820.362l-328.842-308.362 328.842-308.362v616.725z"],"attrs":[{}],"tags":["backward"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":254,"id":3,"name":"backward","prevSize":80,"code":59823},"setIdx":0,"setId":1,"iconIdx":84},{"icon":{"paths":["M997.071 62.036c-16.384-7.022-35.108-2.925-47.981 9.362l-393.206 393.206v-362.194c0-17.554-10.532-33.938-26.916-40.374-16.384-7.022-35.108-2.925-47.981 9.362l-393.206 393.206v-362.194c0-23.99-19.895-43.885-43.885-43.885s-43.885 19.895-43.885 43.885v819.178c0 23.99 19.895 43.885 43.885 43.885s43.885-19.895 43.885-43.885v-362.194l393.206 393.206c8.191 8.191 19.309 12.873 31.011 12.873 5.852 0 11.118-1.17 16.968-3.511 16.384-7.022 26.916-22.82 26.916-40.374v-362.194l393.206 393.206c8.191 8.191 19.309 12.873 31.011 12.873 5.852 0 11.118-1.17 16.968-3.511 16.384-7.022 26.916-22.82 26.916-40.374v-819.178c0-17.554-10.532-33.938-26.916-40.374zM468.115 815.681l-303.681-303.681 303.681-303.681v607.362zM936.217 815.681l-303.681-303.681 303.681-303.681v607.362z"],"attrs":[{}],"tags":["fast-backward"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":207,"id":4,"name":"fast-backward","prevSize":80,"code":59824},"setIdx":0,"setId":1,"iconIdx":85},{"icon":{"paths":["M980.102 58.526c-23.99 0-43.885 19.895-43.885 43.885v362.194l-393.206-393.206c-12.288-12.288-31.597-16.384-47.981-9.362s-26.916 22.82-26.916 40.374v362.194l-393.206-393.206c-12.288-12.288-31.597-16.384-47.981-9.362s-26.916 22.82-26.916 40.374v819.178c0 17.554 10.532 33.938 26.916 40.374 5.266 2.341 11.118 3.511 16.968 3.511 11.702 0 22.82-4.681 31.011-12.873l393.206-393.206v362.194c0 17.554 10.532 33.938 26.916 40.374 5.266 2.341 11.118 3.511 16.968 3.511 11.702 0 22.82-4.681 31.011-12.873l393.206-393.206v362.194c0 23.99 19.895 43.885 43.885 43.885s43.885-19.895 43.885-43.885v-819.178c0-23.99-19.895-43.885-43.885-43.885zM87.783 815.681v-607.362l303.681 303.681-303.681 303.681zM555.885 815.681v-607.362l303.681 303.681-303.681 303.681z"],"attrs":[{}],"tags":["fast-forward"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":206,"id":5,"name":"fast-forward","prevSize":80,"code":59825},"setIdx":0,"setId":1,"iconIdx":86},{"icon":{"paths":["M313.813 1023.983c-27.215-0.367-49.18-22.332-49.547-49.511v-924.907c0-27.364 22.183-49.547 49.547-49.547s49.547 22.183 49.547 49.547v0 924.872c-0.367 27.215-22.332 49.18-49.511 49.547h-0.036z","M710.187 1023.983c-27.215-0.367-49.18-22.332-49.547-49.511v-924.907c0-27.364 22.183-49.547 49.547-49.547s49.547 22.183 49.547 49.547v0 924.872c-0.367 27.215-22.332 49.18-49.511 49.547h-0.036z"],"attrs":[{},{}],"tags":["pause"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":205,"id":6,"name":"pause","prevSize":80,"code":59826},"setIdx":0,"setId":1,"iconIdx":87},{"icon":{"paths":["M280.358 1024.923c-6.942-0.037-13.534-1.495-19.514-4.095l0.321 0.124c-18.014-7.505-30.445-24.968-30.445-45.335 0-0.116 0-0.233 0.002-0.349v0.019-926.568c1.044-26.589 22.852-47.75 49.602-47.75 12.752 0 24.381 4.809 33.173 12.712l-0.045-0.040 463.285 463.285c8.969 8.98 14.517 21.381 14.517 35.077s-5.547 26.097-14.517 35.078v0l-463.285 463.285c-8.576 8.44-20.14 13.868-32.964 14.555l-0.127 0.006zM329.996 168.508v686.985l343.492-343.492z"],"attrs":[{}],"tags":["play"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":204,"id":7,"name":"play","prevSize":80,"code":59827},"setIdx":0,"setId":1,"iconIdx":88},{"icon":{"paths":["M736.143 262.827l-277.617 113.777c-38.623 15.541-68.655 45.573-83.837 83.191l-0.359 1.004-113.777 277.617c-0.848 2.097-1.341 4.529-1.341 7.076 0 8.091 4.968 15.023 12.020 17.908l0.129 0.047c2.113 0.807 4.557 1.275 7.111 1.275s4.997-0.467 7.252-1.321l-0.141 0.047 277.617-113.777c38.623-15.541 68.655-45.573 83.837-83.191l0.359-1.004 113.777-277.617c0.848-2.097 1.341-4.529 1.341-7.076 0-8.091-4.968-15.023-12.020-17.908l-0.129-0.047c-2.113-0.807-4.557-1.275-7.111-1.275s-4.997 0.467-7.252 1.321l0.141-0.047zM512 568.889c-31.419 0-56.889-25.471-56.889-56.889s25.471-56.889 56.889-56.889c31.419 0 56.889 25.471 56.889 56.889v0c0 31.419-25.471 56.889-56.889 56.889v0z","M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z"],"attrs":[{},{}],"tags":["compass"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":203,"id":8,"name":"compass","prevSize":80,"code":59819},"setIdx":0,"setId":1,"iconIdx":89},{"icon":{"paths":["M921.588 906.96h-819.175c-56.419-0.331-102.067-45.977-102.397-102.366v-585.157c0.331-56.419 45.977-102.067 102.366-102.397h819.207c56.419 0.331 102.067 45.977 102.397 102.366v585.157c-0.331 56.419-45.977 102.067-102.366 102.397h-0.032zM102.412 204.809c-8.079 0-14.629 6.55-14.629 14.629v0 585.126c0 8.079 6.55 14.629 14.629 14.629v0h819.175c8.079 0 14.629-6.55 14.629-14.629v0-585.126c0-8.079-6.55-14.629-14.629-14.629v0z","M336.462 497.371c-64.631 0-117.025-52.394-117.025-117.025s52.394-117.025 117.025-117.025c64.631 0 117.025 52.394 117.025 117.025v0c0 64.631-52.394 117.025-117.025 117.025v0zM336.462 351.091c-16.158 0-29.256 13.098-29.256 29.256s13.098 29.256 29.256 29.256c16.158 0 29.256-13.098 29.256-29.256v0c0-16.158-13.098-29.256-29.256-29.256v0z","M512 731.422c-24.105-0.325-43.559-19.78-43.884-43.853v-0.032c0-39.788-9.947-73.14-131.653-73.14s-131.653 33.352-131.653 73.14c0 24.237-19.648 43.884-43.884 43.884s-43.884-19.648-43.884-43.884v0c0-160.909 165.005-160.909 219.422-160.909s219.422 0 219.422 160.909c-0.325 24.105-19.78 43.559-43.853 43.884h-0.032z","M804.562 438.86h-175.538c-24.237 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h175.538c24.237 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M746.051 614.397h-117.025c-24.237 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h117.025c24.237 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z"],"attrs":[{},{},{},{},{}],"tags":["id-card"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{}],"properties":{"order":202,"id":9,"name":"id-card","prevSize":80,"code":59818},"setIdx":0,"setId":1,"iconIdx":90},{"icon":{"paths":["M921.588 906.96h-819.175c-56.419-0.331-102.067-45.977-102.397-102.366v-146.313c0.325-24.105 19.78-43.559 43.853-43.884h0.032c56.552 0 102.397-45.844 102.397-102.397s-45.844-102.397-102.397-102.397v0c-24.105-0.325-43.559-19.78-43.884-43.853v-146.313c0.331-56.419 45.977-102.067 102.366-102.397h819.207c56.419 0.331 102.067 45.977 102.397 102.366v146.313c-0.325 24.105-19.78 43.559-43.853 43.884h-0.032c-56.552 0-102.397 45.844-102.397 102.397s45.844 102.397 102.397 102.397v0c24.105 0.325 43.559 19.78 43.884 43.853v146.313c-0.331 56.419-45.977 102.067-102.366 102.397h-0.032zM87.785 696.9v107.664c0 8.079 6.55 14.629 14.629 14.629v0h819.175c8.079 0 14.629-6.55 14.629-14.629v0-107.664c-84.233-20.753-145.724-95.646-145.724-184.9s61.489-164.147 144.417-184.627l1.306-0.273v-107.664c0-8.079-6.55-14.629-14.629-14.629v0h-819.175c-8.079 0-14.629 6.55-14.629 14.629v0 107.664c84.233 20.753 145.724 95.646 145.724 184.9s-61.489 164.147-144.417 184.627l-1.306 0.273z"],"attrs":[{}],"tags":["ticket"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":201,"id":10,"name":"ticket","prevSize":80,"code":59817},"setIdx":0,"setId":1,"iconIdx":91},{"icon":{"paths":["M894.081 336.465l-323.57-323.57c-7.935-7.944-18.897-12.862-31.009-12.873h-261.55c-88.866 0-160.907 72.041-160.907 160.907v0 702.14c0 88.866 72.041 160.907 160.907 160.907v0h468.093c88.866 0 160.907-72.041 160.907-160.907v0-497.35c-0.494-11.473-5.32-21.731-12.872-29.254l-0.001-0.001zM585.139 149.812l172.024 172.024h-172.024zM746.047 936.209h-468.093c-40.394 0-73.139-32.746-73.139-73.139v0-702.14c0-40.394 32.746-73.139 73.139-73.139v0h219.419v277.931c0.325 24.105 19.779 43.559 43.852 43.884h277.962v453.466c0 40.394-32.746 73.139-73.139 73.139v0z"],"attrs":[{}],"tags":["file-o","deprecate"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":200,"id":11,"name":"file-o","prevSize":80,"code":59816},"setIdx":0,"setId":1,"iconIdx":92},{"icon":{"paths":["M680.456 749.159c-0.386 0.011-0.839 0.017-1.294 0.017-27.363 0-49.546-22.183-49.546-49.546 0-13.679 5.543-26.064 14.506-35.029v0l258.959-256.978-258.959-256.978c-8.952-8.963-14.491-21.342-14.491-35.012s5.537-26.049 14.491-35.013v0c8.963-8.952 21.342-14.491 35.012-14.491s26.049 5.537 35.013 14.491v0l294.632 291.991c8.952 8.963 14.491 21.342 14.491 35.012s-5.537 26.049-14.491 35.013v0l-294.632 291.991c-8.452 8.957-20.405 14.534-33.659 14.534-0.011 0-0.023 0-0.034 0h0.002z","M49.571 957.913c-27.215-0.367-49.179-22.331-49.546-49.51v-500.779c0.367-27.215 22.331-49.179 49.51-49.546h924.892c27.363 0 49.546 22.183 49.546 49.546s-22.183 49.546-49.546 49.546v0h-875.31v451.197c-0.367 27.215-22.331 49.179-49.51 49.546h-0.036z"],"attrs":[{},{}],"tags":["reply"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":199,"id":12,"name":"reply","prevSize":80,"code":59815},"setIdx":0,"setId":1,"iconIdx":93},{"icon":{"paths":["M512 1023.972c-0.004 0-0.010 0-0.016 0-27.661 0-52.702-11.211-70.831-29.334l-411.791-411.791c-18.134-18.13-29.35-43.178-29.35-70.845s11.216-52.715 29.35-70.845l411.791-411.791c18.415-17.494 43.374-28.255 70.845-28.255s52.43 10.76 70.891 28.296l-0.044-0.042 411.791 411.791c18.134 18.13 29.35 43.178 29.35 70.845s-11.216 52.715-29.35 70.845l-411.791 411.791c-18.129 18.125-43.17 29.334-70.831 29.334-0.005 0-0.010 0-0.016 0h0.001zM512 83.051c-0.143-0.005-0.31-0.008-0.477-0.008-4.422 0-8.397 1.921-11.133 4.975l-0.013 0.014-412.345 412.345c-3.072 2.929-4.981 7.053-4.981 11.623s1.91 8.694 4.975 11.617l412.351 412.351c2.502 3.832 6.772 6.329 11.623 6.329s9.121-2.497 11.591-6.276l0.032-0.053 412.345-412.345c3.072-2.929 4.981-7.053 4.981-11.623s-1.91-8.694-4.975-11.617l-412.351-412.351c-2.749-3.068-6.722-4.989-11.146-4.989-0.167 0-0.335 0.003-0.502 0.008h0.025z","M441.707 645.942c-0.057 0-0.126 0-0.193 0-11.4 0-21.712-4.657-29.137-12.173l-121.77-121.77c-7.501-7.51-12.141-17.881-12.141-29.334s4.639-21.825 12.141-29.335v0l121.767-122.873c7.51-7.501 17.881-12.141 29.334-12.141s21.825 4.639 29.335 12.141v0c7.501 7.51 12.141 17.881 12.141 29.334s-4.639 21.825-12.141 29.335v0l-94.092 92.985 94.092 92.985c7.501 7.51 12.141 17.881 12.141 29.334s-4.639 21.825-12.141 29.335v0c-7.429 7.52-17.741 12.177-29.141 12.177-0.067 0-0.136 0-0.204 0h0.010z","M705.718 678.045c-22.801-0.307-41.204-18.71-41.511-41.481v-110.726h-345.927c-22.926 0-41.511-18.585-41.511-41.511s18.585-41.511 41.511-41.511v0h387.438c22.801 0.307 41.204 18.71 41.511 41.481v154.451c-1.483 21.852-19.449 39.046-41.487 39.297h-0.025z"],"attrs":[{},{},{}],"tags":["directions-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":195,"id":13,"name":"directions-alt","prevSize":80,"code":59813},"setIdx":0,"setId":1,"iconIdx":94},{"icon":{"paths":["M512 1023.972c-0.004 0-0.010 0-0.016 0-27.661 0-52.702-11.211-70.831-29.334l-411.791-411.791c-18.134-18.13-29.35-43.178-29.35-70.845s11.216-52.715 29.35-70.845l411.791-411.791c18.415-17.494 43.374-28.255 70.845-28.255s52.43 10.76 70.891 28.296l-0.044-0.042 411.791 411.791c18.134 18.13 29.35 43.178 29.35 70.845s-11.216 52.715-29.35 70.845l-411.791 411.791c-18.129 18.125-43.17 29.334-70.831 29.334-0.005 0-0.010 0-0.016 0h0.001zM512 83.051c-0.143-0.005-0.31-0.008-0.477-0.008-4.422 0-8.397 1.921-11.133 4.975l-0.013 0.014-412.345 412.345c-3.072 2.929-4.981 7.053-4.981 11.623s1.91 8.694 4.975 11.617l412.351 412.351c2.502 3.832 6.772 6.329 11.623 6.329s9.121-2.497 11.591-6.276l0.032-0.053 412.345-412.345c3.072-2.929 4.981-7.053 4.981-11.623s-1.91-8.694-4.975-11.617l-412.351-412.351c-2.749-3.068-6.722-4.989-11.146-4.989-0.167 0-0.335 0.003-0.502 0.008h0.025z","M582.293 645.942c-0.057 0-0.126 0-0.193 0-11.4 0-21.712-4.657-29.137-12.173l-0.004-0.004c-7.501-7.51-12.141-17.881-12.141-29.334s4.639-21.825 12.141-29.335v0l94.092-92.985-94.092-92.985c-8.139-7.599-13.212-18.392-13.212-30.371 0-22.926 18.585-41.511 41.511-41.511 11.979 0 22.771 5.073 30.347 13.188l0.022 0.025 121.767 122.319c7.668 7.537 12.42 18.020 12.42 29.612s-4.752 22.075-12.413 29.605l-0.006 0.005-121.767 121.767c-7.429 7.52-17.741 12.177-29.141 12.177-0.067 0-0.136 0-0.204 0h0.010z","M318.282 678.045c-22.801-0.307-41.204-18.71-41.511-41.481v-154.451c0.307-22.801 18.71-41.204 41.481-41.511h387.468c22.926 0 41.511 18.585 41.511 41.511s-18.585 41.511-41.511 41.511v0h-345.927v110.696c0.021 0.497 0.032 1.078 0.032 1.663 0 23.049-18.537 41.768-41.516 42.061h-0.027z"],"attrs":[{},{},{}],"tags":["directions"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":196,"id":14,"name":"directions","prevSize":80,"code":59814},"setIdx":0,"setId":1,"iconIdx":95},{"icon":{"paths":["M992.966 368.647c-25.16-29.841-61.437-46.809-100.641-46.809h-235.803v-160.907c0-88.937-71.969-160.907-165.589-160.907-40.959 0-77.821 24.575-94.203 62.607l-148.619 346.974h-109.417c-76.65 0-138.673 62.023-138.673 138.673v337.613c0 76.066 62.607 138.087 138.673 138.087h676.396c63.778 0 118.194-45.639 129.31-108.832l77.235-438.838c6.436-38.618-4.096-77.821-29.255-107.662zM138.696 936.209c-28.086 0-50.905-22.82-50.905-50.32v-337.613c0-28.086 22.82-50.905 50.905-50.905h94.203v438.838h-94.203zM858.39 899.933c-3.511 21.064-21.65 36.277-43.298 36.277h-493.839v-473.945l156.226-365.699c2.341-5.266 7.607-9.362 18.723-9.362 40.373 0 72.555 32.766 72.555 73.139v248.674h323.57c13.457 0 25.16 5.266 33.352 15.213s11.702 22.82 9.362 36.277l-77.235 438.838z"],"attrs":[{}],"tags":["thumbs-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":191,"id":15,"name":"thumbs-up","prevSize":80,"code":59811},"setIdx":0,"setId":1,"iconIdx":96},{"icon":{"paths":["M885.271 0.068h-676.92c-63.773 0-118.184 45.635-129.299 108.822l-76.643 438.799c-6.435 38.614 4.096 77.814 28.669 107.652 25.158 29.838 61.432 46.805 100.632 46.805h235.782v160.892c0 88.929 71.963 160.892 165.574 160.892 40.955 0 77.814-24.573 94.195-62.602l148.606-346.943h109.992c76.643 0 138.66-62.017 138.66-138.66v-337.583c0-76.059-62.017-138.075-138.66-138.075zM702.731 561.731l-156.212 365.666c-2.341 5.266-7.606 9.361-18.722 9.361-40.369 0-72.549-32.763-72.549-73.133v-248.652h-323.541c-13.456 0-25.158-5.266-33.349-15.211-8.776-9.946-11.701-22.818-9.361-36.274l76.643-438.799c3.51-21.062 21.648-36.274 43.294-36.274h493.795v473.317zM936.172 475.726c0 28.083-22.818 50.901-50.901 50.901h-94.195v-438.799h94.195c28.083 0 50.901 22.818 50.901 50.315v337.583z"],"attrs":[{}],"tags":["thumbs-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":258,"id":16,"name":"thumbs-down","prevSize":80,"code":59812},"setIdx":0,"setId":1,"iconIdx":97},{"icon":{"paths":["M272.871 1023.949c-0.183 0.003-0.398 0.003-0.613 0.003-13.694 0-26.089-5.555-35.058-14.536v0l-165.145-167.127c-8.952-8.963-14.49-21.341-14.49-35.010s5.536-26.047 14.49-35.012v0c9.138-8.837 21.604-14.282 35.341-14.282s26.202 5.445 35.355 14.296l132.101 132.101 132.115-132.115c9.138-8.837 21.604-14.282 35.341-14.282s26.202 5.445 35.355 14.296l-0.014-0.014c8.952 8.963 14.49 21.341 14.49 35.010s-5.536 26.047-14.49 35.012v0l-165.145 165.145c-9.003 10.201-22.109 16.602-36.709 16.602-1.030 0-2.051-0.033-3.065-0.094l0.139 0.006z","M272.871 1023.949c-0.002 0-0.003 0-0.005 0-27.495 0-49.827-22.103-50.2-49.508v-924.845c0.373-27.441 22.705-49.543 50.2-49.543 0.002 0 0.003 0 0.005 0v0c27.077 0.373 48.882 22.409 48.882 49.539 0 0.002 0 0.003 0 0.005v0 924.81c0 0.002 0 0.003 0 0.005 0 27.13-21.807 49.167-48.848 49.539h-0.036z","M850.216 990.919c-27.077-0.373-48.882-22.409-48.882-49.539 0-0.002 0-0.003 0-0.005v0-268.195l-25.763 14.533c-6.952 3.915-15.262 6.222-24.111 6.222-27.515 0-49.821-22.305-49.821-49.821 0-18.667 10.266-34.936 25.459-43.468l0.251-0.13 43.598-23.781c12.816-9.446 28.919-15.117 46.348-15.117 12.457 0 24.238 2.898 34.704 8.055l-0.461-0.206c29.13 13.962 48.887 43.216 48.887 77.083 0 0.303-0.002 0.608-0.005 0.91v-0.046 293.958c-0.373 27.441-22.705 49.543-50.2 49.543-0.002 0-0.003 0-0.005 0v0z","M817.187 330.341c-81.802-0.375-147.969-66.775-147.969-148.629 0-82.086 66.545-148.63 148.63-148.63s148.629 66.543 148.63 148.629v0c0.002 0.198 0.002 0.432 0.002 0.666 0 81.722-66.249 147.969-147.969 147.969-0.464 0-0.929-0.002-1.393-0.006h0.071zM817.187 132.168c-27.362 0-49.543 22.182-49.543 49.543s22.182 49.543 49.543 49.543v0c27.362 0 49.543-22.182 49.543-49.543s-22.182-49.543-49.543-49.543v0z","M783.498 462.457h-32.369c-27.362 0-49.543-22.182-49.543-49.543s22.182-49.543 49.543-49.543v0h32.369c43.854-0.949 79.426-35.145 82.556-78.334l0.015-0.274c0-19.156 0-42.278 0-70.022v-33.028c0-0.002 0-0.003 0-0.005 0-27.13 21.807-49.167 48.848-49.539h0.036c0.002 0 0.003 0 0.005 0 27.495 0 49.827 22.103 50.2 49.508v33.064c0 29.726 0 54.168 0 75.306-6.052 95.91-84.883 171.519-181.572 172.411h-0.088z"],"attrs":[{},{},{},{},{}],"tags":["sort-numeric-down-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{}],"properties":{"order":255,"id":17,"name":"sort-numeric-down-alt","prevSize":80,"code":59798},"setIdx":0,"setId":1,"iconIdx":98},{"icon":{"paths":["M438.010 264.266c-14.187-0.375-26.837-6.658-35.632-16.47l-0.042-0.046-132.124-132.124-132.124 132.124c-8.829 7.573-20.392 12.184-33.031 12.184s-24.204-4.609-33.099-12.241l0.068 0.057c-7.83-8.725-12.617-20.319-12.617-33.031s4.787-24.306 12.658-33.077l-0.040 0.046 165.156-165.156c9.138-8.838 21.605-14.283 35.344-14.283s26.204 5.445 35.358 14.297l165.142 165.142c8.952 8.963 14.491 21.342 14.491 35.013s-5.537 26.049-14.491 35.014v0c-8.632 7.819-20.139 12.603-32.763 12.603-0.791 0-1.578-0.019-2.36-0.056l0.11 0.005z","M272.855 1023.983c-0.002 0-0.003 0-0.005 0-27.497 0-49.83-22.104-50.203-49.511v-924.907c0.373-27.443 22.706-49.547 50.203-49.547 0.002 0 0.003 0 0.005 0v0c27.079 0.373 48.886 22.411 48.886 49.542 0 0.002 0 0.003 0 0.005v0 924.872c0 0.002 0 0.003 0 0.005 0 27.131-21.808 49.17-48.852 49.542h-0.036z","M850.238 990.951c-27.079-0.373-48.886-22.411-48.886-49.542 0-0.002 0-0.003 0-0.005v0-268.213l-25.764 14.534c-6.952 3.916-15.263 6.223-24.112 6.223-27.517 0-49.824-22.307-49.824-49.824 0-18.668 10.267-34.938 25.461-43.471l0.251-0.13 43.601-23.782c12.817-9.446 28.921-15.118 46.351-15.118 12.458 0 24.239 2.898 34.706 8.056l-0.461-0.206c29.132 13.963 48.89 43.219 48.89 77.089 0 0.303-0.002 0.608-0.005 0.91v-0.046 293.978c-0.373 27.443-22.706 49.547-50.203 49.547-0.002 0-0.003 0-0.005 0v0z","M817.208 330.329c-81.808-0.375-147.979-66.78-147.979-148.639 0-82.091 66.549-148.64 148.64-148.64s148.639 66.547 148.64 148.639v0c0.002 0.198 0.002 0.432 0.002 0.666 0 81.727-66.253 147.979-147.979 147.979-0.465 0-0.929-0.002-1.394-0.006h0.071zM817.208 132.142c-27.364 0-49.547 22.183-49.547 49.547s22.183 49.547 49.547 49.547v0c27.364 0 49.547-22.183 49.547-49.547s-22.183-49.547-49.547-49.547v0z","M783.516 462.453h-32.371c-27.364 0-49.547-22.183-49.547-49.547s22.183-49.547 49.547-49.547v0h32.371c43.857-0.949 79.431-35.147 82.562-78.34l0.015-0.274c0-19.158 0-42.28 0-70.027v-33.031c0-0.002 0-0.003 0-0.005 0-27.131 21.808-49.17 48.852-49.542h0.036c0.002 0 0.003 0 0.005 0 27.497 0 49.83 22.104 50.203 49.511v33.066c0 29.728 0 54.172 0 75.311-6.052 95.916-84.889 171.531-181.584 172.423h-0.088z"],"attrs":[{},{},{},{},{}],"tags":["sort-numeric-up-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{}],"properties":{"order":182,"id":18,"name":"sort-numeric-up-alt","prevSize":80,"code":59799},"setIdx":0,"setId":1,"iconIdx":99},{"icon":{"paths":["M394.416 774.25l-80.59 80.59v-805.246c0-27.083-22.46-49.543-49.543-49.543s-49.543 22.46-49.543 49.543v805.246l-80.59-80.59c-19.156-19.156-50.864-19.156-70.022 0s-19.156 50.864 0 70.022l165.145 165.145c4.625 4.625 9.909 7.927 15.854 10.57s12.552 3.963 19.156 3.963 12.552-1.321 19.156-3.963c5.945-2.643 11.229-5.945 15.854-10.57l165.145-165.145c19.156-19.156 19.156-50.864 0-70.022s-50.864-19.156-70.022 0z","M971.763 924.862l-112.959-316.417c-11.229-28.405-36.992-46.901-66.058-46.901s-54.828 18.497-66.058 48.223l-112.298 315.096c-9.248 25.763 3.963 54.168 29.726 63.416s54.168-3.963 63.416-29.726l18.497-51.525h134.097l18.497 51.525c7.266 20.478 26.424 33.028 46.901 33.028 5.284 0 11.229-0.661 16.515-2.643 25.763-9.248 38.974-37.653 29.726-63.416zM761.038 807.94l31.708-88.517 31.708 88.517h-63.416z","M632.886 415.556c12.552 29.065 38.974 46.901 69.361 46.901h206.762c27.083 0 49.543-22.46 49.543-49.543s-22.46-49.543-49.543-49.543h-157.878l186.283-193.549c22.46-23.781 29.065-58.791 15.854-89.178-12.552-29.065-38.974-46.901-69.361-46.901h-205.44c-27.083 0-49.543 22.46-49.543 49.543s22.46 49.543 49.543 49.543h157.878l-186.944 194.871c-22.46 23.781-28.405 58.131-15.854 88.517z"],"attrs":[{},{},{}],"tags":["sort-alpha-down-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":183,"id":19,"name":"sort-alpha-down-alt","prevSize":80,"code":59800},"setIdx":0,"setId":1,"iconIdx":100},{"icon":{"paths":["M299.293 14.584c-4.625-4.625-9.909-7.927-15.854-10.57-11.89-5.284-25.763-5.284-37.653 0-5.945 2.643-11.229 5.945-15.854 10.57l-165.145 165.145c-19.156 19.156-19.156 50.864 0 70.022s50.864 19.156 70.022 0l80.59-80.59v805.246c0 27.083 22.46 49.543 49.543 49.543s49.543-22.46 49.543-49.543v-805.246l80.59 80.59c9.909 9.909 22.46 14.533 35.010 14.533s25.101-4.625 35.010-14.533c19.156-19.156 19.156-50.864 0-70.022l-165.145-165.145z","M971.763 924.862l-112.959-316.417c-11.229-28.405-36.992-46.901-66.058-46.901s-54.828 18.497-66.058 48.223l-112.298 315.096c-9.248 25.763 3.963 54.168 29.726 63.416s54.168-3.963 63.416-29.726l18.497-51.525h134.097l18.497 51.525c7.266 20.478 26.424 33.028 46.901 33.028 5.284 0 11.229-0.661 16.515-2.643 25.763-9.248 38.974-37.653 29.726-63.416zM761.038 807.94l31.708-88.517 31.708 88.517h-63.416z","M632.886 415.556c12.552 29.065 38.974 46.901 69.361 46.901h206.762c27.083 0 49.543-22.46 49.543-49.543s-22.46-49.543-49.543-49.543h-157.878l186.283-193.549c22.46-23.781 29.065-58.791 15.854-89.178-12.552-29.065-38.974-46.901-69.361-46.901h-205.44c-27.083 0-49.543 22.46-49.543 49.543s22.46 49.543 49.543 49.543h157.878l-186.944 194.871c-22.46 23.781-28.405 58.131-15.854 88.517z"],"attrs":[{},{},{}],"tags":["sort-alpha-up-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":184,"id":20,"name":"sort-alpha-up-alt","prevSize":80,"code":59801},"setIdx":0,"setId":1,"iconIdx":101},{"icon":{"paths":["M272.871 1023.949c-0.183 0.003-0.398 0.003-0.613 0.003-13.694 0-26.089-5.555-35.058-14.536v0l-165.145-167.127c-8.952-8.963-14.49-21.341-14.49-35.010s5.536-26.047 14.49-35.012v0c9.138-8.837 21.604-14.282 35.341-14.282s26.202 5.445 35.355 14.296l132.101 132.101 132.115-132.115c9.138-8.837 21.604-14.282 35.341-14.282s26.202 5.445 35.355 14.296l-0.014-0.014c8.952 8.963 14.49 21.341 14.49 35.010s-5.536 26.047-14.49 35.012v0l-165.145 165.145c-9.003 10.201-22.109 16.602-36.709 16.602-1.030 0-2.051-0.033-3.065-0.094l0.139 0.006z","M272.871 1023.949c-0.002 0-0.003 0-0.005 0-27.495 0-49.827-22.103-50.2-49.508v-924.845c0.373-27.441 22.705-49.543 50.2-49.543 0.002 0 0.003 0 0.005 0v0c27.077 0.373 48.882 22.409 48.882 49.539 0 0.002 0 0.003 0 0.005v0 924.81c0 0.002 0 0.003 0 0.005 0 27.13-21.807 49.167-48.848 49.539h-0.036z","M850.216 462.457c-27.077-0.373-48.882-22.409-48.882-49.539 0-0.002 0-0.003 0-0.005v0-268.195l-25.101 14.533c-6.952 3.915-15.262 6.222-24.111 6.222-27.515 0-49.821-22.305-49.821-49.821 0-18.667 10.266-34.936 25.459-43.468l0.251-0.13 42.937-22.46c12.816-9.446 28.919-15.117 46.348-15.117 12.457 0 24.238 2.898 34.704 8.055l-0.461-0.206c29.13 13.962 48.887 43.216 48.887 77.083 0 0.303-0.002 0.608-0.005 0.91v-0.046 292.636c-0.373 27.441-22.705 49.543-50.2 49.543-0.002 0-0.003 0-0.005 0v0z","M817.187 858.804c-81.802-0.375-147.969-66.775-147.969-148.629 0-82.086 66.545-148.63 148.63-148.63s148.629 66.543 148.63 148.629v0c0.002 0.198 0.002 0.432 0.002 0.666 0 81.722-66.249 147.969-147.969 147.969-0.464 0-0.929-0.002-1.393-0.006h0.071zM817.187 660.63c-27.362 0-49.543 22.182-49.543 49.543s22.182 49.543 49.543 49.543v0c27.362 0 49.543-22.182 49.543-49.543s-22.182-49.543-49.543-49.543v0z","M783.498 990.919h-32.369c-27.362 0-49.543-22.182-49.543-49.543s22.182-49.543 49.543-49.543v0h32.369c43.854-0.949 79.426-35.145 82.556-78.334l0.015-0.274c0-19.156 0-42.278 0-70.022v-33.028c0-0.002 0-0.003 0-0.005 0-27.13 21.807-49.167 48.848-49.539h0.036c0.002 0 0.003 0 0.005 0 27.495 0 49.827 22.103 50.2 49.508v33.064c0 29.726 0 54.168 0 75.306-6.373 95.766-85.015 171.188-181.539 172.409l-0.121 0.002z"],"attrs":[{},{},{},{},{}],"tags":["sort-numeric-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{}],"properties":{"order":185,"id":21,"name":"sort-numeric-down","prevSize":80,"code":59802},"setIdx":0,"setId":1,"iconIdx":102},{"icon":{"paths":["M429.424 264.27c-12.552 0-25.103-4.625-35.012-14.534l-130.14-130.14-130.14 130.14c-19.157 19.157-50.867 19.157-70.025 0s-19.157-50.867 0-70.025l165.154-165.154c19.157-19.157 50.867-19.157 70.025 0l165.154 165.154c19.157 19.157 19.157 50.867 0 70.025-9.909 9.909-22.461 14.534-35.012 14.534z","M264.27 1023.975c-27.085 0-49.546-22.461-49.546-49.546v-924.856c0-27.085 22.461-49.546 49.546-49.546s49.546 22.461 49.546 49.546v924.856c0 27.085-22.461 49.546-49.546 49.546z","M842.306 462.454c-27.085 0-49.546-22.461-49.546-49.546v-268.209l-25.764 13.873c-24.443 13.212-54.171 4.625-67.382-19.157s-4.625-54.171 19.157-67.382l42.939-23.782c23.782-17.175 54.171-19.818 80.594-7.927 29.728 13.873 48.885 44.262 48.885 78.612v293.973c0 27.085-22.461 49.546-49.546 49.546z","M809.275 858.821c-81.916 0-148.638-66.721-148.638-148.638s66.721-148.638 148.638-148.638 148.638 66.721 148.638 148.638-66.721 148.638-148.638 148.638zM809.275 660.638c-27.085 0-49.546 22.461-49.546 49.546s22.461 49.546 49.546 49.546 49.546-22.461 49.546-49.546-22.461-49.546-49.546-49.546z","M774.923 990.943h-31.709c-27.085 0-49.546-22.461-49.546-49.546s22.461-49.546 49.546-49.546h31.709c42.939 0 80.594-35.673 82.576-78.612 0.661-19.157 0.661-42.28 0.661-70.025v-33.030c0-27.085 22.461-49.546 49.546-49.546s49.546 22.461 49.546 49.546v33.030c0 29.728 0 54.171-1.321 75.31-4.625 95.128-86.54 172.42-181.668 172.42z"],"attrs":[{},{},{},{},{}],"tags":["sort-numeric-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{}],"properties":{"order":186,"id":22,"name":"sort-numeric-up","prevSize":80,"code":59803},"setIdx":0,"setId":1,"iconIdx":103},{"icon":{"paths":["M394.416 774.25l-80.59 80.59v-805.246c0-27.083-22.46-49.543-49.543-49.543s-49.543 22.46-49.543 49.543v805.246l-80.59-80.59c-19.156-19.156-50.864-19.156-70.022 0s-19.156 50.864 0 70.022l165.145 165.145c4.625 4.625 9.909 7.927 15.854 10.57s12.552 3.963 19.156 3.963 13.211-1.321 19.156-3.963c5.945-2.643 11.229-5.945 15.854-10.57l165.145-165.145c19.156-19.156 19.156-50.864 0-70.022s-50.864-19.156-70.022 0z","M644.115 459.814c25.763 9.248 54.168-3.963 63.416-29.726l18.497-51.525h134.097l18.497 51.525c7.266 20.478 26.424 33.028 46.901 33.028 5.284 0 11.229-0.661 16.515-2.643 25.763-9.248 38.974-37.653 29.726-63.416l-112.959-316.417c-11.229-28.405-36.992-46.901-66.058-46.901s-54.828 18.497-66.058 48.223l-112.298 315.096c-9.248 25.763 3.963 54.168 29.726 63.416zM824.453 279.476h-63.416l31.708-88.517 31.708 88.517z","M952.607 608.444c-12.552-29.065-38.974-46.901-69.361-46.901h-205.44c-27.083 0-49.543 22.46-49.543 49.543s22.46 49.543 49.543 49.543h157.878l-186.944 194.871c-22.46 23.781-28.405 58.131-15.854 88.517 12.552 29.065 38.974 46.901 69.361 46.901h206.762c27.083 0 49.543-22.46 49.543-49.543s-22.46-49.543-49.543-49.543h-157.878l186.283-193.549c22.46-23.781 29.065-58.791 15.854-89.178z"],"attrs":[{},{},{}],"tags":["sort-alpha-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":187,"id":23,"name":"sort-alpha-down","prevSize":80,"code":59804},"setIdx":0,"setId":1,"iconIdx":104},{"icon":{"paths":["M299.293 14.584c-4.625-4.625-9.909-7.927-15.854-10.57-11.89-5.284-25.763-5.284-37.653 0-5.945 2.643-11.229 5.945-15.854 10.57l-165.145 165.145c-19.156 19.156-19.156 50.864 0 70.022s50.864 19.156 70.022 0l80.59-80.59v805.246c0 27.083 22.46 49.543 49.543 49.543s49.543-22.46 49.543-49.543v-805.246l80.59 80.59c9.909 9.909 22.46 14.533 35.010 14.533s25.101-4.625 35.010-14.533c19.156-19.156 19.156-50.864 0-70.022l-165.145-165.145z","M644.115 459.814c25.763 9.248 54.168-3.963 63.416-29.726l18.497-51.525h134.097l18.497 51.525c7.266 20.478 26.424 33.028 46.901 33.028 5.284 0 11.229-0.661 16.515-2.643 25.763-9.248 38.974-37.653 29.726-63.416l-112.959-316.417c-11.229-28.405-36.992-46.901-66.058-46.901s-54.828 18.497-66.058 48.223l-112.298 315.096c-9.248 25.763 3.963 54.168 29.726 63.416zM824.453 279.476h-63.416l31.708-88.517 31.708 88.517z","M952.607 608.444c-12.552-29.065-38.974-46.901-69.361-46.901h-205.44c-27.083 0-49.543 22.46-49.543 49.543s22.46 49.543 49.543 49.543h157.878l-186.944 194.871c-22.46 23.781-28.405 58.131-15.854 88.517 12.552 29.065 38.974 46.901 69.361 46.901h206.762c27.083 0 49.543-22.46 49.543-49.543s-22.46-49.543-49.543-49.543h-157.878l186.283-193.549c22.46-23.781 29.065-58.791 15.854-89.178z"],"attrs":[{},{},{}],"tags":["sort-alpha-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":188,"id":24,"name":"sort-alpha-up","prevSize":80,"code":59805},"setIdx":0,"setId":1,"iconIdx":105},{"icon":{"paths":["M412.908 264.27c-12.552 0-25.103-4.625-35.012-14.534l-130.14-130.14-130.14 130.14c-19.157 19.157-50.867 19.157-70.025 0s-19.157-50.867 0-70.025l165.154-165.154c19.157-19.157 50.867-19.157 70.025 0l165.154 165.154c19.157 19.157 19.157 50.867 0 70.025-9.909 9.909-22.461 14.534-35.012 14.534z","M247.755 1023.975c-27.085 0-49.546-22.461-49.546-49.546v-924.856c0-27.085 22.461-49.546 49.546-49.546s49.546 22.461 49.546 49.546v924.856c0 27.085-22.461 49.546-49.546 49.546z","M776.245 1023.975c-12.552 0-25.103-4.625-35.012-14.534l-165.154-165.154c-19.157-19.157-19.157-50.867 0-70.025s50.867-19.157 70.025 0l130.14 130.14 130.14-130.14c19.157-19.157 50.867-19.157 70.025 0s19.157 50.867 0 70.025l-165.154 165.154c-9.909 9.909-22.461 14.534-35.012 14.534z","M776.245 1023.975c-27.085 0-49.546-22.461-49.546-49.546v-924.856c0-27.085 22.461-49.546 49.546-49.546s49.546 22.461 49.546 49.546v924.856c0 27.085-22.461 49.546-49.546 49.546z"],"attrs":[{},{},{},{}],"tags":["sort-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":189,"id":25,"name":"sort-alt","prevSize":80,"code":59806},"setIdx":0,"setId":1,"iconIdx":106},{"icon":{"paths":["M336.438 292.547c-11.119 0-22.237-4.097-31.016-12.875l-115.285-115.285-115.285 115.285c-16.971 16.971-45.061 16.971-62.032 0s-16.971-45.061 0-62.032l146.302-146.302c16.971-16.971 45.061-16.971 62.032 0l146.302 146.302c16.971 16.971 16.971 45.061 0 62.032-8.778 8.778-19.898 12.875-31.016 12.875z","M190.135 965.536c-23.993 0-43.891-19.898-43.891-43.891v-819.29c0-23.993 19.898-43.891 43.891-43.891s43.891 19.898 43.891 43.891v819.29c0 23.993-19.898 43.891-43.891 43.891z","M980.166 292.547h-468.166c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h468.166c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M746.084 643.672h-234.084c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h234.084c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M629.041 819.234h-117.041c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h117.041c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M863.125 468.109h-351.125c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h351.125c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z"],"attrs":[{},{},{},{},{},{}],"tags":["sort-amount-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":190,"id":26,"name":"sort-amount-up","prevSize":80,"code":59807},"setIdx":0,"setId":1,"iconIdx":107},{"icon":{"paths":["M190.135 965.536c-11.119 0-22.237-4.097-31.016-12.875l-146.302-146.302c-16.971-16.971-16.971-45.061 0-62.032s45.061-16.971 62.032 0l115.285 115.285 115.285-115.285c16.971-16.971 45.061-16.971 62.032 0s16.971 45.061 0 62.032l-146.302 146.302c-8.778 8.778-19.898 12.875-31.016 12.875z","M190.135 965.536c-23.993 0-43.891-19.898-43.891-43.891v-819.29c0-23.993 19.898-43.891 43.891-43.891s43.891 19.898 43.891 43.891v819.29c0 23.993-19.898 43.891-43.891 43.891z","M980.166 292.547h-468.166c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h468.166c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M746.084 643.672h-234.084c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h234.084c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M629.041 819.234h-117.041c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h117.041c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M863.125 468.109h-351.125c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h351.125c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z"],"attrs":[{},{},{},{},{},{}],"tags":["sort-amount-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":180,"id":27,"name":"sort-amount-down","prevSize":80,"code":59808},"setIdx":0,"setId":1,"iconIdx":108},{"icon":{"paths":["M190.135 965.536c-11.119 0-22.237-4.097-31.016-12.875l-146.302-146.302c-16.971-16.971-16.971-45.061 0-62.032s45.061-16.971 62.032 0l115.285 115.285 115.285-115.285c16.971-16.971 45.061-16.971 62.032 0s16.971 45.061 0 62.032l-146.302 146.302c-8.778 8.778-19.898 12.875-31.016 12.875z","M190.135 965.536c-23.993 0-43.891-19.898-43.891-43.891v-819.29c0-23.993 19.898-43.891 43.891-43.891s43.891 19.898 43.891 43.891v819.29c0 23.993-19.898 43.891-43.891 43.891z","M980.166 819.234h-468.166c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h468.166c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M746.084 468.109h-234.084c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h234.084c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M629.041 292.547h-117.041c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h117.041c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M863.125 643.672h-351.125c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h351.125c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z"],"attrs":[{},{},{},{},{},{}],"tags":["sort-amount-down-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":179,"id":28,"name":"sort-amount-down-alt","prevSize":80,"code":59809},"setIdx":0,"setId":1,"iconIdx":109},{"icon":{"paths":["M336.438 292.547c-11.119 0-22.237-4.097-31.016-12.875l-115.285-115.285-115.285 115.285c-16.971 16.971-45.061 16.971-62.032 0s-16.971-45.061 0-62.032l146.302-146.302c16.971-16.971 45.061-16.971 62.032 0l146.302 146.302c16.971 16.971 16.971 45.061 0 62.032-8.778 8.778-19.898 12.875-31.016 12.875z","M190.135 965.536c-23.993 0-43.891-19.898-43.891-43.891v-819.29c0-23.993 19.898-43.891 43.891-43.891s43.891 19.898 43.891 43.891v819.29c0 23.993-19.898 43.891-43.891 43.891z","M980.166 819.234h-468.166c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h468.166c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M746.084 468.109h-234.084c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h234.084c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M629.041 292.547h-117.041c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h117.041c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z","M863.125 643.672h-351.125c-23.993 0-43.891-19.898-43.891-43.891s19.898-43.891 43.891-43.891h351.125c23.993 0 43.891 19.898 43.891 43.891s-19.898 43.891-43.891 43.891z"],"attrs":[{},{},{},{},{},{}],"tags":["sort-amount-up-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":178,"id":29,"name":"sort-amount-up-alt","prevSize":80,"code":59810},"setIdx":0,"setId":1,"iconIdx":110},{"icon":{"paths":["M516.624 0.063s-4.624 0-7.266 0c-250.354 0-468.339 184.297-507.973 432.008-5.284 33.028 3.963 67.377 26.423 93.139 21.799 25.762 52.844 40.295 85.874 40.295h3.963c114.938 0 201.471 28.405 256.958 83.892 56.148 56.148 83.892 144.002 83.231 260.922 0 33.028 14.533 64.075 39.634 85.874 21.137 18.496 48.222 28.405 75.304 27.744 5.945 0 11.89 0 17.835-1.321 250.354-40.295 435.971-261.583 432.669-515.239-3.963-275.455-231.196-503.349-507.312-507.312zM575.414 924.852c-3.963 0-9.247-0.661-13.211-3.963-1.982-1.982-5.284-5.284-5.284-9.908 0.661-144.663-36.991-256.299-112.295-331.603-74.643-74.643-184.958-112.956-326.978-112.956h-3.963c-5.284 0-8.588-3.302-10.57-5.284-1.321-1.982-5.284-6.606-3.963-13.211 32.368-199.489 208.077-348.777 410.209-348.777 1.982 0 3.963 0 5.945 0v0c218.647 3.302 406.246 190.242 409.548 409.548 2.643 204.775-147.306 383.786-348.777 416.154zM375.925 315.152c0 36.331-29.725 66.716-66.716 66.716s-66.716-29.725-66.716-66.716 29.725-66.716 66.716-66.716 66.716 29.725 66.716 66.716zM575.414 231.921c0 36.331-29.725 66.716-66.716 66.716s-66.716-29.725-66.716-66.716 29.725-66.716 66.716-66.716 66.716 29.725 66.716 66.716zM642.13 315.152c0-36.331 29.725-66.716 66.716-66.716s66.716 29.725 66.716 66.716-29.725 66.716-66.716 66.716-66.716-29.725-66.716-66.716zM858.134 514.643c0 36.331-29.725 66.716-66.716 66.716s-66.716-29.725-66.716-66.716 29.725-66.716 66.716-66.716 66.716 29.725 66.716 66.716zM774.903 714.132c0 36.331-29.725 66.716-66.716 66.716s-66.716-29.725-66.716-66.716 29.725-66.716 66.716-66.716 66.716 29.725 66.716 66.716z"],"attrs":[{}],"tags":["palette"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":257,"id":30,"name":"palette","prevSize":80,"code":59797},"setIdx":0,"setId":1,"iconIdx":111},{"icon":{"paths":["M512 1023.452c-233.911-0.333-423.443-189.864-423.774-423.743v-0.032c0-24.211 19.627-43.839 43.839-43.839s43.839 19.627 43.839 43.839v0c0 185.621 150.475 336.097 336.097 336.097s336.097-150.475 336.097-336.097c0-185.621-150.475-336.097-336.097-336.097v0h-146.13c-24.211 0-43.839-19.627-43.839-43.839s19.627-43.839 43.839-43.839v0h146.13c234.044 0 423.774 189.73 423.774 423.774s-189.73 423.774-423.774 423.774v0z","M512 438.936c-0.060 0-0.133 0-0.204 0-12.039 0-22.929-4.918-30.771-12.856l-175.359-175.359c-7.921-7.931-12.821-18.884-12.821-30.979s4.899-23.048 12.821-30.98v0l175.355-175.355c8.025-8.595 19.423-13.953 32.074-13.953 24.211 0 43.839 19.627 43.839 43.839 0 12.65-5.358 24.048-13.927 32.049l-0.026 0.023-144.376 144.376 144.376 144.376c7.921 7.931 12.821 18.884 12.821 30.979s-4.899 23.048-12.821 30.98v0c-7.846 7.942-18.736 12.86-30.775 12.86-0.071 0-0.144 0-0.215 0h0.011z"],"attrs":[{},{}],"tags":["undo"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":256,"id":31,"name":"undo","prevSize":80,"code":59796},"setIdx":0,"setId":1,"iconIdx":112},{"icon":{"paths":["M921.582 789.931h-819.163c-56.418-0.33-102.065-45.976-102.396-102.364v-585.149c0.33-56.418 45.976-102.065 102.364-102.396h819.194c56.418 0.33 102.065 45.976 102.396 102.364v585.149c-0.33 56.418-45.976 102.065-102.364 102.396h-0.032zM102.418 87.791c-8.079 0-14.628 6.55-14.628 14.628v0 585.117c0 8.079 6.55 14.628 14.628 14.628v0h819.163c8.079 0 14.628-6.55 14.628-14.628v0-585.117c0-8.079-6.55-14.628-14.628-14.628v0z","M687.535 1023.977h-175.535c-24.105-0.325-43.559-19.779-43.884-43.852v-234.079c0-24.236 19.648-43.884 43.884-43.884s43.884 19.648 43.884 43.884v0 190.163h131.651c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M512 1023.977h-175.535c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h175.535c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z"],"attrs":[{},{},{}],"tags":["desktop"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":175,"id":32,"name":"desktop","prevSize":80,"code":59795},"setIdx":0,"setId":1,"iconIdx":113},{"icon":{"paths":["M809.27 1023.966c-27.214-0.367-49.178-22.331-49.545-49.509v-462.457c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 462.421c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M809.27 429.425c-27.214-0.367-49.178-22.331-49.545-49.509v-330.335c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 330.3c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M908.36 429.425h-198.18c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h198.18c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M214.73 1023.966c-27.214-0.367-49.178-22.331-49.545-49.509v-462.457c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 462.421c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M214.73 429.425c-27.214-0.367-49.178-22.331-49.545-49.509v-330.335c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 330.3c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M313.82 429.425h-198.18c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h198.18c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M512 1023.966c-27.214-0.367-49.178-22.331-49.545-49.509v-198.216c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 198.18c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M512 693.665c-27.214-0.367-49.178-22.331-49.545-49.509v-594.576c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 594.541c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M611.090 693.665h-198.18c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h198.18c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z"],"attrs":[{},{},{},{},{},{},{},{},{}],"tags":["sliders-v"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{},{},{},{}],"properties":{"order":174,"id":33,"name":"sliders-v","prevSize":80,"code":59793},"setIdx":0,"setId":1,"iconIdx":114},{"icon":{"paths":["M974.421 264.275h-462.421c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h462.421c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M379.88 264.275h-330.3c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h330.3c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M379.88 363.365c-27.214-0.367-49.178-22.331-49.545-49.509v-198.216c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 198.18c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M974.421 858.815h-462.421c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h462.421c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M379.88 858.815h-330.3c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h330.3c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M379.88 957.906c-27.214-0.367-49.178-22.331-49.545-49.509v-198.216c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 198.18c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z","M974.421 561.545h-198.18c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h198.18c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M644.12 561.545h-594.541c-27.363 0-49.545-22.182-49.545-49.545s22.182-49.545 49.545-49.545v0h594.541c27.363 0 49.545 22.182 49.545 49.545s-22.182 49.545-49.545 49.545v0z","M644.12 660.635c-27.214-0.367-49.178-22.331-49.545-49.509v-198.216c0-27.363 22.182-49.545 49.545-49.545s49.545 22.182 49.545 49.545v0 198.18c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z"],"attrs":[{},{},{},{},{},{},{},{},{}],"tags":["sliders-h"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{},{},{},{}],"properties":{"order":173,"id":34,"name":"sliders-h","prevSize":80,"code":59794},"setIdx":0,"setId":1,"iconIdx":115},{"icon":{"paths":["M440.071 880.415c-243.195 0-440.344-197.149-440.344-440.344s197.149-440.344 440.344-440.344c243.195 0 440.344 197.149 440.344 440.344v0c0 243.195-197.149 440.344-440.344 440.344v0zM440.071 88.031c-193.781 0-350.872 157.090-350.872 350.872s157.090 350.872 350.872 350.872c193.781 0 350.872-157.090 350.872-350.872v0c0-193.781-157.090-350.872-350.872-350.872v0z","M979.828 1023.687c-0.060 0-0.133 0-0.204 0-12.045 0-22.94-4.92-30.785-12.862l-241.52-241.52c-7.293-7.811-11.771-18.333-11.771-29.899 0-24.222 19.636-43.859 43.859-43.859 11.568 0 22.088 4.478 29.926 11.795l-0.026-0.023 241.516 241.516c7.925 7.934 12.827 18.892 12.827 30.993s-4.901 23.059-12.827 30.995v0c-7.849 7.945-18.744 12.866-30.789 12.866-0.071 0-0.144 0-0.215 0h0.011z","M438.902 628.957c-24.091-0.325-43.534-19.768-43.859-43.827v-292.424c0-24.222 19.636-43.859 43.859-43.859s43.859 19.636 43.859 43.859v0 292.393c-0.325 24.091-19.768 43.534-43.827 43.859h-0.032z","M585.098 482.761h-292.393c-24.222 0-43.859-19.636-43.859-43.859s19.636-43.859 43.859-43.859v0h292.393c24.222 0 43.859 19.636 43.859 43.859s-19.636 43.859-43.859 43.859v0z"],"attrs":[{},{},{},{}],"tags":["search-plus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":172,"id":35,"name":"search-plus","prevSize":80,"code":59791},"setIdx":0,"setId":1,"iconIdx":116},{"icon":{"paths":["M440.071 880.415c-243.195 0-440.344-197.149-440.344-440.344s197.149-440.344 440.344-440.344c243.195 0 440.344 197.149 440.344 440.344v0c-0.332 243.061-197.282 440.011-440.311 440.344h-0.033zM440.071 88.031c-193.781 0-350.872 157.090-350.872 350.872s157.090 350.872 350.872 350.872c193.781 0 350.872-157.090 350.872-350.872v0c0-193.781-157.090-350.872-350.872-350.872v0z","M979.828 1023.687c-0.060 0-0.133 0-0.204 0-12.045 0-22.94-4.92-30.785-12.862l-241.52-241.52c-7.293-7.811-11.771-18.333-11.771-29.899 0-24.222 19.636-43.859 43.859-43.859 11.568 0 22.088 4.478 29.926 11.795l-0.026-0.023 241.516 241.516c7.925 7.934 12.827 18.892 12.827 30.993s-4.901 23.059-12.827 30.995v0c-7.849 7.945-18.744 12.866-30.789 12.866-0.071 0-0.144 0-0.215 0h0.011z","M585.098 482.761h-292.393c-24.222 0-43.859-19.636-43.859-43.859s19.636-43.859 43.859-43.859v0h292.393c24.222 0 43.859 19.636 43.859 43.859s-19.636 43.859-43.859 43.859v0z"],"attrs":[{},{},{}],"tags":["search-minus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":171,"id":36,"name":"search-minus","prevSize":80,"code":59792},"setIdx":0,"setId":1,"iconIdx":117},{"icon":{"paths":["M894.081 336.465l-323.57-323.57c-7.935-7.944-18.897-12.862-31.009-12.873h-261.55c-88.866 0-160.907 72.041-160.907 160.907v0 702.14c0 88.866 72.041 160.907 160.907 160.907v0h468.093c88.866 0 160.907-72.041 160.907-160.907v0-497.35c-0.494-11.473-5.32-21.731-12.872-29.254l-0.001-0.001zM585.139 149.812l172.024 172.024h-172.024zM746.047 936.209h-468.093c-40.394 0-73.139-32.746-73.139-73.139v0-702.14c0-40.394 32.746-73.139 73.139-73.139v0h219.419v277.931c0.325 24.105 19.779 43.559 43.852 43.884h277.962v453.466c0 40.394-32.746 73.139-73.139 73.139v0z","M656.524 506.734c-7.496-5.775-17.020-9.255-27.356-9.255-13.907 0-26.344 6.301-34.608 16.205l-0.059 0.071-82.501 103.566-82.501-105.321c-8.353-9.812-20.716-15.996-34.521-15.996-24.992 0-45.251 20.259-45.251 45.251 0 11.185 4.058 21.422 10.782 29.32l-0.053-0.064 93.034 117.023-93.034 117.023c-5.992 7.47-9.615 17.061-9.615 27.5 0 24.376 19.76 44.136 44.136 44.136 13.937 0 26.366-6.461 34.454-16.55l0.067-0.086 82.501-101.81 82.501 105.321c8.276 9.979 20.653 16.31 34.509 16.384h0.012c1.085 0.096 2.348 0.149 3.622 0.149 24.236 0 43.884-19.648 43.884-43.884 0-12.183-4.964-23.206-12.981-31.157l-0.003-0.003-93.034-117.023 95.374-117.023c5.757-7.489 9.225-16.998 9.225-27.316 0-14.937-7.268-28.175-18.461-36.373l-0.126-0.088z"],"attrs":[{},{}],"tags":["file-excel"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":170,"id":37,"name":"file-excel","prevSize":80,"code":59790},"setIdx":0,"setId":1,"iconIdx":118},{"icon":{"paths":["M894.081 336.465l-323.57-323.57c-7.935-7.944-18.897-12.862-31.009-12.873h-261.55c-88.866 0-160.907 72.041-160.907 160.907v0 702.14c0 88.866 72.041 160.907 160.907 160.907v0h468.093c88.866 0 160.907-72.041 160.907-160.907v0-497.35c-0.494-11.473-5.32-21.731-12.872-29.254l-0.001-0.001zM585.139 149.812l172.024 172.024h-172.024zM746.047 936.209h-468.093c-40.394 0-73.139-32.746-73.139-73.139v0-702.14c0-40.394 32.746-73.139 73.139-73.139v0h219.419v277.931c0.325 24.105 19.779 43.559 43.852 43.884h277.962v453.466c0 40.394-32.746 73.139-73.139 73.139v0z","M599.182 678.758c-35.612-22.599-62.527-56.14-76.26-95.834l-0.389-1.295c8.513-24.598 13.428-52.947 13.428-82.444 0-12.194-0.841-24.192-2.466-35.938l0.154 1.359c-3.892-22.255-23.068-38.954-46.145-38.954-18.984 0-35.328 11.301-42.673 27.543l-0.119 0.295c-1.82 12.259-2.859 26.407-2.859 40.798 0 35.745 6.41 69.992 18.145 101.654l-0.657-2.026c-26.663 62.22-51.535 112.192-78.718 160.691l4.409-8.561c-41.543 23.405-98.3 58.512-107.076 98.885-7.021 32.766 54.416 117.023 159.151-65.534 38.752-15.060 86.483-29.549 135.472-40.728l7.296-1.4c33.675 19.598 73.544 32.44 116.101 35.636l0.922 0.056c0.37 0.010 0.806 0.016 1.244 0.016 26.499 0 47.98-21.481 47.98-47.98 0-12.689-4.926-24.228-12.97-32.809l0.025 0.026c-24.575-25.16-97.714-18.139-133.992-13.457zM319.497 854.293c16.89-28.581 38.169-52.658 63.208-72.128l0.569-0.426c-39.787 63.193-63.778 74.31-63.778 73.139zM490.35 455.829c15.213 0 14.043 67.289 3.511 85.427-4.439-14.87-6.994-31.954-6.994-49.637 0-12.459 1.269-24.62 3.683-36.365l-0.199 1.16zM439.445 741.365c17.504-31.081 34.829-68.095 49.5-106.424l1.99-5.919c15.998 29.397 37.215 53.976 62.634 73.317l0.558 0.407c-44.504 11.253-82.688 24.668-119.265 41.035l4.582-1.832zM714.451 730.833s-10.532 12.873-77.821-16.384c73.139-4.68 85.427 12.287 77.821 16.968z"],"attrs":[{},{}],"tags":["file-pdf"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":169,"id":38,"name":"file-pdf","prevSize":80,"code":59789},"setIdx":0,"setId":1,"iconIdx":119},{"icon":{"paths":["M863.086 1024h-702.171c-88.87 0-160.914-72.044-160.914-160.914v0-702.171c0-88.87 72.044-160.914 160.914-160.914v0h518.437c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886v0h-518.437c-40.395 0-73.142 32.747-73.142 73.142v0 702.171c0 40.395 32.747 73.142 73.142 73.142v0h702.171c40.395 0 73.142-32.747 73.142-73.142v0-451.145c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 451.145c0 88.87-72.044 160.914-160.914 160.914v0z","M424.229 702.172c-11.709-0.922-21.992-6.372-29.216-14.581l-0.041-0.048-175.543-175.543c-2.703-5.532-4.284-12.038-4.284-18.913 0-24.237 19.648-43.886 43.886-43.886 6.875 0 13.381 1.581 19.174 4.4l-0.261-0.114 144.531 144.531 499.127-495.616c5.532-2.703 12.038-4.284 18.913-4.284 24.237 0 43.886 19.648 43.886 43.886 0 6.875-1.581 13.381-4.4 19.174l0.114-0.261-526.629 526.629c-7.264 8.256-17.547 13.707-29.107 14.619l-0.151 0.010z"],"attrs":[{},{}],"tags":["check-square"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":168,"id":39,"name":"check-square","prevSize":80,"code":59788},"setIdx":0,"setId":1,"iconIdx":120},{"icon":{"paths":["M46.545 1024c-25.567-0.345-46.201-20.979-46.545-46.512v-930.943c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 930.909c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z","M977.455 1024h-930.909c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h930.909c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0z","M636.121 682.666c-0.064 0-0.141 0-0.217 0-12.783 0-24.345-5.222-32.671-13.649l-153.295-153.295-153.29 153.29c-8.289 7.74-19.456 12.492-31.731 12.492-25.706 0-46.545-20.839-46.545-46.545 0-12.276 4.752-23.441 12.518-31.759l-0.025 0.028 186.182-186.182c8.42-8.41 20.049-13.613 32.892-13.613s24.471 5.201 32.893 13.613v0l153.29 153.29 215.35-215.35c8.289-7.74 19.456-12.492 31.731-12.492 25.706 0 46.545 20.839 46.545 46.545 0 12.276-4.752 23.441-12.518 31.759l0.025-0.028-248.243 248.243c-8.33 8.432-19.892 13.654-32.675 13.654-0.076 0-0.153 0-0.228 0h0.012z","M915.393 626.192c-25.567-0.345-46.201-20.979-46.545-46.512v-176.285h-170.666c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h217.212c25.567 0.345 46.201 20.979 46.545 46.512v222.831c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z"],"attrs":[{},{},{},{}],"tags":["chart-line"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":167,"id":40,"name":"chart-line","prevSize":80,"code":59787},"setIdx":0,"setId":1,"iconIdx":121},{"icon":{"paths":["M431.778 504.757c-115.379 0-208.912-93.532-208.912-208.912s93.532-208.912 208.912-208.912c115.379 0 208.912 93.532 208.912 208.912v0c-0.316 115.251-93.66 208.596-208.881 208.912h-0.030zM431.778 170.499c-69.227 0-125.347 56.12-125.347 125.347s56.12 125.347 125.347 125.347c69.227 0 125.347-56.12 125.347-125.347v0c0-69.227-56.12-125.347-125.347-125.347v0z","M41.809 894.726c-23.076 0-41.782-18.707-41.782-41.782v0c0-264.622 302.504-264.622 431.751-264.622 40.111 0 75.766 0 108.076 3.9 21.638 1.734 38.542 19.721 38.542 41.657 0 1.025-0.037 2.041-0.11 3.046l0.008-0.134c-2.011 21.692-20.122 38.543-42.169 38.543-1.041 0-2.072-0.038-3.093-0.111l0.137 0.008c-30.083 0-63.509-3.343-101.391-3.343-288.576 0-348.186 72.423-348.186 181.057 0.003 0.167 0.004 0.364 0.004 0.561 0 22.767-18.457 41.225-41.225 41.225-0.197 0-0.394-0.001-0.59-0.004h0.030z","M549.326 937.066c-11.533-0.010-21.972-4.693-29.526-12.255v0c-7.671-7.32-12.439-17.622-12.439-29.037 0-1.349 0.067-2.683 0.197-3.998l-0.013 0.166 8.914-106.963c0.738-10.242 5.062-19.352 11.708-26.194l-0.009 0.010 307.518-307.518c20.408-18.948 47.843-30.576 77.993-30.576s57.585 11.627 78.066 30.642l-0.072-0.067c19.978 20.131 32.325 47.862 32.325 78.475 0 0.614-0.005 1.227-0.014 1.838l0.001-0.093c0.008 0.488 0.013 1.065 0.013 1.643 0 28.208-11.272 53.784-29.557 72.47l-307.499 307.499c-6.609 6.771-15.516 11.272-25.457 12.242l-0.17 0.013-108.076 10.028zM657.402 885.256v0zM598.35 806.705l-3.343 42.34 43.454-3.9 296.932-296.932c3.138-3.741 5.043-8.607 5.043-13.917 0-0.396-0.010-0.789-0.031-1.178l0.003 0.055c-0.022-8.097-2.969-15.5-7.838-21.216l0.038 0.046c-5.22-3.914-11.806-6.267-18.942-6.267s-13.722 2.354-19.024 6.327l0.082-0.059z"],"attrs":[{},{},{}],"tags":["user-edit"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":166,"id":41,"name":"user-edit","prevSize":80,"code":59786},"setIdx":0,"setId":1,"iconIdx":122},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M512 568.889c-23.436-0.316-42.351-19.231-42.667-42.636v-199.141c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 199.111c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z","M512 739.556c-23.436-0.316-42.351-19.231-42.667-42.636v-28.475c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 28.444c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z"],"attrs":[{},{},{}],"tags":["exclamation-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":165,"id":42,"name":"exclamation-circle","prevSize":80,"code":59785},"setIdx":0,"setId":1,"iconIdx":123},{"icon":{"paths":["M897.818 342.011c-33.052 0-59.847 26.794-59.847 59.847v0 271.219c0 33.052 26.794 59.847 59.847 59.847s59.847-26.794 59.847-59.847v0-271.219c0-33.052-26.794-59.847-59.847-59.847v0z","M126.182 342.011c-33.052 0-59.847 26.794-59.847 59.847v0 271.219c0 33.052 26.794 59.847 59.847 59.847s59.847-26.794 59.847-59.847v0-271.219c0-33.052-26.794-59.847-59.847-59.847v0z","M229.321 342.011v407.465c0 37.624 30.5 68.122 68.122 68.122v0h43.293v144.522c0 33.052 26.794 59.847 59.847 59.847s59.847-26.794 59.847-59.847v0 0-144.522h103.139v144.522c0 33.052 26.794 59.847 59.847 59.847s59.847-26.794 59.847-59.847v0-144.522h43.293c37.624 0 68.122-30.5 68.122-68.122v0-407.465z","M787.039 257.334c-19.494-64.041-60.923-116.427-115.35-149.595l-1.159-0.657-9.55-5.73-10.187-5.093 11.46-19.737 33.743-63.667c0.321-0.883 0.507-1.901 0.507-2.963 0-2.96-1.443-5.584-3.665-7.206l-0.025-0.018h-4.457c-3.404 0.157-6.379 1.864-8.255 4.426l-0.021 0.030-34.38 59.21-10.823 19.737-10.187-4.457-10.823-3.82c-30.354-10.882-65.375-17.173-101.867-17.173s-71.511 6.291-104.038 17.846l2.171-0.673-10.187 3.82-10.823 4.457-10.823-19.737-34.38-63.667c-1.592-2.804-4.559-4.665-7.958-4.665-5.038 0-9.122 4.084-9.122 9.122 0 1.637 0.431 3.174 1.186 4.502l-0.024-0.045 33.743 63.667 11.46 19.737-10.187 5.093-9.55 5.73c-55.806 33.938-97.174 86.897-115.417 149.695l-0.455 1.831c-4.717 15.122-7.703 32.57-8.27 50.627l-0.007 0.307h565.357c-0.686-18.4-3.432-35.851-8.017-52.541l0.378 1.609zM384.668 223.592c-14.065 0-25.467-11.402-25.467-25.467s11.402-25.467 25.467-25.467c14.065 0 25.467 11.402 25.467 25.467v0c0 14.065-11.402 25.467-25.467 25.467v0zM639.332 223.592c-14.065 0-25.467-11.402-25.467-25.467s11.402-25.467 25.467-25.467c14.065 0 25.467 11.402 25.467 25.467v0c0 14.065-11.402 25.467-25.467 25.467v0z"],"attrs":[{},{},{},{}],"tags":["android"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":164,"id":43,"name":"android","prevSize":80,"code":59781},"setIdx":0,"setId":1,"iconIdx":124},{"icon":{"paths":["M1008.591 433.288l-5.759-22.397h-476.114v202.221h284.773c-32.683 123.892-143.735 213.758-275.775 213.758-1.138 0-2.275-0.006-3.409-0.019l0.172 0.001c-86.669-0.738-165.327-34.432-224.185-89.141l0.207 0.19c-58.421-57.606-94.785-137.451-95.35-225.791v-0.106c1.039-88.017 36.49-167.558 93.495-225.963l-0.064 0.066c57.221-54.292 134.738-87.683 220.053-87.683 0.93 0 1.86 0.004 2.788 0.012l-0.142-0.001c73.95 0.586 141.235 28.652 192.25 74.471l-0.268-0.238 140.787-144.626c-88.734-79.432-206.552-127.99-335.711-127.99-0.54 0-1.080 0.001-1.62 0.003h0.084c-0.919-0.006-2.007-0.009-3.094-0.009-142.761 0-272.106 57.428-366.198 150.443l0.049-0.049c-90.236 93.627-145.825 221.183-145.825 361.724 0 137.597 53.284 262.749 140.344 355.947l-0.279-0.301c96.859 96.51 230.481 156.177 378.041 156.177 2.082 0 4.162-0.012 6.238-0.036l-0.316 0.003c1.053 0.009 2.296 0.013 3.543 0.013 134.433 0 255.872-55.642 342.541-145.151l0.123-0.127c82.61-90.584 133.206-211.608 133.206-344.45 0-3.543-0.036-7.076-0.108-10.602l0.009 0.526c0.105-4.284 0.163-9.328 0.163-14.387 0-26.957-1.687-53.521-4.962-79.591l0.318 3.106z"],"attrs":[{}],"tags":["google"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":163,"id":44,"name":"google","prevSize":80,"code":59782},"setIdx":0,"setId":1,"iconIdx":125},{"icon":{"paths":["M800.988 541.411c-0.025-1.227-0.040-2.673-0.040-4.124 0-81.14 45.665-151.616 112.697-187.127l1.149-0.554c-43.688-60.224-112.883-99.642-191.399-102.285l-0.408-0.010c-81.199-6.394-169.43 47.312-202.037 47.312s-113.166-44.755-174.544-44.755c-127.87 0-262.775 101.657-262.775 304.332 0.671 66.632 12.562 130.276 33.869 189.424l-1.262-4.011c28.131 81.837 133.625 287.070 243.594 283.874 57.542 0 98.461-40.919 173.266-40.919s109.97 40.919 174.544 40.919c110.608 0 206.511-188.61 234.004-272.365-83.223-34.69-140.659-115.384-140.659-209.49 0-0.076 0-0.154 0-0.231v0.012zM673.117 166.109c33.682-37.846 54.259-88 54.259-142.959 0-7.972-0.433-15.844-1.277-23.592l0.085 0.959c-61.9 6.974-115.875 36.341-154.514 79.679l-0.211 0.24c-37.077 39.007-59.884 91.883-59.884 150.086 0 4.782 0.154 9.526 0.457 14.231l-0.033-0.641c1.605 0.048 3.493 0.075 5.387 0.075 63.128 0 119.134-30.497 154.087-77.563l0.366-0.514z"],"attrs":[{}],"tags":["apple"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":162,"id":45,"name":"apple","prevSize":80,"code":59783},"setIdx":0,"setId":1,"iconIdx":126},{"icon":{"paths":["M0.001 0.001h480v480h-480zM543.999 0.001h480v480h-480zM0.001 543.999h480v480h-480zM543.999 543.999h480v480h-480z"],"attrs":[{}],"tags":["microsoft"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":161,"id":46,"name":"microsoft","prevSize":80,"code":59784},"setIdx":0,"setId":1,"iconIdx":127},{"icon":{"paths":["M512 966.541c-12.142-0.011-23.132-4.94-31.084-12.902v0l-397.063-398.237c-51.836-52.853-83.828-125.328-83.828-205.276s31.993-152.425 83.874-205.324l-0.045 0.047c52.537-52.531 125.112-85.022 205.276-85.022s152.739 32.491 205.277 85.023v0l17.595 15.249 16.423-16.423c52.328-52.883 124.914-85.631 205.15-85.631 0.25 0 0.502 0 0.752 0.001h-0.038c0.384-0.001 0.839-0.003 1.294-0.003 79.947 0 152.3 32.511 204.559 85.034l0.012 0.012c51.836 52.853 83.828 125.328 83.828 205.276s-31.993 152.425-83.874 205.324l0.045-0.047-397.063 398.237c-7.714 8.616-18.706 14.16-30.998 14.66l-0.087 0.003zM289.714 145.434c-0.436-0.003-0.953-0.005-1.468-0.005-55.496 0-105.759 22.406-142.235 58.666l0.010-0.010c-36.735 36.902-59.445 87.793-59.445 143.987s22.71 107.086 59.452 143.994l-0.007-0.007 365.979 368.325 365.392-367.151c36.877-36.837 59.687-87.747 59.687-143.987s-22.81-107.15-59.686-143.985l-0.001-0.001c-36.111-36.238-86.066-58.659-141.257-58.659-0.65 0-1.3 0.003-1.949 0.010l0.099-0.001c-0.436-0.003-0.953-0.005-1.468-0.005-55.496 0-105.759 22.406-142.235 58.666l-47.497 47.497c-8.080 7.677-19.030 12.4-31.084 12.4s-23.006-4.723-31.104-12.418l0.019 0.018-47.507-47.507c-36.581-36.947-87.314-59.823-143.391-59.823-0.107 0-0.213 0-0.32 0h0.016z"],"attrs":[{}],"tags":["heart"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":160,"id":47,"name":"heart","prevSize":80,"code":59780},"setIdx":0,"setId":1,"iconIdx":128},{"icon":{"paths":["M746.047 0.023h-468.093c-56.418 0.33-102.065 45.976-102.396 102.364v819.195c0.33 56.418 45.976 102.065 102.364 102.396h468.125c56.418-0.33 102.065-45.976 102.396-102.364v-819.195c-0.33-56.418-45.976-102.065-102.364-102.396h-0.032zM760.674 921.582c0 8.079-6.55 14.628-14.628 14.628v0h-468.093c-8.079 0-14.628-6.55-14.628-14.628v0-819.163c0-8.079 6.55-14.628 14.628-14.628v0h468.093c8.079 0 14.628 6.55 14.628 14.628v0z","M512 658.28c-48.472 0-87.768 39.295-87.768 87.768s39.295 87.768 87.768 87.768c48.472 0 87.768-39.295 87.768-87.768v0c0-48.472-39.295-87.768-87.768-87.768v0zM512 746.047v0z"],"attrs":[{},{}],"tags":["mobile"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":159,"id":48,"name":"mobile","prevSize":80,"code":59778},"setIdx":0,"setId":1,"iconIdx":129},{"icon":{"paths":["M863.070 0.023h-702.14c-56.418 0.33-102.065 45.976-102.396 102.364v819.195c0.33 56.418 45.976 102.065 102.364 102.396h702.172c56.418-0.33 102.065-45.976 102.396-102.364v-819.195c-0.33-56.418-45.976-102.065-102.364-102.396h-0.032zM877.699 921.582c0 8.079-6.55 14.628-14.628 14.628v0h-702.14c-8.079 0-14.628-6.55-14.628-14.628v0-819.163c0-8.079 6.55-14.628 14.628-14.628v0h702.14c8.079 0 14.628 6.55 14.628 14.628v0z","M512 658.28c-48.472 0-87.768 39.295-87.768 87.768s39.295 87.768 87.768 87.768c48.472 0 87.768-39.295 87.768-87.768v0c0-48.472-39.295-87.768-87.768-87.768v0zM512 746.047v0z"],"attrs":[{},{}],"tags":["tablet"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":220,"id":49,"name":"tablet","prevSize":80,"code":59779},"setIdx":0,"setId":1,"iconIdx":130},{"icon":{"paths":["M687.134 672.539c-0.215 0-0.469 0.001-0.724 0.001-92.498 0-176.242-37.479-236.875-98.078l0.001 0.001c-61.305-61.014-99.243-145.459-99.243-238.766 0-186.032 150.809-336.841 336.841-336.841s336.841 150.809 336.841 336.841c0 186.032-150.808 336.84-336.84 336.841v0zM687.134 88.761c-136.764 0.345-247.499 111.293-247.499 248.106 0 68.362 27.648 130.267 72.373 175.141l-0.007-0.007c44.929 45.079 107.076 72.972 175.74 72.972 137.026 0 248.106-111.081 248.106-248.106s-111.081-248.106-248.106-248.106c-0.213 0-0.427 0-0.639 0.001h0.033z","M74.166 993.618c-11.682-0.919-21.941-6.357-29.147-14.547l-0.041-0.048c-6.919-7.71-11.15-17.955-11.15-29.188s4.231-21.479 11.185-29.23l-0.036 0.041 377.122-377.705c7.941-7.869 18.873-12.731 30.94-12.731 24.281 0 43.963 19.683 43.963 43.963 0 12.213-4.98 23.263-13.020 31.229l-0.003 0.003-380.624 373.619c-7.248 8.237-17.507 13.675-29.039 14.585l-0.151 0.010z","M278.488 1022.806c-0.060 0-0.133 0-0.204 0-12.024 0-22.9-4.912-30.732-12.839l-116.759-116.759c-7.28-7.798-11.75-18.301-11.75-29.848 0-24.181 19.603-43.783 43.783-43.783 11.548 0 22.050 4.47 29.874 11.775l-0.026-0.023 116.755 116.755c7.911 7.921 12.805 18.86 12.805 30.94s-4.893 23.019-12.805 30.941v0c-7.836 7.932-18.712 12.844-30.736 12.844-0.071 0-0.144 0-0.215 0h0.011z","M395.245 906.051c-0.060 0-0.133 0-0.204 0-12.024 0-22.9-4.912-30.732-12.839l-116.759-116.759c-8.584-8.015-13.935-19.399-13.935-32.033 0-24.181 19.603-43.783 43.783-43.783 12.634 0 24.018 5.351 32.008 13.909l0.023 0.026 116.755 116.755c7.911 7.921 12.805 18.86 12.805 30.94s-4.893 23.019-12.805 30.941v0c-7.836 7.932-18.712 12.844-30.736 12.844-0.071 0-0.144 0-0.215 0h0.011z"],"attrs":[{},{},{},{}],"tags":["key"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":219,"id":50,"name":"key","prevSize":80,"code":59777},"setIdx":0,"setId":1,"iconIdx":131},{"icon":{"paths":["M468.112 906.989c0 48.569-39.207 87.775-87.775 87.775s-87.775-39.207-87.775-87.775 39.207-87.775 87.775-87.775 87.775 39.207 87.775 87.775zM760.696 819.214c-48.569 0-87.775 39.207-87.775 87.775s39.207 87.775 87.775 87.775 87.775-39.207 87.775-87.775-39.207-87.775-87.775-87.775zM1022.852 259.207l-117.033 468.135c-4.681 19.311-22.236 33.355-42.718 33.355h-585.169c-21.066 0-39.207-15.214-43.302-36.28l-110.597-607.405h-80.168c-23.991 0-43.888-19.896-43.888-43.888s19.896-43.888 43.888-43.888h117.033c21.066 0 39.207 15.214 43.302 36.28l25.163 139.271h750.771c13.458 0 26.333 6.436 34.525 16.969s11.119 24.577 8.192 37.451zM923.958 292.562h-678.795l69.050 380.359h514.363l95.383-380.359z"],"attrs":[{}],"tags":["shopping-cart"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":156,"id":51,"name":"shopping-cart","prevSize":80,"code":59776},"setIdx":0,"setId":1,"iconIdx":132},{"icon":{"paths":["M46.723 830.79c-0.231 0.004-0.504 0.007-0.777 0.007-24.867 0-45.027-20.159-45.027-45.027 0-5.382 0.944-10.545 2.676-15.329l-0.098 0.314 75.044-247.348c-14.665-39.037-23.418-84.145-24.012-131.219l-0.003-0.259c0-0.259-0.001-0.566-0.001-0.874 0-54.129 11.264-105.629 31.575-152.281l-0.955 2.464c60.427-141.25 198.214-238.423 358.696-238.423 106.632 0 203.244 42.901 273.517 112.384l-0.037-0.035c34.184 34.714 62.103 75.715 81.849 121.093l1 2.581c19.107 44.313 30.22 95.904 30.22 150.090s-11.112 105.775-31.182 152.616l0.962-2.526c-20.746 47.959-48.666 88.96-82.9 123.725l0.051-0.051c-70.377 70.256-167.536 113.703-274.844 113.703-48.549 0-95.021-8.893-137.875-25.139l2.675 0.889-247.348 76.845c-3.958 1.137-8.504 1.794-13.204 1.801h-0.004zM442.359 91.749c-0.253-0.001-0.554-0.001-0.856-0.001-41.547 0-81.081 8.613-116.916 24.15l1.904-0.734c-71.28 30.615-127.108 85.859-157.736 154.781l-0.758 1.912c-14.788 34.299-23.39 74.229-23.39 116.169s8.602 81.87 24.134 118.125l-0.744-1.956c1.7 4.555 2.682 9.817 2.682 15.309s-0.984 10.754-2.783 15.621l0.101-0.312-55.232 180.107 180.107-55.232c4.555-1.7 9.817-2.682 15.309-2.682s10.754 0.984 15.621 2.783l-0.312-0.101c34.014 14.517 73.588 22.957 115.132 22.957 122.867 0 228.493-73.819 274.946-179.525l0.754-1.926c13.056-32.416 20.631-70.004 20.631-109.36 0-163.117-130.105-295.846-292.2-300.074l-0.391-0.008z","M977.277 1022.304c-1.984 0.28-4.275 0.439-6.603 0.439s-4.621-0.16-6.864-0.469l0.26 0.030-247.348-75.044c-40.428 15.733-87.225 24.849-136.153 24.849-158.064 0-293.904-95.147-353.373-231.291l-0.967-2.482c-2.862-5.665-4.539-12.349-4.539-19.423 0-18.267 11.175-33.923 27.063-40.506l0.291-0.107c5.517-2.599 11.984-4.116 18.806-4.116 18.319 0 34.084 10.94 41.115 26.643l0.114 0.286c15.121 35.516 35.349 65.946 60.152 91.977l-0.117-0.122c54.202 53.624 128.774 86.753 211.084 86.753 41.688 0 81.392-8.499 117.473-23.857l-1.963 0.743c4.555-1.7 9.817-2.682 15.309-2.682s10.754 0.984 15.621 2.783l-0.312-0.101 180.107 55.232-55.232-180.107c-1.7-4.555-2.682-9.817-2.682-15.309s0.984-10.754 2.783-15.621l-0.101 0.312c14.803-33.932 23.415-73.467 23.415-115.014 0-0.301 0-0.602-0.001-0.902v0.046c0.001-0.319 0.001-0.697 0.001-1.075 0-81.912-33.275-156.053-87.045-209.642l-0.008-0.008c-12.456-15.658-25.63-29.595-39.895-42.336l-0.328-0.288c-13.187-8.012-21.861-22.298-21.861-38.61 0-24.867 20.159-45.027 45.027-45.027 10.297 0 19.786 3.456 27.372 9.273l-0.107-0.079c22.529 14.653 42.156 30.276 60.175 47.561l-0.139-0.132c34.393 34.592 62.347 75.63 81.881 121.138l0.968 2.536c19.357 44.266 30.62 95.849 30.62 150.064 0 0.431-0.001 0.863-0.003 1.293v-0.066c-0.136 48.508-8.929 94.919-24.912 137.831l0.898-2.751 75.044 247.348c1.634 4.472 2.578 9.633 2.578 15.015 0 24.867-20.159 45.027-45.027 45.027-0.273 0-0.546-0.003-0.818-0.007h0.041z"],"attrs":[{},{}],"tags":["comments"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":155,"id":52,"name":"comments","prevSize":80,"code":59774},"setIdx":0,"setId":1,"iconIdx":133},{"icon":{"paths":["M89.22 977.058c-0.217 0.004-0.473 0.007-0.729 0.007-23.349 0-42.278-18.929-42.278-42.278 0-5.053 0.887-9.901 2.513-14.393l-0.093 0.294 90.193-295.946c-18.558-46.704-29.318-100.819-29.318-157.447 0-0.732 0.001-1.463 0.006-2.195v0.113c0-0.201 0-0.439 0-0.677 0-62.834 12.85-122.668 36.068-177.015l-1.118 2.942c23.991-55.124 56.28-102.224 95.856-142.080l-0.026 0.026c39.776-39.941 87.133-72.3 139.735-94.736l2.882-1.092c51.475-22.443 111.446-35.5 174.466-35.5s122.993 13.057 177.355 36.615l-2.889-1.115c161.557 70.486 272.594 228.494 273.398 412.529v0.103c-0.378 123.676-50.484 235.576-131.361 316.819l0.016-0.016c-39.83 39.549-86.93 71.841-139.11 94.681l-2.944 1.149c-51.439 22.133-111.317 35.003-174.201 35.003-57.536 0-112.557-10.776-163.152-30.417l3.076 1.050-295.946 90.193c-3.604 1.586-7.788 2.774-12.162 3.355l-0.239 0.026zM557.097 103.314c-149.484 0.668-277.735 90.884-333.925 219.741l-0.917 2.358c-17.678 41.648-27.953 90.087-27.953 140.927s10.274 99.278 28.861 143.354l-0.909-2.427c1.596 4.277 2.518 9.218 2.518 14.374s-0.923 10.098-2.613 14.668l0.095-0.293-69.336 235.065 233.938-71.027c4.277-1.596 9.218-2.518 14.374-2.518s10.098 0.923 14.668 2.613l-0.293-0.095c41.635 17.765 90.074 28.091 140.927 28.091s99.291-10.328 143.335-28.999l-2.408 0.907c131.638-56.462 222.168-184.951 222.168-334.586 0-51.2-10.598-99.924-29.723-144.098l0.907 2.35c-56.972-130.557-184.848-220.199-333.686-220.41h-0.028z"],"attrs":[{}],"tags":["comment"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":154,"id":53,"name":"comment","prevSize":80,"code":59775},"setIdx":0,"setId":1,"iconIdx":134},{"icon":{"paths":["M921.588 175.553h-219.422v-73.14c-4.292-57.542-52.035-102.602-110.299-102.602-2.366 0-4.715 0.074-7.043 0.221l0.318-0.016h-146.282c-2.010-0.13-4.36-0.204-6.725-0.204-58.266 0-106.007 45.060-110.277 102.234l-0.022 0.368v73.14h-219.422c-56.419 0.331-102.067 45.977-102.397 102.366v585.157c0.331 56.419 45.977 102.067 102.366 102.397h819.207c56.419-0.331 102.067-45.977 102.397-102.366v-585.157c-0.331-56.419-45.977-102.067-102.366-102.397h-0.032zM409.603 102.412c0-4.681 11.118-14.629 29.256-14.629h146.282c18.139 0 29.256 9.947 29.256 14.629v73.14h-204.793zM102.412 263.322h819.175c8.079 0 14.629 6.55 14.629 14.629v0 190.166h-848.432v-190.166c0-8.079 6.55-14.629 14.629-14.629v0zM321.834 555.884h380.331v87.769h-380.331zM921.588 877.704h-819.175c-8.079 0-14.629-6.55-14.629-14.629v0-307.191h146.282v131.653c0.325 24.105 19.78 43.559 43.853 43.884h468.131c24.105-0.325 43.559-19.78 43.884-43.853v-131.685h146.282v307.191c0 8.079-6.55 14.629-14.629 14.629v0z"],"attrs":[{}],"tags":["briefcase"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":153,"id":54,"name":"briefcase","prevSize":80,"code":59773},"setIdx":0,"setId":1,"iconIdx":135},{"icon":{"paths":["M983.875 747.107c-4.979 0-116.724-19.915-116.724-345.747 0-230.128-133.873-373.406-355.151-373.406s-355.151 143.278-355.151 373.406c0 331.917-115.617 345.747-115.065 345.747-22.914 0-41.49 18.576-41.49 41.49s18.576 41.49 41.49 41.49v0h267.193c19.311 95.868 102.854 167.053 203.023 167.053s183.711-71.186 202.798-165.727l0.223-1.325h267.746c22.914 0 41.49-18.576 41.49-41.49s-18.576-41.49-41.49-41.49v0zM512 913.065c-53.673-0.105-99.33-34.318-116.453-82.114l-0.271-0.865h233.448c-17.395 48.661-63.050 82.874-116.711 82.979h-0.013zM166.807 747.107c39.83-60.299 73.022-165.958 73.022-345.747s99.575-290.427 272.172-290.427 272.172 105.66 272.172 290.427 33.192 285.448 73.022 345.747z"],"attrs":[{}],"tags":["bell"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":218,"id":55,"name":"bell","prevSize":80,"code":59772},"setIdx":0,"setId":1,"iconIdx":136},{"icon":{"paths":["M333.040 1023.149c-0.395 0.001-0.861 0.003-1.328 0.003-89.93 0-171.755-34.697-232.82-91.434l0.214 0.196c-60.481-56.047-98.213-135.906-98.213-224.578s37.732-168.531 98.016-224.397l0.197-0.181 442.138-417.574c43.713-40.007 102.187-64.52 166.387-64.52s122.673 24.512 166.573 64.688l-0.186-0.169c46.303 43.075 75.506 103.992 76.611 171.742l0.003 0.2c0.003 0.343 0.003 0.748 0.003 1.154 0 58.355-24.702 110.942-64.219 147.873l-0.117 0.107-442.723 418.16c-25.698 23.896-60.263 38.561-98.253 38.561s-72.555-14.665-98.342-38.643l0.089 0.082c-25.889-23.908-42.047-58.024-42.047-95.913s16.158-72.005 41.958-95.834l0.088-0.081 409.387-385.408c7.935-7.925 18.894-12.829 30.996-12.829s23.061 4.902 30.997 12.829v0c7.925 7.935 12.829 18.894 12.829 30.996s-4.902 23.061-12.829 30.997v0l-409.387 385.408c-8.981 7.868-14.621 19.359-14.621 32.167s5.64 24.299 14.572 32.124l0.049 0.042c10.156 8.727 23.465 14.040 38.014 14.040s27.858-5.313 38.092-14.105l-0.078 0.066 442.723-416.989c21.667-21.246 35.097-50.823 35.097-83.538 0-0.444-0.003-0.888-0.007-1.331v0.067c-1.049-42.681-19.73-80.802-49.009-107.504l-0.118-0.107c-27.771-25.797-65.112-41.627-106.148-41.627s-78.377 15.83-106.245 41.716l0.097-0.090-440.383 416.989c-43.561 40.015-70.766 97.247-70.766 160.83s27.203 120.815 70.608 160.688l0.158 0.143c45.833 42.805 107.572 69.087 175.451 69.087s129.619-26.282 175.601-69.225l-0.149 0.137 438.043-414.651c7.869-8.069 18.849-13.075 30.996-13.075s23.127 5.006 30.988 13.066l0.008 0.010c7.925 7.935 12.829 18.894 12.829 30.996s-4.902 23.061-12.829 30.997v0l-441.552 416.405c-60.773 56.558-142.541 91.272-232.414 91.272-1.768 0-3.534-0.014-5.296-0.040l0.267 0.003z"],"attrs":[{}],"tags":["paperclip"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":151,"id":56,"name":"paperclip","prevSize":80,"code":59771},"setIdx":0,"setId":1,"iconIdx":137},{"icon":{"paths":["M833.7 643.604c-62.907 0.233-118.56 31.082-152.865 78.411l-0.38 0.551-309.417-152.076c5.76-17.446 9.17-37.537 9.358-58.398v-0.093c-0.189-20.954-3.597-41.044-9.755-59.892l0.396 1.402 309.417-152.076c34.79 46.82 89.928 76.825 152.074 76.825 104.34 0 188.925-84.585 188.925-188.925s-84.585-188.925-188.925-188.925c-104.34 0-188.925 84.585-188.925 188.925 0 0.34 0.001 0.68 0.003 1.020v-0.052c0.152 10.439 1.209 20.53 3.098 30.325l-0.173-1.080-319.945 160.849c-34.095-36.053-82.261-58.491-135.669-58.491-0.217 0-0.432 0-0.647 0.001h0.033c-104.986 0-190.096 85.108-190.096 190.096s85.108 190.096 190.096 190.096v0c0.182 0 0.399 0.001 0.614 0.001 53.408 0 101.575-22.439 135.587-58.404l0.082-0.088 319.945 160.849c-1.751 8.911-2.81 19.209-2.924 29.734l-0.001 0.096c0 104.986 85.108 190.096 190.096 190.096s190.096-85.108 190.096-190.096c0-104.986-85.108-190.096-190.096-190.096v0zM833.7 87.942c56.531 0 102.359 45.827 102.359 102.359s-45.827 102.359-102.359 102.359c-56.531 0-102.359-45.827-102.359-102.359v0c0.33-56.398 45.96-102.029 102.328-102.359h0.032zM190.3 614.359c-56.531 0-102.359-45.827-102.359-102.359s45.827-102.359 102.359-102.359c56.531 0 102.359 45.827 102.359 102.359v0c-0.33 56.398-45.96 102.029-102.328 102.359h-0.032zM833.7 936.058c-56.531 0-102.359-45.827-102.359-102.359s45.827-102.359 102.359-102.359c56.531 0 102.359 45.827 102.359 102.359v0c-0.33 56.398-45.96 102.029-102.328 102.359h-0.032z"],"attrs":[{}],"tags":["share-alt"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":150,"id":57,"name":"share-alt","prevSize":80,"code":59770},"setIdx":0,"setId":1,"iconIdx":138},{"icon":{"paths":["M921.588 58.527h-819.175c-56.419 0.331-102.067 45.977-102.397 102.366v702.182c0.331 56.419 45.977 102.067 102.366 102.397h819.207c56.419-0.331 102.067-45.977 102.397-102.366v-702.182c-0.331-56.419-45.977-102.067-102.366-102.397h-0.032zM102.412 146.296h819.175c8.079 0 14.629 6.55 14.629 14.629v0 90.11l-424.215 211.815-424.215-211.815v-90.11c0-8.079 6.55-14.629 14.629-14.629v0zM921.588 877.704h-819.175c-8.079 0-14.629-6.55-14.629-14.629v0-514.325l404.322 202.454c5.795 2.962 12.643 4.698 19.895 4.698s14.098-1.736 20.147-4.815l-0.252 0.117 404.322-202.454v514.325c0 8.079-6.55 14.629-14.629 14.629v0z"],"attrs":[{}],"tags":["envelope"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":217,"id":58,"name":"envelope","prevSize":80,"code":59769},"setIdx":0,"setId":1,"iconIdx":139},{"icon":{"paths":["M710.11 1023.786c-11.715-0.201-22.473-4.137-31.176-10.665l0.138 0.099-316.316-253.581h-313.014c-27.205-0.367-49.161-22.323-49.528-49.492v-396.256c0.367-27.205 22.323-49.161 49.492-49.528h313.050l316.316-253.581c8.413-6.81 19.245-10.933 31.038-10.933 27.353 0 49.528 22.174 49.528 49.528 0 0.128 0 0.257-0.002 0.387v-0.020 924.514c-0.124 19.673-11.546 36.649-28.101 44.774l-0.296 0.132c-5.939 2.921-12.928 4.629-20.316 4.629-0.288 0-0.574-0.003-0.859-0.008h0.043zM99.27 660.583h280.656c11.732 0.051 22.527 4.016 31.159 10.656l-0.121-0.090 249.619 198.11v-716.499l-249.619 198.11c-8.511 6.55-19.306 10.515-31.026 10.566h-280.668z","M915.484 735.204c-11.19-0.147-21.49-3.841-29.859-10.006l0.142 0.101c-12.083-9.132-19.811-23.475-19.811-39.622 0-11.206 3.721-21.543 9.995-29.84l-0.090 0.124c30.292-39.484 48.545-89.591 48.545-143.96s-18.251-104.477-48.961-144.528l0.418 0.566c-6.185-8.174-9.906-18.511-9.906-29.717 0-27.353 22.174-49.528 49.528-49.528 16.148 0 30.49 7.728 39.532 19.687l0.090 0.124c42.965 55.728 68.862 126.535 68.862 203.393s-25.897 147.666-69.442 204.176l0.58-0.783c-9.257 11.932-23.523 19.596-39.586 19.811h-0.036z"],"attrs":[{},{}],"tags":["volume-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":148,"id":59,"name":"volume-down","prevSize":80,"code":59766},"setIdx":0,"setId":1,"iconIdx":140},{"icon":{"paths":["M565.883 929.593c-9.559-0.164-18.337-3.376-25.438-8.703l0.112 0.081-258.099-206.91h-255.405c-22.198-0.299-40.113-18.215-40.412-40.383v-323.327c0.299-22.198 18.215-40.113 40.383-40.412h255.434l258.099-206.91c6.865-5.557 15.703-8.921 25.326-8.921 22.319 0 40.412 18.093 40.412 40.412 0 0.105 0 0.21-0.001 0.316v-0.016 754.361c-0.101 16.052-9.421 29.904-22.929 36.534l-0.241 0.107c-4.846 2.383-10.549 3.777-16.577 3.777-0.235 0-0.469-0.003-0.701-0.006h0.035zM67.466 633.237h229.002c9.573 0.042 18.381 3.277 25.424 8.695l-0.099-0.073 203.677 161.649v-584.629l-203.677 161.649c-6.785 5.918-15.568 9.703-25.217 10.233l-0.107 0.005h-229.002z","M860.084 839.070c-10.094-0.015-19.331-3.681-26.461-9.747l0.058 0.048c-8.624-7.36-14.057-18.239-14.057-30.387 0-10.3 3.905-19.687 10.315-26.762l-0.030 0.034c61.742-68.722 99.501-160.079 99.501-260.255s-37.758-191.532-99.818-260.614l0.318 0.36c-6.378-7.12-10.277-16.575-10.277-26.941 0-22.34 18.111-40.451 40.451-40.451 11.975 0 22.734 5.203 30.141 13.472l0.034 0.038c74.659 82.7 120.339 192.814 120.339 313.599s-45.68 230.898-120.705 314.010l0.366-0.412c-7.167 8.586-17.874 14.010-29.847 14.010-0.115 0-0.23 0-0.345-0.001h0.018z","M733.459 694.124c-9.131-0.12-17.535-3.134-24.364-8.165l0.116 0.082c-9.859-7.451-16.165-19.154-16.165-32.33 0-9.143 3.036-17.578 8.156-24.348l-0.073 0.101c24.717-32.217 39.61-73.102 39.61-117.464s-14.892-85.248-39.95-117.928l0.341 0.462c-5.046-6.669-8.082-15.104-8.082-24.247 0-22.319 18.093-40.412 40.412-40.412 13.176 0 24.879 6.306 32.257 16.064l0.073 0.101c35.058 45.471 56.188 103.247 56.188 165.959s-21.131 120.489-56.662 166.598l0.474-0.639c-7.553 9.736-19.193 15.989-32.301 16.165h-0.029z"],"attrs":[{},{},{}],"tags":["volume-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":147,"id":60,"name":"volume-up","prevSize":80,"code":59767},"setIdx":0,"setId":1,"iconIdx":141},{"icon":{"paths":["M842.183 1023.786c-11.715-0.201-22.473-4.137-31.176-10.665l0.138 0.099-316.316-253.581h-313.014c-27.205-0.367-49.161-22.323-49.528-49.492v-396.256c0.367-27.205 22.323-49.161 49.492-49.528h313.050l316.316-253.581c8.413-6.81 19.245-10.933 31.038-10.933 27.353 0 49.528 22.174 49.528 49.528 0 0.128 0 0.257-0.002 0.387v-0.020 924.514c-0.153 19.495-11.255 36.364-27.452 44.771l-0.283 0.133c-6.264 2.921-13.598 4.625-21.331 4.625-0.163 0-0.323 0-0.486-0.002h0.025zM231.344 660.583h280.656c11.732 0.051 22.527 4.016 31.159 10.656l-0.121-0.090 249.619 198.11v-716.499l-249.619 198.11c-8.511 6.55-19.306 10.515-31.026 10.566h-280.668z"],"attrs":[{}],"tags":["volume-off"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":146,"id":61,"name":"volume-off","prevSize":80,"code":59768},"setIdx":0,"setId":1,"iconIdx":142},{"icon":{"paths":["M974.421 561.545h-924.841c-27.344-0.025-49.502-22.198-49.502-49.545 0-13.671 5.537-26.048 14.49-35.013v0l462.421-462.421c8.963-8.952 21.342-14.49 35.011-14.49s26.048 5.537 35.013 14.49v0l462.421 462.421c8.952 8.963 14.49 21.342 14.49 35.011 0 27.347-22.157 49.52-49.499 49.545h-0.003zM169.148 462.455h685.704l-342.852-342.852z","M908.36 1023.966h-792.721c-63.696-0.373-115.233-51.908-115.606-115.57v-132.155c0.373-63.696 51.908-115.233 115.57-115.606h792.757c63.696 0.373 115.233 51.908 115.606 115.57v132.155c-0.373 63.696-51.908 115.233-115.57 115.606h-0.036zM115.64 759.725c-9.121 0-16.516 7.395-16.516 16.516v0 132.12c0 9.121 7.395 16.516 16.516 16.516v0h792.721c9.121 0 16.516-7.395 16.516-16.516v0-132.12c0-9.121-7.395-16.516-16.516-16.516v0z"],"attrs":[{},{}],"tags":["eject"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":145,"id":62,"name":"eject","prevSize":80,"code":59765},"setIdx":0,"setId":1,"iconIdx":143},{"icon":{"paths":["M921.588 117.040h-819.175c-56.419 0.331-102.067 45.977-102.397 102.366v585.157c0.331 56.419 45.977 102.067 102.366 102.397h819.207c56.419-0.331 102.067-45.977 102.397-102.366v-585.157c-0.331-56.419-45.977-102.067-102.366-102.397h-0.032zM936.215 219.438v97.715h-12.288c-3.162 0.418-6.82 0.657-10.532 0.657s-7.37-0.239-10.956-0.701l0.424 0.045h-7.607c-7.377-1.502-13.839-3.52-20.003-6.11l0.694 0.259h-7.022c-8.645-4.243-16.008-9.735-22.196-16.341l-0.038-0.041c-16.923-16.712-27.426-39.89-27.5-65.521v-0.014c0.016-8.559 1.299-16.812 3.668-24.592l-0.158 0.601h98.887c0.004 0 0.008 0 0.012 0 7.873 0 14.294 6.219 14.615 14.014l0.001 0.029zM102.412 204.809h98.887c2.212 7.178 3.494 15.431 3.511 23.981v0.010c-0.074 25.645-10.578 48.823-27.491 65.525l-0.010 0.010c-6.348 6.456-13.68 11.92-21.756 16.155l-0.479 0.229h-7.607c-5.25 2.652-11.34 4.689-17.749 5.795l-0.389 0.056h-8.191c-3.162 0.418-6.82 0.657-10.532 0.657s-7.37-0.239-10.956-0.701l0.424 0.045h-12.288v-97.131c0-8.079 6.55-14.629 14.629-14.629v0zM87.785 804.562v-97.715h12.288c3.162-0.418 6.82-0.657 10.532-0.657s7.37 0.239 10.956 0.701l-0.424-0.045h7.607c7.229 1.166 13.718 3.206 19.76 6.041l-0.451-0.191h7.022c8.556 4.464 15.886 9.927 22.223 16.372l0.012 0.012c16.923 16.712 27.426 39.89 27.5 65.521v0.014c-0.016 8.559-1.299 16.812-3.668 24.592l0.158-0.601h-98.887c-0.004 0-0.008 0-0.012 0-7.873 0-14.294-6.219-14.615-14.014l-0.001-0.029zM290.823 819.191c0.287-3.59 0.451-7.773 0.451-11.996s-0.163-8.405-0.485-12.544l0.034 0.549c0.004-0.481 0.007-1.050 0.007-1.62 0-49.382-20.391-94-53.213-125.896l-0.041-0.040c-8.427-8.529-17.825-16.067-28.024-22.443l-0.647-0.377-9.947-6.436c-5.625-3.003-12.567-6.153-19.707-8.903l-1.358-0.459-11.702-4.681c-8.77-2.704-19.269-4.96-30.044-6.336l-0.968-0.101c-2.719-0.288-5.875-0.451-9.069-0.451s-6.35 0.165-9.458 0.484l0.389-0.033h-29.256v-210.060h49.736c9.036-1.557 16.909-3.588 24.522-6.182l-1.116 0.331 12.873-4.096c9.915-3.42 18.418-7.374 26.429-12.074l-0.683 0.37 9.362-5.266c11.406-7.555 21.355-15.646 30.453-24.6l-0.026 0.025c32.863-31.937 53.254-76.555 53.254-125.937 0-0.569-0.003-1.138-0.008-1.707v0.086c0.287-3.59 0.451-7.773 0.451-11.996s-0.163-8.405-0.485-12.544l0.034 0.549h442.355c-0.287 3.59-0.451 7.773-0.451 11.996s0.163 8.405 0.485 12.544l-0.034-0.549c-0.004 0.481-0.007 1.050-0.007 1.62 0 49.382 20.391 94 53.213 125.896l0.041 0.040c8.973 9.14 18.943 17.251 29.747 24.168l0.679 0.407 9.362 5.266c7.327 4.329 15.83 8.282 24.727 11.392l1.018 0.31 12.873 4.096c6.721 2.133 14.826 3.972 23.141 5.166l0.85 0.1h49.151v208.304h-29.256c-2.719-0.277-5.876-0.435-9.069-0.435s-6.351 0.158-9.463 0.466l0.394-0.032c-11.742 1.477-22.241 3.733-32.391 6.794l1.38-0.358-11.702 4.681c-9.096 3.533-16.61 7.072-23.848 11.051l1.029-0.518-9.947 6.436c-10.846 6.753-20.244 14.291-28.657 22.805l-0.015 0.015c-32.863 31.937-53.254 76.555-53.254 125.937 0 0.569 0.003 1.138 0.008 1.707v-0.086c-0.287 3.59-0.451 7.773-0.451 11.996s0.163 8.405 0.485 12.544l-0.034-0.549zM921.588 819.191h-98.887c-2.212-7.178-3.494-15.431-3.511-23.981v-0.010c0.074-25.645 10.578-48.823 27.491-65.525l0.010-0.010c6.226-6.647 13.589-12.14 21.793-16.186l0.443-0.197h7.022c5.388-2.223 11.845-4.236 18.507-5.704l0.802-0.148h7.607c3.162-0.418 6.82-0.657 10.532-0.657s7.37 0.239 10.956 0.701l-0.424-0.045h12.288v97.131c0 8.079-6.55 14.629-14.629 14.629v0z","M512 307.207c-113.105 0-204.793 91.69-204.793 204.793s91.69 204.793 204.793 204.793c113.105 0 204.793-91.69 204.793-204.793v0c0-113.105-91.69-204.793-204.793-204.793v0zM512 629.025c-64.631 0-117.025-52.394-117.025-117.025s52.394-117.025 117.025-117.025c64.631 0 117.025 52.394 117.025 117.025v0c0 64.631-52.394 117.025-117.025 117.025v0z"],"attrs":[{},{}],"tags":["money-bill"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":144,"id":63,"name":"money-bill","prevSize":80,"code":59764},"setIdx":0,"setId":1,"iconIdx":144},{"icon":{"paths":["M871.768 55.371h-553.491c-84.063 0-152.209 68.147-152.209 152.209v0 13.838h-13.838c-84.063 0-152.209 68.147-152.209 152.209v0 442.792c0 84.063 68.147 152.209 152.209 152.209v0h553.491c84.063 0 152.209-68.147 152.209-152.209v0-13.838h13.838c84.063 0 152.209-68.147 152.209-152.209v0-442.792c0-84.063-68.147-152.209-152.209-152.209v0zM249.092 207.58c0-38.21 30.976-69.186 69.186-69.186v0h553.491c38.21 0 69.186 30.976 69.186 69.186v0 343.163l-125.642-105.716c-7.15-6.241-16.567-10.047-26.872-10.047-12.495 0-23.684 5.595-31.196 14.418l-0.048 0.058-59.223 69.74-221.396-214.755c-6.965-8.265-17.229-13.559-28.735-13.836l-0.047-0.001c-11.963 0.464-22.566 5.925-29.844 14.338l-0.044 0.052-168.814 200.917zM318.279 719.559c-38.21 0-69.186-30.976-69.186-69.186v0-16.605l203.131-239.108 191.508 187.633-116.233 137.265zM774.908 816.42c0 38.21-30.976 69.186-69.186 69.186v0h-553.491c-38.21 0-69.186-30.976-69.186-69.186v0-442.792c0-38.21 30.976-69.186 69.186-69.186v0h13.838v345.932c0 84.063 68.147 152.209 152.209 152.209v0h456.629zM871.768 719.559h-235.233l157.191-184.866 145.567 123.429c-3.487 34.553-32.362 61.315-67.514 61.437h-0.013z"],"attrs":[{}],"tags":["images"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":143,"id":64,"name":"images","prevSize":80,"code":59763},"setIdx":0,"setId":1,"iconIdx":145},{"icon":{"paths":["M863.086 58.514h-702.171c-88.87 0-160.914 72.044-160.914 160.914v0 585.143c0 88.87 72.044 160.914 160.914 160.914v0h702.171c88.87 0 160.914-72.044 160.914-160.914v0-585.143c0-88.87-72.044-160.914-160.914-160.914v0zM160.914 146.285h702.171c40.395 0 73.142 32.747 73.142 73.142v0 479.232l-159.158-159.158c-7.493-7.993-18.119-12.974-29.908-12.974-1.007 0-2.005 0.036-2.992 0.108l0.133-0.008c-12.88 0.772-24.239 6.708-32.137 15.744l-0.047 0.055-75.483 90.697-269.166-269.166c-7.488-7.945-18.081-12.89-29.83-12.89-0.416 0-0.831 0.007-1.244 0.018l0.060-0.001c-12.88 0.772-24.239 6.708-32.137 15.744l-0.047 0.055-216.503 258.048v-405.504c0-40.395 32.747-73.142 73.142-73.142v0zM87.772 804.571v-42.716l251.612-301.934 241.079 241.079-147.456 175.543h-272.091c-0.003 0-0.005 0-0.010 0-39.984 0-72.475-32.083-73.133-71.911l-0.001-0.062zM863.086 877.715h-315.977l201.874-242.249 184.32 184.32c-6.765 33.136-35.591 57.744-70.197 57.929h-0.021z"],"attrs":[{}],"tags":["image"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":142,"id":65,"name":"image","prevSize":80,"code":59762},"setIdx":0,"setId":1,"iconIdx":146},{"icon":{"paths":["M863.075 1023.984h-175.538c-24.237 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h175.538c1.762 0.162 3.81 0.255 5.881 0.255 34.275 0 62.615-25.405 67.22-58.41l0.041-0.357v-729.651c-4.645-33.363-32.986-58.768-67.261-58.768-2.069 0-4.118 0.093-6.141 0.274l0.261-0.019h-175.538c-24.237 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h175.538c1.958-0.089 4.255-0.14 6.565-0.14 83.099 0 150.872 65.615 154.335 147.863l0.011 0.313v726.14c-3.472 82.56-71.246 148.176-154.344 148.176-2.309 0-4.606-0.051-6.89-0.151l0.325 0.011z","M453.487 789.935c-0.060 0-0.133 0-0.204 0-12.052 0-22.953-4.923-30.803-12.869l-0.004-0.004c-7.929-7.939-12.835-18.903-12.835-31.011s4.904-23.072 12.835-31.013v0l203.038-203.038-203.038-203.038c-7.297-7.816-11.777-18.344-11.777-29.917 0-24.237 19.648-43.884 43.884-43.884 11.575 0 22.101 4.48 29.943 11.802l-0.026-0.023 234.051 234.051c7.929 7.939 12.835 18.903 12.835 31.011s-4.904 23.072-12.835 31.013v0l-234.051 234.051c-7.854 7.95-18.755 12.873-30.807 12.873-0.071 0-0.144 0-0.215 0h0.011z","M687.538 555.884h-643.638c-24.237 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h643.638c24.237 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z"],"attrs":[{},{},{}],"tags":["sign-in"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":141,"id":66,"name":"sign-in","prevSize":80,"code":59760},"setIdx":0,"setId":1,"iconIdx":147},{"icon":{"paths":["M336.515 1023.832h-175.485c-1.958 0.089-4.254 0.14-6.563 0.14-83.075 0-150.827-65.596-154.289-147.819l-0.011-0.313v-727.679c3.471-82.536 71.225-148.132 154.298-148.132 2.309 0 4.605 0.051 6.888 0.151l-0.325-0.011h175.485c24.229 0 43.871 19.642 43.871 43.871s-19.642 43.871-43.871 43.871v0h-175.485c-1.762-0.162-3.809-0.255-5.879-0.255-34.265 0-62.596 25.397-67.2 58.393l-0.041 0.356v729.434c4.644 33.353 32.976 58.751 67.241 58.751 2.069 0 4.117-0.093 6.139-0.274l-0.26 0.019h175.485c24.229 0 43.871 19.642 43.871 43.871s-19.642 43.871-43.871 43.871v0z","M745.981 789.852c-0.060 0-0.133 0-0.204 0-12.048 0-22.946-4.922-30.794-12.865l-0.004-0.004c-7.927-7.937-12.831-18.898-12.831-31.002s4.903-23.065 12.831-31.003v0l202.978-202.978-202.978-202.978c-8.602-8.031-13.963-19.438-13.963-32.097 0-24.229 19.642-43.871 43.871-43.871 12.66 0 24.066 5.362 32.073 13.937l0.023 0.026 233.981 233.981c7.927 7.937 12.831 18.898 12.831 31.002s-4.903 23.065-12.831 31.003v0l-233.981 233.981c-7.852 7.948-18.75 12.869-30.798 12.869-0.071 0-0.144 0-0.215 0h0.011z","M979.961 555.871h-643.446c-24.229 0-43.871-19.642-43.871-43.871s19.642-43.871 43.871-43.871v0h643.446c24.229 0 43.871 19.642 43.871 43.871s-19.642 43.871-43.871 43.871v0z"],"attrs":[{},{},{}],"tags":["sign-out"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":140,"id":67,"name":"sign-out","prevSize":80,"code":59761},"setIdx":0,"setId":1,"iconIdx":148},{"icon":{"paths":["M823.892 558.055c-0.046 0-0.1 0-0.154 0-10.973 0-20.961-4.21-28.44-11.103l0.029 0.026c-74.352-66.801-173.194-107.653-281.576-107.653s-207.224 40.851-281.966 107.996l0.389-0.344c-7.699 6.911-17.932 11.137-29.152 11.137-12.958 0-24.6-5.638-32.606-14.593l-0.037-0.042c-6.617-7.695-10.645-17.782-10.645-28.809 0-13.081 5.67-24.84 14.685-32.949l0.041-0.036c89.475-80.776 208.611-130.198 339.291-130.198s249.814 49.422 339.736 130.594l-0.445-0.396c9.056 8.146 14.726 19.904 14.726 32.986 0 11.028-4.029 21.114-10.694 28.868l0.049-0.059c-8.339 8.889-20.122 14.46-33.209 14.575h-0.020z","M978.379 395.406c-11.486-0.060-21.927-4.48-29.763-11.688l0.031 0.029c-113.494-108.335-267.577-175.003-437.231-175.003s-323.736 66.669-437.478 175.238l0.247-0.234c-8.074 9.555-20.065 15.58-33.462 15.58-24.147 0-43.723-19.576-43.723-43.723 0-14.862 7.414-27.991 18.746-35.891l0.142-0.094c128.857-122.252 303.412-197.437 495.528-197.437s366.671 75.186 495.847 197.738l-0.318-0.301c8.63 8.010 14.013 19.416 14.013 32.079 0 23.746-18.928 43.070-42.521 43.707l-0.059 0.001z","M359.26 724.203c-14.255 0-26.917-6.822-34.899-17.38l-0.079-0.109c-5.603-7.207-8.984-16.384-8.984-26.351 0-14.271 6.93-26.924 17.608-34.778l0.12-0.083c49.111-37.883 111.521-60.719 179.265-60.719s130.154 22.836 179.953 61.23l-0.689-0.51c10.667 8.061 17.489 20.723 17.489 34.978 0 9.892-3.285 19.018-8.824 26.343l0.079-0.109c-8.18 10.541-20.853 17.261-35.095 17.261-9.821 0-18.895-3.195-26.241-8.603l0.123 0.086c-34.771-26.697-78.905-42.783-126.797-42.783s-92.026 16.086-127.294 43.149l0.497-0.366c-7.262 5.353-16.355 8.615-26.202 8.745h-0.031z","M512 905.508c-24.147 0-43.723-19.576-43.723-43.723s19.576-43.723 43.723-43.723v0 0c24.147 0 43.723 19.576 43.723 43.723s-19.576 43.723-43.723 43.723v0z"],"attrs":[{},{},{},{}],"tags":["wifi"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":139,"id":68,"name":"wifi","prevSize":80,"code":59759},"setIdx":0,"setId":1,"iconIdx":149},{"icon":{"paths":["M590.766 393.851h-157.532c-50.632-0.297-91.598-41.261-91.894-91.866v-157.56c0.297-50.632 41.261-91.598 91.866-91.894h157.56c50.632 0.297 91.598 41.261 91.894 91.866v157.56c-0.297 50.632-41.261 91.598-91.866 91.894h-0.028zM433.234 131.298c-7.25 0-13.128 5.878-13.128 13.128v0 157.532c0 7.25 5.878 13.128 13.128 13.128v0h157.532c7.25 0 13.128-5.878 13.128-13.128v0-157.532c0-7.25-5.878-13.128-13.128-13.128v0z","M196.936 918.958h-105.021c-50.632-0.297-91.598-41.261-91.894-91.866v-105.049c0.297-50.632 41.261-91.598 91.866-91.894h105.049c50.632 0.297 91.598 41.261 91.894 91.866v105.049c-0.297 50.632-41.261 91.598-91.866 91.894h-0.028zM91.915 708.915c-7.25 0-13.128 5.878-13.128 13.128v0 105.021c0 7.25 5.878 13.128 13.128 13.128v0h105.021c7.25 0 13.128-5.878 13.128-13.128v0-105.021c0-7.25-5.878-13.128-13.128-13.128v0z","M564.511 918.958h-105.021c-50.632-0.297-91.598-41.261-91.894-91.866v-105.049c0.297-50.632 41.261-91.598 91.866-91.894h105.049c50.632 0.297 91.598 41.261 91.894 91.866v105.049c-0.297 50.632-41.261 91.598-91.866 91.894h-0.028zM459.489 708.915c-7.25 0-13.128 5.878-13.128 13.128v0 105.021c0 7.25 5.878 13.128 13.128 13.128v0h105.021c7.25 0 13.128-5.878 13.128-13.128v0-105.021c0-7.25-5.878-13.128-13.128-13.128v0z","M932.085 918.958h-105.021c-50.632-0.297-91.598-41.261-91.894-91.866v-105.049c0.297-50.632 41.261-91.598 91.866-91.894h105.049c50.632 0.297 91.598 41.261 91.894 91.866v105.049c-0.297 50.632-41.261 91.598-91.866 91.894h-0.028zM827.064 708.915c-7.25 0-13.128 5.878-13.128 13.128v0 105.021c0 7.25 5.878 13.128 13.128 13.128v0h105.021c7.25 0 13.128-5.878 13.128-13.128v0-105.021c0-7.25-5.878-13.128-13.128-13.128v0z","M879.575 708.915c-21.632-0.292-39.091-17.751-39.383-39.355v-105.049c0-7.25-5.878-13.128-13.128-13.128v0h-630.129c-7.25 0-13.128 5.878-13.128 13.128v0 105.021c0 21.751-17.633 39.383-39.383 39.383s-39.383-17.633-39.383-39.383v0-105.021c0.297-50.632 41.261-91.598 91.866-91.894h630.157c50.632 0.297 91.598 41.261 91.894 91.866v105.049c-0.292 21.632-17.751 39.091-39.355 39.383h-0.028z","M512 708.915c-21.632-0.292-39.091-17.751-39.383-39.355v-315.093c0-21.751 17.633-39.383 39.383-39.383s39.383 17.633 39.383 39.383v0 315.064c-0.292 21.632-17.751 39.091-39.355 39.383h-0.028z"],"attrs":[{},{},{},{},{},{}],"tags":["sitemap"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":138,"id":69,"name":"sitemap","prevSize":80,"code":59758},"setIdx":0,"setId":1,"iconIdx":150},{"icon":{"paths":["M46.545 1024c-25.567-0.345-46.201-20.979-46.545-46.512v-930.943c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 930.909c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z","M977.455 1024h-930.909c-25.706 0-46.545-20.839-46.545-46.545s20.839-46.545 46.545-46.545v0h930.909c25.706 0 46.545 20.839 46.545 46.545s-20.839 46.545-46.545 46.545v0z","M263.757 806.788c-25.567-0.345-46.201-20.979-46.545-46.512v-248.276c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 248.243c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z","M480.97 806.788c-25.567-0.345-46.201-20.979-46.545-46.512v-496.518c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 496.484c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z","M698.182 806.788c-25.567-0.345-46.201-20.979-46.545-46.512v-248.276c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 248.243c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z","M915.393 806.788c-25.567-0.345-46.201-20.979-46.545-46.512v-496.518c0-25.706 20.839-46.545 46.545-46.545s46.545 20.839 46.545 46.545v0 496.484c-0.345 25.567-20.979 46.201-46.512 46.545h-0.033z"],"attrs":[{},{},{},{},{},{}],"tags":["chart-bar"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":137,"id":70,"name":"chart-bar","prevSize":80,"code":59757},"setIdx":0,"setId":1,"iconIdx":151},{"icon":{"paths":["M863.086 936.228h-702.171c-88.87 0-160.914-72.044-160.914-160.914v0-351.086c0-88.87 72.044-160.914 160.914-160.914v0h35.109l69.047-102.4c29.412-43.303 78.425-71.379 133.997-71.387h225.866c55.573 0.008 104.587 28.085 133.636 70.825l0.361 0.562 69.047 102.4h35.109c88.87 0 160.914 72.044 160.914 160.914v0 351.086c0 88.87-72.044 160.914-160.914 160.914v0zM160.914 351.086c-40.395 0-73.142 32.747-73.142 73.142v0 351.086c0 40.395 32.747 73.142 73.142 73.142v0h702.171c40.395 0 73.142-32.747 73.142-73.142v0-351.086c0-40.395-32.747-73.142-73.142-73.142v0h-58.515c-15.035-0.029-28.294-7.614-36.181-19.159l-0.097-0.151-80.75-123.466c-12.764-19.278-34.075-32.011-58.402-32.765l-0.111-0.003h-229.961c-24.44 0.758-45.751 13.489-58.346 32.499l-0.167 0.269-84.846 123.466c-7.986 11.696-21.243 19.281-36.274 19.31h-0.004z","M512 760.685c-105.028 0-190.172-85.142-190.172-190.172s85.142-190.172 190.172-190.172c105.028 0 190.172 85.142 190.172 190.172v0c-0.332 104.895-85.277 189.84-190.139 190.172h-0.032zM512 468.114c-56.554 0-102.4 45.845-102.4 102.4s45.845 102.4 102.4 102.4c56.554 0 102.4-45.845 102.4-102.4v0c-0.331-56.421-45.979-102.070-102.369-102.4h-0.032z"],"attrs":[{},{}],"tags":["camera"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":136,"id":71,"name":"camera","prevSize":80,"code":59756},"setIdx":0,"setId":1,"iconIdx":152},{"icon":{"paths":["M512 1023.977c-24.105-0.325-43.559-19.779-43.884-43.852v-936.219c0-24.236 19.648-43.884 43.884-43.884s43.884 19.648 43.884 43.884v0 936.187c-0.325 24.105-19.779 43.559-43.852 43.884h-0.032z","M599.768 906.954h-380.325c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h380.325c3.954 0.373 8.548 0.587 13.193 0.587 76.308 0 139.186-57.511 147.651-131.554l0.063-0.684c-8.529-74.727-71.406-132.238-147.714-132.238-4.645 0-9.24 0.213-13.775 0.629l0.583-0.044h-175.535c-4.502 0.309-9.759 0.484-15.056 0.484-124.284 0-225.944-96.875-233.585-219.234l-0.033-0.671c7.676-123.029 109.334-219.903 233.619-219.903 5.298 0 10.553 0.176 15.762 0.522l-0.706-0.037h321.815c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0h-321.815c-3.954-0.373-8.548-0.587-13.193-0.587-76.308 0-139.186 57.511-147.651 131.554l-0.063 0.684c8.529 74.727 71.406 132.238 147.714 132.238 4.645 0 9.24-0.213 13.775-0.629l-0.583 0.044h175.535c4.502-0.309 9.759-0.484 15.056-0.484 124.284 0 225.944 96.875 233.585 219.234l0.033 0.671c-7.676 123.029-109.334 219.903-233.619 219.903-5.298 0-10.553-0.176-15.762-0.522l0.706 0.037z"],"attrs":[{},{}],"tags":["dollar"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":135,"id":72,"name":"dollar","prevSize":80,"code":59755},"setIdx":0,"setId":1,"iconIdx":153},{"icon":{"paths":["M746.049 0.019c-153.498 0-277.933 124.435-277.933 277.933v0 131.652h-307.189c-88.867 0-160.908 72.041-160.908 160.908v0 292.56c0 88.867 72.041 160.908 160.908 160.908v0h409.585c88.867 0 160.908-72.041 160.908-160.908v0-292.56c0-88.867-72.041-160.908-160.908-160.908v0h-14.628v-131.652c0-105.024 85.139-190.165 190.165-190.165s190.165 85.139 190.165 190.165v0c0 24.236 19.648 43.884 43.884 43.884s43.884-19.648 43.884-43.884v0c0-153.498-124.435-277.933-277.933-277.933v0zM643.652 570.513v292.56c0 40.394-32.746 73.14-73.14 73.14v0h-409.585c-40.394 0-73.14-32.746-73.14-73.14v0-292.56c0-40.394 32.746-73.14 73.14-73.14v0h409.585c40.394 0 73.14 32.746 73.14 73.14v0z"],"attrs":[{}],"tags":["lock-open"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":134,"id":73,"name":"lock-open","prevSize":80,"code":59754},"setIdx":0,"setId":1,"iconIdx":154},{"icon":{"paths":["M863.086 58.514h-702.171c-88.87 0-160.914 72.044-160.914 160.914v0 585.143c0 88.87 72.044 160.914 160.914 160.914v0h702.171c88.87 0 160.914-72.044 160.914-160.914v0-585.143c0-88.87-72.044-160.914-160.914-160.914v0zM936.228 219.429v248.685h-380.342v-321.829h307.2c40.395 0 73.142 32.747 73.142 73.142v0zM160.914 146.285h307.2v321.829h-380.342v-248.685c0-40.395 32.747-73.142 73.142-73.142v0zM87.772 804.571v-248.685h380.342v321.829h-307.2c-40.395 0-73.142-32.747-73.142-73.142v0zM863.086 877.715h-307.2v-321.829h380.342v248.685c0 40.395-32.747 73.142-73.142 73.142v0z"],"attrs":[{}],"tags":["table"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":133,"id":74,"name":"table","prevSize":80,"code":59753},"setIdx":0,"setId":1,"iconIdx":155},{"icon":{"paths":["M512 1022.599c-0.113 0.001-0.245 0.001-0.378 0.001-8.356 0-16.084-2.691-22.364-7.254l0.11 0.076c-16.56-10.488-405.166-271.583-405.166-588.982 0-236.266 191.533-427.799 427.799-427.799s427.799 191.533 427.799 427.799v0c0 317.399-386.399 578.495-405.166 588.982-6.17 4.487-13.897 7.178-22.254 7.178-0.133 0-0.265-0.001-0.397-0.003h0.021zM512 84.201c-0.329-0.001-0.718-0.001-1.107-0.001-189.346 0-342.951 153.026-343.891 342.151v0.089c0 232.392 264.407 444.91 344.999 503.975 80.591-59.063 344.999-271.583 344.999-503.975-0.939-189.216-154.544-342.241-343.891-342.241-0.389 0-0.779 0.001-1.168 0.003h0.061z","M512 553.4c-83.836 0-151.799-67.963-151.799-151.799s67.963-151.799 151.799-151.799c83.836 0 151.799 67.963 151.799 151.799v0c0 83.836-67.963 151.799-151.799 151.799v0zM512 332.6c-38.107 0-68.999 30.892-68.999 68.999s30.892 68.999 68.999 68.999c38.107 0 68.999-30.892 68.999-68.999v0c0-38.107-30.892-68.999-68.999-68.999v0z"],"attrs":[{},{}],"tags":["map-marker"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":132,"id":75,"name":"map-marker","prevSize":80,"code":59752},"setIdx":0,"setId":1,"iconIdx":156},{"icon":{"paths":["M967.082 560.759h-715.127c-26.929 0-48.759-21.83-48.759-48.759s21.83-48.759 48.759-48.759v0h715.127c26.929 0 48.759 21.83 48.759 48.759s-21.83 48.759-48.759 48.759v0z","M967.082 268.207h-715.127c-26.929 0-48.759-21.83-48.759-48.759s21.83-48.759 48.759-48.759v0h715.127c26.929 0 48.759 21.83 48.759 48.759s-21.83 48.759-48.759 48.759v0z","M967.082 853.311h-715.127c-26.929 0-48.759-21.83-48.759-48.759s21.83-48.759 48.759-48.759v0h715.127c26.929 0 48.759 21.83 48.759 48.759s-21.83 48.759-48.759 48.759v0z","M56.918 284.46c-0.236 0.003-0.517 0.005-0.797 0.005-8.607 0-16.825-1.673-24.344-4.711l0.436 0.155c-8.191-4.021-15.246-8.79-21.551-14.388l0.098 0.085c-11.653-11.746-18.854-27.923-18.854-45.783 0-0.133 0-0.264 0.002-0.396v0.020c0.258-17.936 7.392-34.155 18.879-46.185l-0.024 0.026c5.935-5.857 13.086-10.5 21.038-13.514l0.416-0.139c7.303-3.084 15.795-4.877 24.704-4.877s17.401 1.792 25.134 5.036l-0.428-0.16c8.326 3.279 15.455 7.903 21.477 13.674l-0.023-0.021c11.461 12.002 18.595 28.224 18.853 46.107v0.050c0 0.111 0.002 0.244 0.002 0.376 0 17.859-7.201 34.037-18.859 45.786l0.005-0.005c-6.208 5.511-13.262 10.282-20.899 14.055l-0.555 0.248c-7.082 2.883-15.3 4.556-23.909 4.556-0.28 0-0.559-0.002-0.84-0.005h0.043z","M56.918 577.012c-8.949-0.111-17.424-2.014-25.124-5.363l0.419 0.163c-8.262-3.501-15.357-8.097-21.513-13.706l0.059 0.053c-11.653-11.746-18.854-27.923-18.854-45.783 0-0.133 0-0.264 0.002-0.396v0.020c0.258-17.936 7.392-34.155 18.879-46.185l-0.024 0.026c6.096-5.555 13.192-10.151 20.966-13.467l0.488-0.186c8.019-3.808 17.424-6.032 27.348-6.032 3.658 0 7.245 0.302 10.739 0.882l-0.379-0.052 11.702 3.901 11.702 5.851c3.642 2.58 6.822 5.141 9.837 7.878l-0.085-0.076c11.672 12.226 18.854 28.826 18.854 47.102 0 0.125 0 0.251-0.002 0.376v-0.020c0 35.905-29.107 65.012-65.012 65.012v0z","M56.918 869.564c-0.236 0.003-0.517 0.005-0.797 0.005-8.607 0-16.825-1.673-24.344-4.711l0.436 0.155c-8.191-4.021-15.246-8.79-21.551-14.388l0.098 0.085c-5.555-6.096-10.151-13.192-13.467-20.966l-0.186-0.488c-3.296-7.27-5.216-15.763-5.216-24.704s1.92-17.436 5.371-25.089l-0.155 0.385c3.501-8.262 8.097-15.357 13.706-21.513l-0.053 0.059c11.733-11.582 27.863-18.736 45.663-18.736 9.098 0 17.76 1.87 25.624 5.245l-0.424-0.162c8.326 3.279 15.455 7.903 21.477 13.674l-0.023-0.021c5.555 6.096 10.151 13.192 13.467 20.966l0.186 0.488c3.296 7.27 5.216 15.763 5.216 24.704s-1.92 17.436-5.371 25.089l0.155-0.385c-3.501 8.262-8.097 15.357-13.706 21.513l0.053-0.059c-11.746 11.653-27.923 18.854-45.783 18.854-0.133 0-0.264 0-0.396-0.002h0.020z"],"attrs":[{},{},{},{},{},{}],"tags":["list"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{},{},{}],"properties":{"order":131,"id":76,"name":"list","prevSize":80,"code":59751},"setIdx":0,"setId":1,"iconIdx":157},{"icon":{"paths":["M1020.3 494.452c-7.019-15.208-167.289-377.277-508.3-377.277-0.14 0-0.306 0-0.472 0-34.241 0-67.586 3.836-99.63 11.102l3.004-0.573c-18.045 5.713-30.896 22.309-30.896 41.908 0 24.228 19.641 43.869 43.869 43.869 2.026 0 4.020-0.137 5.972-0.403l-0.228 0.025c23.536-5.148 50.592-8.127 78.334-8.188h0.045c244.499 0 384.881 239.819 419.391 307.086-23.064 44.686-47.534 82.99-75.058 118.824l1.357-1.84c-5.75 7.348-9.221 16.722-9.221 26.907 0 24.18 19.562 43.79 43.724 43.869h0.007c13.993-0.045 26.437-6.635 34.437-16.866l0.073-0.096c34.924-43.997 66.128-93.737 91.55-146.775l2.039-4.721c2.455-5.422 3.887-11.757 3.887-18.425s-1.431-13.003-4.002-18.713l0.117 0.288z","M192.045 130.044c-7.813-7.295-18.337-11.773-29.907-11.773-24.228 0-43.869 19.641-43.869 43.869 0 11.571 4.479 22.094 11.798 29.933l-0.023-0.026 53.813 53.813c-74.699 68.875-135.393 151.659-178.181 244.402l-1.975 4.776c-2.203 5.093-3.485 11.025-3.485 17.256s1.282 12.161 3.596 17.545l-0.111-0.289c7.019 15.208 167.289 377.277 508.3 377.277 0.681 0.004 1.487 0.005 2.294 0.005 94.711 0 182.793-28.386 256.201-77.116l-1.714 1.069 63.172 63.172c7.936 7.927 18.897 12.83 31.001 12.83s23.064-4.902 31.002-12.83v0c7.927-7.936 12.83-18.897 12.83-31.001s-4.902-23.064-12.83-31.002v0zM416.073 480.999l129.268 129.853c-9.942 3.409-21.397 5.378-33.312 5.378-28.107 0-53.656-10.952-72.612-28.824l0.052 0.049c-18.724-18.468-30.323-44.118-30.323-72.478 0-13.277 2.543-25.962 7.167-37.592l-0.241 0.688zM512 819.086c-245.083 0-384.881-240.404-419.391-307.086 39.962-79.399 91.284-146.975 152.768-203.701l0.481-0.439 104.701 104.701c-17.797 28.341-28.353 62.795-28.353 99.714 0 104.667 84.849 189.516 189.516 189.516 36.919 0 71.373-10.557 100.508-28.817l-0.792 0.463 94.173 94.173c-54.756 32.362-120.666 51.482-191.042 51.482-0.903 0-1.805-0.003-2.708-0.010l0.138 0.001z"],"attrs":[{},{}],"tags":["eye-slash"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":130,"id":77,"name":"eye-slash","prevSize":80,"code":59749},"setIdx":0,"setId":1,"iconIdx":158},{"icon":{"paths":["M512 906.971c-341.139 0-501.467-362.204-508.489-377.417-2.22-5.185-3.511-11.22-3.511-17.554s1.291-12.369 3.623-17.853l-0.112 0.299c7.022-15.213 167.351-377.417 508.489-377.417s501.467 362.204 508.489 377.417c2.22 5.185 3.511 11.22 3.511 17.554s-1.291 12.369-3.623 17.853l0.112-0.299c-7.022 15.213-167.351 377.417-508.489 377.417zM92.453 512c34.523 67.292 175.543 307.2 419.547 307.2s385.024-239.908 419.547-307.2c-34.523-67.292-175.543-307.2-419.547-307.2s-385.024 239.908-419.547 307.2z","M512 702.172c-105.028 0-190.172-85.142-190.172-190.172s85.142-190.172 190.172-190.172c105.028 0 190.172 85.142 190.172 190.172v0c-0.332 104.895-85.277 189.84-190.139 190.172h-0.032zM512 409.6c-56.554 0-102.4 45.845-102.4 102.4s45.845 102.4 102.4 102.4c56.554 0 102.4-45.845 102.4-102.4v0c-0.331-56.421-45.979-102.070-102.369-102.4h-0.032z"],"attrs":[{},{}],"tags":["eye"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":129,"id":78,"name":"eye","prevSize":80,"code":59750},"setIdx":0,"setId":1,"iconIdx":159},{"icon":{"paths":["M82.761 872.006h-83.078v-609.242c-0.010-0.662-0.017-1.442-0.017-2.225 0-82.317 66.265-149.157 148.363-150.085l0.088-0.001h133.48c0.27-0.006 0.588-0.010 0.906-0.010 12.364 0 23.485 5.331 31.186 13.821l0.031 0.035 147.88 178.895h271.943c0.175-0.001 0.383-0.001 0.591-0.001 82.895 0 150.096 67.2 150.096 150.096 0 1.168-0.013 2.335-0.040 3.497l0.003-0.173v27.692h-83.078v-27.692c0.013-0.495 0.021-1.077 0.021-1.662 0-37.318-30.252-67.57-67.57-67.57-0.008 0-0.014 0-0.022 0h-291.881c-12.686-0.029-24.015-5.815-31.514-14.885l-0.056-0.069-147.88-178.895h-114.094c-36.362 1.219-65.376 30.988-65.376 67.535 0 0.597 0.008 1.192 0.023 1.785l-0.001-0.088z","M795.574 913.546h-754.353c-14.913-0.126-27.961-7.987-35.343-19.762l-0.103-0.177c-3.401-5.891-5.407-12.958-5.407-20.493s2.007-14.601 5.513-20.694l-0.106 0.201 187.203-360.006c7.347-13.219 21.185-22.042 37.092-22.155h752.707c14.913 0.126 27.961 7.987 35.343 19.762l0.103 0.177c3.401 5.891 5.407 12.958 5.407 20.493s-2.007 14.601-5.513 20.694l0.106-0.201-187.203 360.006c-7.071 12.759-20.17 21.423-35.35 22.151l-0.097 0.004zM109.346 830.467h661.305l144.002-276.928h-661.305z"],"attrs":[{},{}],"tags":["folder-open"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":128,"id":79,"name":"folder-open","prevSize":80,"code":59748},"setIdx":0,"setId":1,"iconIdx":160},{"icon":{"paths":["M853.323 961.925h-682.645c-94.253 0-170.661-76.408-170.661-170.661v0-558.528c0-94.253 76.408-170.661 170.661-170.661v0h155.147c0.039 0 0.084 0 0.131 0 13.934 0 26.476 5.965 35.211 15.48l0.032 0.035 171.903 201.070h320.223c0 0 0 0 0.001 0 94.253 0 170.661 76.408 170.661 170.661 0 0.218 0 0.436-0.001 0.655v-0.033 341.323c0 94.253-76.408 170.661-170.661 170.661v0zM170.677 155.163c-42.842 0-77.573 34.731-77.573 77.573v0 558.528c0 42.842 34.731 77.573 77.573 77.573v0h682.645c42.842 0 77.573-34.731 77.573-77.573v0-341.323c0-42.842-34.731-77.573-77.573-77.573v0h-341.323c-14.071-0.131-26.67-6.321-35.33-16.085l-0.044-0.049-171.903-201.070z"],"attrs":[{}],"tags":["folder"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":126,"id":80,"name":"folder","prevSize":80,"code":59747},"setIdx":0,"setId":1,"iconIdx":161},{"icon":{"paths":["M570.515 906.971h-409.6c-88.87 0-160.914-72.044-160.914-160.914v0-468.114c0-88.87 72.044-160.914 160.914-160.914v0h409.6c88.87 0 160.914 72.044 160.914 160.914v0 468.114c0 88.87-72.044 160.914-160.914 160.914v0zM160.914 204.8c-40.395 0-73.142 32.747-73.142 73.142v0 468.114c0 40.395 32.747 73.142 73.142 73.142v0h409.6c40.395 0 73.142-32.747 73.142-73.142v0-468.114c0-40.395-32.747-73.142-73.142-73.142v0z","M980.114 789.943c-8.437-0.136-16.291-2.51-23.030-6.553l0.21 0.117-292.571-175.543c-12.706-7.831-21.051-21.663-21.065-37.447v-117.029c0.014-15.785 8.359-29.619 20.876-37.34l0.189-0.108 292.571-175.543c6.348-3.861 14.026-6.145 22.235-6.145s15.887 2.285 22.428 6.254l-0.192-0.108c13.334 7.666 22.183 21.811 22.235 38.027v468.122c-0.053 16.223-8.901 30.368-22.022 37.921l-0.213 0.112c-5.841 3.327-12.834 5.288-20.285 5.288-0.48 0-0.959-0.008-1.435-0.025l0.069 0.001zM731.429 545.939l204.8 122.88v-313.636l-204.8 122.88z"],"attrs":[{},{}],"tags":["video"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":125,"id":81,"name":"video","prevSize":80,"code":59746},"setIdx":0,"setId":1,"iconIdx":162},{"icon":{"paths":["M862.966 979.954h-701.931c-88.84 0-160.859-72.019-160.859-160.859v0-350.966c0-24.229 19.642-43.871 43.871-43.871s43.871 19.642 43.871 43.871v0 350.966c-0.014 0.522-0.021 1.138-0.021 1.755 0 40.382 32.736 73.117 73.117 73.117 0.007 0 0.015 0 0.022 0h701.93c40.382 0 73.117-32.736 73.117-73.117v0-350.966c0-24.229 19.642-43.871 43.871-43.871s43.871 19.642 43.871 43.871v0 350.966c-0.991 88.083-72.627 159.104-160.849 159.104-0.004 0-0.007 0-0.011 0h0.001z","M512 702.107c-0.038 0-0.085 0-0.13 0-110.716 0-202.222-82.245-216.757-188.973l-0.126-1.134h-250.94c-0.097 0.001-0.211 0.001-0.326 0.001-24.229 0-43.871-19.642-43.871-43.871 0-8.677 2.52-16.767 6.867-23.575l-0.106 0.177 218.184-350.966c17.362-29.96 49.275-49.789 85.818-49.789 1.293 0 2.582 0.025 3.862 0.074l-0.185-0.005h395.422c40.382 0.115 75.22 23.729 91.572 57.882l0.265 0.613 215.844 347.456c2.498 5.344 3.955 11.604 3.955 18.204 0 23.357-18.253 42.45-41.273 43.795l-0.119 0.005h-250.94c-14.66 107.862-106.167 190.107-216.883 190.107-0.047 0-0.092 0-0.138 0h0.007zM123.014 426.013h213.504c24.229 0 43.871 19.642 43.871 43.871v0 12.869c0 72.687 58.925 131.612 131.612 131.612s131.612-58.925 131.612-131.612v0-12.869c0-24.229 19.642-43.871 43.871-43.871v0h213.504l-175.483-284.282c-4.679-8.189-9.36-11.698-15.208-11.698h-396.006c-5.783 0.148-10.777 3.381-13.412 8.109l-0.041 0.081z"],"attrs":[{},{}],"tags":["inbox"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":124,"id":82,"name":"inbox","prevSize":80,"code":59745},"setIdx":0,"setId":1,"iconIdx":163},{"icon":{"paths":["M804.555 409.605h-14.628v-131.65c0-153.495-124.432-277.928-277.928-277.928s-277.928 124.432-277.928 277.928v0 131.65h-14.628c-88.865 0-160.905 72.040-160.905 160.905v0 292.555c0 88.865 72.040 160.905 160.905 160.905v0h585.111c88.865 0 160.905-72.040 160.905-160.905v0-292.555c0-88.865-72.040-160.905-160.905-160.905v0zM321.839 277.955c0-105.022 85.138-190.161 190.161-190.161s190.161 85.138 190.161 190.161v0 131.65h-380.321zM877.694 863.066c0 40.393-32.745 73.138-73.138 73.138v0h-585.111c-40.393 0-73.138-32.745-73.138-73.138v0-292.555c0-40.393 32.745-73.138 73.138-73.138v0h585.111c40.393 0 73.138 32.745 73.138 73.138v0z"],"attrs":[{}],"tags":["lock"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":123,"id":83,"name":"lock","prevSize":80,"code":59743},"setIdx":0,"setId":1,"iconIdx":164},{"icon":{"paths":["M804.555 409.605h-482.716v-131.65c0-105.022 85.138-190.161 190.161-190.161s190.161 85.138 190.161 190.161v0c0 24.236 19.647 43.883 43.883 43.883s43.883-19.647 43.883-43.883v0c0-153.495-124.432-277.928-277.928-277.928s-277.928 124.432-277.928 277.928v0 131.65h-14.628c-88.865 0-160.905 72.040-160.905 160.905v0 292.555c0 88.865 72.040 160.905 160.905 160.905v0h585.111c88.865 0 160.905-72.040 160.905-160.905v0-292.555c0-88.865-72.040-160.905-160.905-160.905v0zM877.694 863.066c0 40.393-32.745 73.138-73.138 73.138v0h-585.111c-40.393 0-73.138-32.745-73.138-73.138v0-292.555c0-40.393 32.745-73.138 73.138-73.138v0h585.111c40.393 0 73.138 32.745 73.138 73.138v0z"],"attrs":[{}],"tags":["unlock"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":122,"id":84,"name":"unlock","prevSize":80,"code":59744},"setIdx":0,"setId":1,"iconIdx":165},{"icon":{"paths":["M988.652 422.661l-315.315-315.315c-7.357-7.357-17.342-11.562-27.852-11.562h-606.456c-21.546 0-39.414 17.868-39.414 39.414v414.113c0 10.51 4.204 20.495 11.562 27.852l315.315 314.789c23.123 23.123 53.604 35.735 86.186 35.735v0c32.582 0 63.589-12.613 86.186-35.735l11.562-11.562c2.103 4.204 4.204 8.409 7.883 11.562 23.649 23.649 55.18 35.735 86.186 35.735s62.537-12.087 86.712-35.735l296.922-296.922c47.297-47.297 47.297-124.549 0-172.373zM443.681 836.249c-8.409 8.409-18.919 12.613-30.481 12.613s-22.598-4.73-30.481-12.613l-304.279-303.228v-358.409h358.409l303.753 303.753c16.816 16.816 16.816 44.144 0 60.961l-296.922 296.922zM932.946 539.328l-296.922 296.922c-16.816 16.816-44.67 16.816-61.486 0-3.679-3.679-7.357-5.78-12.087-7.883l233.333-233.333c47.297-47.823 47.297-125.075 0-172.373l-248.048-248.048h80.931l303.753 303.753c16.816 16.816 16.816 44.144 0 60.961zM314.928 328.067c0 36.261-29.429 65.69-65.69 65.69s-65.69-29.429-65.69-65.69 29.429-65.69 65.69-65.69 65.69 29.429 65.69 65.69z"],"attrs":[{}],"tags":["tags"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":121,"id":85,"name":"tags","prevSize":80,"code":59741},"setIdx":0,"setId":1,"iconIdx":166},{"icon":{"paths":["M532.53 1023.985c-37.212 0-74.423-14.115-102.654-42.345l-415.747-415.105c-8.982-8.982-14.115-21.172-14.115-34.004v-484.396c0-26.304 21.814-48.119 48.119-48.119h483.756c12.831 0 25.022 5.132 34.004 14.115l415.747 415.747c55.818 56.46 55.818 148.206 0 204.666 0 0 0 0 0 0l-347.098 347.098c-28.229 28.229-65.442 42.345-102.654 42.345zM96.253 512.642l401.632 400.991c19.248 18.605 50.044 18.605 68.649 0l347.098-347.098c18.605-18.605 18.605-49.402 0-68.649l-401.632-401.632h-415.747v415.747zM947.637 600.539v0zM287.446 367.643c-44.269 0-80.198-35.928-80.198-80.198s35.928-80.198 80.198-80.198 80.198 35.928 80.198 80.198-35.928 80.198-80.198 80.198z"],"attrs":[{}],"tags":["tag"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":120,"id":86,"name":"tag","prevSize":80,"code":59742},"setIdx":0,"setId":1,"iconIdx":167},{"icon":{"paths":["M512 1024.445c-282.822-0.256-511.994-229.587-511.994-512.445 0-141.396 57.267-269.417 149.871-362.133l-0.005 0.005c7.661-7.856 18.351-12.73 30.177-12.73s22.516 4.874 30.169 12.72l0.008 0.009c7.716 7.725 12.49 18.395 12.49 30.177s-4.772 22.451-12.49 30.178v0c-83.727 78.173-135.917 189.204-135.917 312.426 0 235.846 191.191 427.037 427.037 427.037 123.22 0 234.253-52.189 312.196-135.668l0.23-0.248c77.442-77.134 125.361-183.857 125.361-301.773s-47.919-224.639-125.347-301.759l-0.015-0.015c-7.716-7.725-12.49-18.395-12.49-30.177s4.772-22.451 12.49-30.178v0c7.661-7.856 18.351-12.73 30.177-12.73s22.516 4.874 30.169 12.72l0.008 0.009c92.6 92.711 149.866 220.732 149.866 362.128 0 282.858-229.172 512.187-511.97 512.445h-0.024z","M512 554.704c-23.456-0.316-42.387-19.247-42.704-42.673v-455.537c0-23.584 19.119-42.704 42.704-42.704s42.704 19.119 42.704 42.704v0 455.506c-0.316 23.456-19.247 42.387-42.673 42.704h-0.031z"],"attrs":[{},{}],"tags":["power-off"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":119,"id":87,"name":"power-off","prevSize":80,"code":59740},"setIdx":0,"setId":1,"iconIdx":168},{"icon":{"paths":["M804.571 1024h-585.143c-88.87 0-160.914-72.044-160.914-160.914v0-702.171c0-88.87 72.044-160.914 160.914-160.914v0h438.857c12.114 0.011 23.078 4.929 31.012 12.872v0l263.314 265.070c7.945 7.935 12.863 18.898 12.874 31.011v554.133c0 88.87-72.044 160.914-160.914 160.914v0zM219.429 87.772c-40.395 0-73.142 32.747-73.142 73.142v0 702.171c0 40.395 32.747 73.142 73.142 73.142v0h585.143c40.395 0 73.142-32.747 73.142-73.142v0-537.747l-237.568-237.568z","M789.943 980.114h-87.771v-365.715h-380.342v365.715h-87.771v-380.342c0-40.395 32.747-73.142 73.142-73.142v0h409.6c40.395 0 73.142 32.747 73.142 73.142v0z","M539.501 321.828h-230.547c-41.436-0.331-74.901-33.998-74.901-75.481 0-0.207 0.001-0.413 0.003-0.619v0.032-201.874h87.771v190.172h204.8v-190.172h87.771v201.874c0.001 0.174 0.003 0.381 0.003 0.587 0 41.483-33.464 75.152-74.869 75.481h-0.032z"],"attrs":[{},{},{}],"tags":["save"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":118,"id":88,"name":"save","prevSize":80,"code":59739},"setIdx":0,"setId":1,"iconIdx":169},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c0-282.769-229.231-512-512-512v0zM512 938.667c-235.641 0-426.667-191.025-426.667-426.667s191.025-426.667 426.667-426.667c235.641 0 426.667 191.025 426.667 426.667v0c0 235.641-191.025 426.667-426.667 426.667v0z","M381.156 267.377c-33.393 33.448-54.044 79.627-54.044 130.628 0 0.076 0 0.152 0 0.228v-0.012c0 23.564 19.103 42.667 42.667 42.667s42.667-19.103 42.667-42.667v0c-0.001-0.156-0.001-0.341-0.001-0.525 0-27.345 11.088-52.101 29.015-70.016v0c18.327-17.443 43.181-28.173 70.543-28.173s52.216 10.731 70.585 28.213l-0.043-0.040c18.449 18.085 29.885 43.264 29.885 71.115 0 54.983-44.572 99.556-99.556 99.556-0.307 0-0.613-0.001-0.919-0.004h0.047c-23.436 0.316-42.351 19.231-42.667 42.636v56.92c0 23.564 19.103 42.667 42.667 42.667s42.667-19.103 42.667-42.667v0-19.343c34.751-8.129 64.687-25.311 88.169-48.916l0.008-0.008c33.387-33.532 54.025-79.777 54.025-130.844s-20.64-97.313-54.032-130.851l0.007 0.007c-34.036-32.508-80.253-52.515-131.144-52.515-50.6 0-96.58 19.779-130.632 52.028l0.087-0.081z","M583.111 753.777c0 39.273-31.837 71.111-71.111 71.111s-71.111-31.837-71.111-71.111c0-39.273 31.837-71.111 71.111-71.111s71.111 31.837 71.111 71.111z"],"attrs":[{},{},{}],"tags":["question-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":117,"id":89,"name":"question-circle","prevSize":80,"code":59737},"setIdx":0,"setId":1,"iconIdx":170},{"icon":{"paths":["M750.032 98.514c-60.88-61-145.050-98.738-238.034-98.738-185.726 0-336.287 150.56-336.287 336.287 0 0.17 0 0.34 0 0.511v-0.026c0 24.225 19.639 43.864 43.864 43.864s43.864-19.639 43.864-43.864v0c0-0.174 0-0.378 0-0.584 0-137.598 111.546-249.145 249.145-249.145s249.145 111.546 249.145 249.145c0 137.598-111.546 249.145-249.145 249.145-0.206 0-0.411 0-0.617-0.001h0.032c-24.093 0.325-43.539 19.77-43.864 43.832v117c0 24.225 19.639 43.864 43.864 43.864s43.864-19.639 43.864-43.864v0-76.031c165.808-22.845 292.141-163.614 292.141-333.889 0-92.678-37.425-176.615-97.988-237.522l0.016 0.016z","M585.105 950.635c0 40.375-32.73 73.105-73.105 73.105s-73.105-32.73-73.105-73.105c0-40.375 32.73-73.105 73.105-73.105s73.105 32.73 73.105 73.105z"],"attrs":[{},{}],"tags":["question"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":116,"id":90,"name":"question","prevSize":80,"code":59738},"setIdx":0,"setId":1,"iconIdx":171},{"icon":{"paths":["M907.406 301.957l-290.385-290.385c-7.121-7.13-16.959-11.543-27.829-11.553h-129.703c-79.752 0-144.404 64.652-144.404 144.404v0 65.638h-65.638c-79.752 0-144.404 64.652-144.404 144.404v0 525.108c0 79.752 64.652 144.404 144.404 144.404v0h367.575c79.752 0 144.404-64.652 144.404-144.404v0-65.638h13.128c79.752 0 144.404-64.652 144.404-144.404v0-341.319c-0.443-10.296-4.774-19.502-11.552-26.254l-0.001-0.001zM630.149 134.448l154.382 154.382h-154.382zM682.66 879.575c0 36.251-29.387 65.638-65.638 65.638v0h-367.575c-36.251 0-65.638-29.387-65.638-65.638v0-525.108c0-36.251 29.387-65.638 65.638-65.638v0h65.638v380.702c0 79.752 64.652 144.404 144.404 144.404v0h223.17zM774.553 735.17h-315.064c-36.251 0-65.638-29.387-65.638-65.638v0-525.108c0-36.251 29.387-65.638 65.638-65.638v0h91.894v249.426c0.292 21.632 17.751 39.091 39.355 39.383h249.455v301.936c0 36.251-29.387 65.638-65.638 65.638v0z"],"attrs":[{}],"tags":["copy"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":115,"id":91,"name":"copy","prevSize":80,"code":59735},"setIdx":0,"setId":1,"iconIdx":172},{"icon":{"paths":["M894.081 336.465l-323.57-323.57c-7.935-7.944-18.897-12.862-31.009-12.873h-261.55c-88.866 0-160.907 72.041-160.907 160.907v0 702.14c0 88.866 72.041 160.907 160.907 160.907v0h468.093c88.866 0 160.907-72.041 160.907-160.907v0-497.35c-0.494-11.473-5.32-21.731-12.872-29.254l-0.001-0.001zM585.139 149.812l172.024 172.024h-172.024zM746.047 936.209h-468.093c-40.394 0-73.139-32.746-73.139-73.139v0-702.14c0-40.394 32.746-73.139 73.139-73.139v0h219.419v277.931c0.325 24.105 19.779 43.559 43.852 43.884h277.962v453.466c0 40.394-32.746 73.139-73.139 73.139v0z"],"attrs":[{}],"tags":["file"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":114,"id":92,"name":"file","prevSize":80,"code":59736},"setIdx":0,"setId":1,"iconIdx":173},{"icon":{"paths":["M629.028 789.943h-468.114c-88.87 0-160.914-72.044-160.914-160.914v0-468.114c0-88.87 72.044-160.914 160.914-160.914v0h468.114c88.87 0 160.914 72.044 160.914 160.914v0 468.114c0 88.87-72.044 160.914-160.914 160.914v0zM160.914 87.772c-40.395 0-73.142 32.747-73.142 73.142v0 468.114c0 40.395 32.747 73.142 73.142 73.142v0h468.114c40.395 0 73.142-32.747 73.142-73.142v0-468.114c0-40.395-32.747-73.142-73.142-73.142v0z","M863.086 1024h-468.114c-88.87 0-160.914-72.044-160.914-160.914v0-117.028h87.771v117.028c0 40.395 32.747 73.142 73.142 73.142v0h468.114c40.395 0 73.142-32.747 73.142-73.142v0-468.114c0-40.395-32.747-73.142-73.142-73.142v0h-117.028v-87.771h117.028c88.87 0 160.914 72.044 160.914 160.914v0 468.114c0 88.87-72.044 160.914-160.914 160.914v0z"],"attrs":[{},{}],"tags":["clone"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":111,"id":93,"name":"clone","prevSize":80,"code":59733},"setIdx":0,"setId":1,"iconIdx":174},{"icon":{"paths":["M788.756 110.703h-69.189v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-249.081v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-69.189c-84.066 0-152.216 68.15-152.216 152.216v0 608.864c0 84.066 68.15 152.216 152.216 152.216v0h553.514c84.066 0 152.216-68.15 152.216-152.216v0-608.864c0-84.066-68.15-152.216-152.216-152.216v0zM235.244 193.73h69.189v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h249.081v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h69.189c38.212 0 69.189 30.977 69.189 69.189v0 152.216h-691.891v-152.216c0-38.212 30.977-69.189 69.189-69.189v0zM788.756 940.973h-553.514c-38.212 0-69.189-30.977-69.189-69.189v0-373.622h691.891v373.622c0 38.212-30.977 69.189-69.189 69.189v0z","M619.381 626.023c-7.448-7.637-17.839-12.375-29.336-12.375s-21.888 4.738-29.328 12.366l-0.008 0.009-48.71 48.71-48.71-48.71c-7.393-6.903-17.353-11.141-28.301-11.141-22.927 0-41.514 18.586-41.514 41.514 0 10.949 4.238 20.907 11.165 28.325l-0.022-0.025 48.71 48.71-48.71 48.71c-7.637 7.448-12.375 17.839-12.375 29.336s4.738 21.888 12.366 29.328l0.009 0.008c7.171 7.515 17.264 12.187 28.45 12.187 0.311 0 0.623-0.004 0.933-0.010l-0.047 0.001c0.057 0 0.126 0 0.193 0 11.401 0 21.713-4.657 29.139-12.174l48.714-48.714 48.71 48.71c7.43 7.52 17.742 12.178 29.142 12.178 0.067 0 0.136 0 0.204 0h-0.010c0.263 0.006 0.575 0.010 0.886 0.010 11.185 0 21.278-4.673 28.435-12.173l0.014-0.016c7.637-7.448 12.375-17.839 12.375-29.336s-4.738-21.888-12.366-29.328l-0.009-0.008-48.71-48.71 48.71-48.71c7.637-7.448 12.375-17.839 12.375-29.336s-4.738-21.888-12.366-29.328l-0.009-0.008z"],"attrs":[{},{}],"tags":["calendar-times"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":110,"id":94,"name":"calendar-times","prevSize":80,"code":59730},"setIdx":0,"setId":1,"iconIdx":175},{"icon":{"paths":["M788.756 110.703h-69.189v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-249.081v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-69.189c-84.066 0-152.216 68.15-152.216 152.216v0 608.864c0 84.066 68.15 152.216 152.216 152.216v0h553.514c84.066 0 152.216-68.15 152.216-152.216v0-608.864c0-84.066-68.15-152.216-152.216-152.216v0zM235.244 193.73h69.189v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h249.081v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h69.189c38.212 0 69.189 30.977 69.189 69.189v0 152.216h-691.891v-152.216c0-38.212 30.977-69.189 69.189-69.189v0zM788.756 940.973h-553.514c-38.212 0-69.189-30.977-69.189-69.189v0-373.622h691.891v373.622c0 38.212-30.977 69.189-69.189 69.189v0z","M622.702 694.659h-221.406c-22.927 0-41.514 18.586-41.514 41.514s18.586 41.514 41.514 41.514v0h221.406c22.927 0 41.514-18.586 41.514-41.514s-18.586-41.514-41.514-41.514v0z"],"attrs":[{},{}],"tags":["calendar-minus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":109,"id":95,"name":"calendar-minus","prevSize":80,"code":59731},"setIdx":0,"setId":1,"iconIdx":176},{"icon":{"paths":["M788.756 110.703h-69.189v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-249.081v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-69.189c-84.066 0-152.216 68.15-152.216 152.216v0 608.864c0 84.066 68.15 152.216 152.216 152.216v0h553.514c84.066 0 152.216-68.15 152.216-152.216v0-608.864c0-84.066-68.15-152.216-152.216-152.216v0zM235.244 193.73h69.189v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h249.081v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h69.189c38.212 0 69.189 30.977 69.189 69.189v0 152.216h-691.891v-152.216c0-38.212 30.977-69.189 69.189-69.189v0zM788.756 940.973h-553.514c-38.212 0-69.189-30.977-69.189-69.189v0-373.622h691.891v373.622c0 38.212-30.977 69.189-69.189 69.189v0z","M622.702 691.892h-69.189v-69.189c0-22.927-18.586-41.514-41.514-41.514s-41.514 18.586-41.514 41.514v0 69.189h-69.189c-22.927 0-41.514 18.586-41.514 41.514s18.586 41.514 41.514 41.514v0h69.189v69.189c0 22.927 18.586 41.514 41.514 41.514s41.514-18.586 41.514-41.514v0-69.189h69.189c22.927 0 41.514-18.586 41.514-41.514s-18.586-41.514-41.514-41.514v0z"],"attrs":[{},{}],"tags":["calendar-plus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":108,"id":96,"name":"calendar-plus","prevSize":80,"code":59732},"setIdx":0,"setId":1,"iconIdx":177},{"icon":{"paths":["M614.393 512c0 56.549-45.842 102.393-102.393 102.393s-102.393-45.842-102.393-102.393c0-56.549 45.842-102.393 102.393-102.393s102.393 45.842 102.393 102.393z","M614.393 102.431c0 56.549-45.842 102.393-102.393 102.393s-102.393-45.842-102.393-102.393c0-56.549 45.842-102.393 102.393-102.393s102.393 45.842 102.393 102.393z","M614.393 921.569c0 56.549-45.842 102.393-102.393 102.393s-102.393-45.842-102.393-102.393c0-56.549 45.842-102.393 102.393-102.393s102.393 45.842 102.393 102.393z"],"attrs":[{},{},{}],"tags":["ellipsis-v"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":107,"id":97,"name":"ellipsis-v","prevSize":80,"code":59728},"setIdx":0,"setId":1,"iconIdx":178},{"icon":{"paths":["M614.379 512c0 56.54-45.835 102.379-102.379 102.379s-102.379-45.835-102.379-102.379c0-56.54 45.835-102.379 102.379-102.379s102.379 45.835 102.379 102.379z","M1023.886 512c0 56.54-45.835 102.379-102.379 102.379s-102.379-45.835-102.379-102.379c0-56.54 45.835-102.379 102.379-102.379s102.379 45.835 102.379 102.379z","M204.868 512c0 56.54-45.835 102.379-102.379 102.379s-102.379-45.835-102.379-102.379c0-56.54 45.835-102.379 102.379-102.379s102.379 45.835 102.379 102.379z"],"attrs":[{},{},{}],"tags":["ellipsis-h"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":106,"id":98,"name":"ellipsis-h","prevSize":80,"code":59729},"setIdx":0,"setId":1,"iconIdx":179},{"icon":{"paths":["M848.457 1024c-9.363-0.189-18.033-2.998-25.352-7.723l0.191 0.115-311.296-217.088-311.296 217.088c-6.501 4.018-14.382 6.4-22.821 6.4s-16.32-2.381-23.010-6.509l0.189 0.108c-13.4-7.013-22.574-20.486-23.401-36.171l-0.004-0.107v-819.2c0-88.87 72.044-160.914 160.914-160.914v0h438.857c88.87 0 160.914 72.044 160.914 160.914v0 819.2c0 0.048 0 0.104 0 0.159 0 16.646-9.393 31.099-23.169 38.347l-0.237 0.114c-5.911 3.304-12.965 5.254-20.477 5.266h-0.004zM512 702.172c0.137-0.001 0.3-0.003 0.464-0.003 9.223 0 17.782 2.846 24.846 7.706l-0.148-0.096 267.411 186.075v-734.939c0-40.395-32.747-73.142-73.142-73.142v0h-438.857c-40.395 0-73.142 32.747-73.142 73.142v0 734.939l267.411-186.075c6.916-4.764 15.475-7.609 24.698-7.609 0.163 0 0.325 0.001 0.488 0.003h-0.025z"],"attrs":[{}],"tags":["bookmark"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":105,"id":99,"name":"bookmark","prevSize":80,"code":59726},"setIdx":0,"setId":1,"iconIdx":180},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c0-282.769-229.231-512-512-512v0zM936.391 469.333h-157.013c-21.309-143.377-80.98-269.999-168.128-372.54l0.875 1.056c174.421 43.539 304.877 189.937 324.104 369.605l0.163 1.879zM330.524 554.667h362.951c-28.064 140.685-92.065 263.297-182.001 361.829l0.527-0.585c-89.411-97.947-153.411-220.56-180.673-356.452l-0.803-4.792zM330.524 469.333c28.064-140.685 92.065-263.297 182.001-361.829l-0.527 0.585c89.411 97.947 153.411 220.56 180.673 356.452l0.803 4.792zM411.876 97.849c-86.273 101.485-145.944 228.107-166.755 367.427l-0.499 4.057h-157.013c19.389-181.548 149.845-327.945 321.319-370.86l2.948-0.625zM87.609 552.96h157.013c21.309 143.377 80.98 269.999 168.128 372.54l-0.875-1.056c-173.937-43.335-304.18-188.936-324.092-367.845l-0.175-1.933zM612.124 924.444c86.273-101.485 145.944-228.107 166.755-367.427l0.499-4.057h157.013c-18.688 182.253-149.359 329.449-321.317 372.565l-2.949 0.627z"],"attrs":[{}],"tags":["globe"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":104,"id":100,"name":"globe","prevSize":80,"code":59727},"setIdx":0,"setId":1,"iconIdx":181},{"icon":{"paths":["M512 1023.452c-233.911-0.333-423.443-189.864-423.774-423.743v-0.032c0-24.211 19.627-43.839 43.839-43.839s43.839 19.627 43.839 43.839v0c0 185.621 150.475 336.097 336.097 336.097s336.097-150.475 336.097-336.097c0-185.621-150.475-336.097-336.097-336.097v0h-146.13c-24.211 0-43.839-19.627-43.839-43.839s19.627-43.839 43.839-43.839v0h146.13c234.044 0 423.774 189.73 423.774 423.774s-189.73 423.774-423.774 423.774v0z","M512 438.936c-0.060 0-0.133 0-0.204 0-12.039 0-22.929-4.918-30.771-12.856l-175.359-175.359c-7.921-7.931-12.821-18.884-12.821-30.979s4.899-23.048 12.821-30.98v0l175.355-175.355c8.025-8.595 19.423-13.953 32.074-13.953 24.211 0 43.839 19.627 43.839 43.839 0 12.65-5.358 24.048-13.927 32.049l-0.026 0.023-144.376 144.376 144.376 144.376c7.921 7.931 12.821 18.884 12.821 30.979s-4.899 23.048-12.821 30.98v0c-7.846 7.942-18.736 12.86-30.775 12.86-0.071 0-0.144 0-0.215 0h0.011z"],"attrs":[{},{}],"tags":["replay"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":102,"id":101,"name":"replay","prevSize":80,"code":59725},"setIdx":0,"setId":1,"iconIdx":182},{"icon":{"paths":["M632.463 1023.971h-240.928c-24.813-0.335-44.839-20.361-45.174-45.141v-466.83l-322.241-440.294c-5.688-7.337-9.117-16.671-9.117-26.808 0-7.369 1.813-14.314 5.016-20.414l-0.116 0.241c7.747-14.706 22.885-24.586 40.34-24.695h903.493c17.471 0.11 32.608 9.989 40.236 24.445l0.12 0.25c3.089 5.86 4.901 12.805 4.901 20.173 0 10.136-3.43 19.471-9.191 26.908l0.075-0.1-322.241 440.294v466.797c-0.335 24.813-20.361 44.839-45.141 45.174h-0.032zM436.711 933.623h150.58v-436.68c0-0.064 0-0.138 0-0.212 0-9.955 3.401-19.116 9.105-26.383l-0.071 0.093 277.067-380.063h-722.782l278.271 380.063c5.634 7.174 9.035 16.335 9.035 26.29 0 0.075 0 0.15 0 0.224v-0.011z"],"attrs":[{}],"tags":["filter"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":101,"id":102,"name":"filter","prevSize":80,"code":59724},"setIdx":0,"setId":1,"iconIdx":183},{"icon":{"paths":["M863.086 789.943h-117.028c-24.237 0-43.886-19.648-43.886-43.886s19.648-43.886 43.886-43.886v0h117.028c40.395 0 73.142-32.747 73.142-73.142v0-234.058c0-40.395-32.747-73.142-73.142-73.142v0h-702.171c-40.395 0-73.142 32.747-73.142 73.142v0 234.058c0 40.395 32.747 73.142 73.142 73.142v0h117.028c24.237 0 43.886 19.648 43.886 43.886s-19.648 43.886-43.886 43.886v0h-117.028c-88.87 0-160.914-72.044-160.914-160.914v0-234.058c0-88.87 72.044-160.914 160.914-160.914v0h702.171c88.87 0 160.914 72.044 160.914 160.914v0 234.058c0 88.87-72.044 160.914-160.914 160.914v0z","M746.058 321.828c-24.106-0.325-43.561-19.78-43.886-43.854v-190.203h-380.342v190.172c0 24.237-19.648 43.886-43.886 43.886s-43.886-19.648-43.886-43.886v0-204.8c0-40.395 32.747-73.142 73.142-73.142v0h409.6c40.395 0 73.142 32.747 73.142 73.142v0 204.8c-0.325 24.106-19.78 43.561-43.854 43.886h-0.032z","M716.8 1024h-409.6c-40.395 0-73.142-32.747-73.142-73.142v0-409.6c0-40.395 32.747-73.142 73.142-73.142v0h409.6c40.395 0 73.142 32.747 73.142 73.142v0 409.6c0 40.395-32.747 73.142-73.142 73.142v0zM321.828 936.228h380.342v-380.342h-380.342z"],"attrs":[{},{},{}],"tags":["print"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":99,"id":103,"name":"print","prevSize":80,"code":59723},"setIdx":0,"setId":1,"iconIdx":184},{"icon":{"paths":["M980.093 438.861h-585.117c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h585.117c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M984.189 204.814h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M984.189 672.907h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M980.093 906.954h-585.117c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h585.117c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z"],"attrs":[{},{},{},{}],"tags":["align-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":98,"id":104,"name":"align-right","prevSize":80,"code":59718},"setIdx":0,"setId":1,"iconIdx":185},{"icon":{"paths":["M624.033 453.952h-580.479c-24.044 0-43.536-19.492-43.536-43.536s19.492-43.536 43.536-43.536v0h580.479c24.044 0 43.536 19.492 43.536 43.536s-19.492 43.536-43.536 43.536v0z","M980.446 221.761h-928.766c-24.044 0-43.536-19.492-43.536-43.536s19.492-43.536 43.536-43.536v0h928.766c24.044 0 43.536 19.492 43.536 43.536s-19.492 43.536-43.536 43.536v0z","M980.446 686.143h-928.766c-24.044 0-43.536-19.492-43.536-43.536s19.492-43.536 43.536-43.536v0h928.766c24.044 0 43.536 19.492 43.536 43.536s-19.492 43.536-43.536 43.536v0z","M624.033 918.335h-580.479c-24.044 0-43.536-19.492-43.536-43.536s19.492-43.536 43.536-43.536v0h580.479c24.044 0 43.536 19.492 43.536 43.536s-19.492 43.536-43.536 43.536v0z"],"attrs":[{},{},{},{}],"tags":["align-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":97,"id":105,"name":"align-left","prevSize":80,"code":59719},"setIdx":0,"setId":1,"iconIdx":186},{"icon":{"paths":["M804.558 438.861h-585.117c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h585.117c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M980.093 204.814h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M980.093 672.907h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M804.558 906.954h-585.117c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h585.117c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z"],"attrs":[{},{},{},{}],"tags":["align-center"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":96,"id":106,"name":"align-center","prevSize":80,"code":59720},"setIdx":0,"setId":1,"iconIdx":187},{"icon":{"paths":["M980.093 438.861h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M980.093 204.814h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M980.093 672.907h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z","M980.093 906.954h-936.187c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h936.187c24.236 0 43.884 19.648 43.884 43.884s-19.648 43.884-43.884 43.884v0z"],"attrs":[{},{},{},{}],"tags":["align-justify"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":95,"id":107,"name":"align-justify","prevSize":80,"code":59721},"setIdx":0,"setId":1,"iconIdx":188},{"icon":{"paths":["M512 683.439c-94.683 0-171.439-76.755-171.439-171.439s76.755-171.439 171.439-171.439c94.683 0 171.439 76.755 171.439 171.439v0c0 94.683-76.755 171.439-171.439 171.439v0zM512 428.329c-46.211 0-83.671 37.462-83.671 83.671s37.462 83.671 83.671 83.671c46.211 0 83.671-37.462 83.671-83.671v0c0-46.211-37.462-83.671-83.671-83.671v0z","M515.511 1023.977c-71.489-0.329-129.316-58.359-129.316-129.895 0-0.411 0.001-0.823 0.005-1.234v0.063c-0.496-11.009-7.26-20.325-16.788-24.505l-0.181-0.070c-3.653-1.718-7.933-2.721-12.448-2.721-7.858 0-15.007 3.038-20.337 8.003l0.018-0.016c-23.441 23.268-55.642 37.739-91.222 38.032h-0.056c-0.252 0.001-0.55 0.003-0.848 0.003-35.579 0-67.876-14.051-91.644-36.906l0.043 0.041c-23.515-23.508-38.058-55.987-38.058-91.864s14.545-68.356 38.058-91.864v0c5.876-5.37 9.547-13.066 9.547-21.622 0-3.145-0.496-6.173-1.414-9.011l0.058 0.207c-5.723-9.782-16.134-16.274-28.071-16.384h-0.015c-71.692-0.291-129.966-57.335-132.231-128.518l-0.005-0.208c0.332-71.488 58.36-129.312 129.895-129.312 0.206 0 0.413 0 0.618 0.001h-0.032c11.009-0.496 20.325-7.26 24.505-16.788l0.070-0.181c1.718-3.653 2.721-7.933 2.721-12.448 0-7.858-3.038-15.007-8.003-20.337l0.016 0.018c-23.268-23.441-37.739-55.642-38.032-91.222v-0.056c-0.012-0.671-0.019-1.462-0.019-2.255 0-35.137 14.077-66.986 36.901-90.213l-0.018 0.019c23.508-23.515 55.987-38.058 91.864-38.058s68.356 14.545 91.864 38.058v0c6.075 5.789 14.317 9.35 23.391 9.35 3.125 0 6.153-0.422 9.028-1.214l-0.239 0.056c10.177-5.653 17.174-15.957 18.131-27.962l0.008-0.123c0-0.019 0-0.041 0-0.063 0-71.915 57.154-130.481 128.518-132.752l0.208-0.005c71.237 0.66 128.732 58.56 128.732 129.89 0 0.413-0.001 0.826-0.005 1.238v-0.063c0.477 11.185 6.924 20.76 16.218 25.665l0.166 0.080c2.998 1.135 6.465 1.792 10.084 1.792 7.909 0 15.084-3.138 20.35-8.236l-0.008 0.007c23.441-23.268 55.642-37.739 91.222-38.032h0.056c1.163-0.038 2.53-0.062 3.903-0.062 34.624 0 65.95 14.12 88.535 36.914l0.010 0.010c23.515 23.508 38.058 55.987 38.058 91.864s-14.545 68.356-38.058 91.864v0c-4.99 5.871-8.027 13.54-8.027 21.916 0 3.667 0.581 7.197 1.657 10.505l-0.067-0.24c5.653 10.177 15.957 17.174 27.962 18.131l0.123 0.008c71.192 0.937 128.814 57.74 131.062 128.518l0.005 0.208c-0.66 71.237-58.56 128.732-129.89 128.732-0.413 0-0.826-0.001-1.238-0.005h0.063c-11.185 0.477-20.76 6.924-25.665 16.218l-0.080 0.166c-1.135 2.998-1.792 6.465-1.792 10.084 0 7.909 3.138 15.084 8.236 20.35l-0.007-0.008c23.268 23.441 37.739 55.642 38.032 91.222v0.056c0.012 0.671 0.019 1.462 0.019 2.255 0 35.137-14.077 66.986-36.901 90.213l0.018-0.019c-23.508 23.515-55.987 38.058-91.864 38.058s-68.356-14.545-91.864-38.058v0c-5.258-5.092-12.433-8.23-20.341-8.23-3.62 0-7.086 0.657-10.287 1.86l0.202-0.066c-9.782 5.723-16.274 16.134-16.384 28.071v0.015c-0.937 71.192-57.74 128.814-128.518 131.062l-0.208 0.005zM356.944 777.643c0.372-0.004 0.812-0.007 1.252-0.007 15.867 0 30.927 3.45 44.471 9.643l-0.669-0.274c41.82 17.762 70.846 58.017 71.967 105.181l0.003 0.14c-0.003 0.185-0.004 0.402-0.004 0.62 0 23.297 18.4 42.297 41.461 43.26l0.088 0.003c23.005-1.873 40.964-21.005 40.964-44.331 0-0.254-0.003-0.509-0.007-0.761v0.038c0.3-47.575 28.116-88.582 68.322-107.933l0.723-0.313c13.278-5.676 28.727-8.976 44.947-8.976 32.246 0 61.445 13.042 82.611 34.139l-0.003-0.003c7.488 7.488 17.831 12.119 29.255 12.119 22.85 0 41.374-18.524 41.374-41.374 0-11.425-4.631-21.769-12.119-29.255v0c-20.848-21.12-33.725-50.154-33.725-82.193 0-16.378 3.364-31.971 9.44-46.123l-0.291 0.761c18.745-40.97 59.339-68.943 106.478-69.044h0.014c0.185 0.003 0.403 0.004 0.621 0.004 22.975 0 41.712-18.138 42.674-40.875l0.003-0.088c-1.57-22.953-20.575-40.976-43.788-40.976-0.446 0-0.889 0.007-1.332 0.019l0.064-0.001c-47.872-1.343-88.773-29.867-107.929-70.632l-0.317-0.752c-5.566-13.342-8.8-28.841-8.8-45.097 0-32.536 12.954-62.046 33.987-83.655l-0.026 0.027c7.488-7.488 12.119-17.831 12.119-29.255 0-22.85-18.524-41.374-41.374-41.374-11.425 0-21.769 4.631-29.255 12.119v0c-20.824 19.383-48.841 31.278-79.638 31.278-63.284 0-114.836-50.233-116.956-113.001l-0.005-0.195c0.003-0.185 0.004-0.403 0.004-0.621 0-22.975-18.138-41.712-40.875-42.674l-0.088-0.003c-22.953 1.57-40.976 20.575-40.976 43.788 0 0.446 0.007 0.889 0.019 1.332l-0.001-0.064c-1.343 47.872-29.867 88.773-70.632 107.929l-0.752 0.317c-13.342 5.566-28.841 8.8-45.097 8.8-32.536 0-62.046-12.954-83.655-33.987l0.027 0.026c-7.488-7.488-17.831-12.119-29.255-12.119-22.85 0-41.374 18.524-41.374 41.374 0 11.425 4.631 21.769 12.119 29.255v0c20.603 21.075 33.316 49.942 33.316 81.777 0 16.537-3.43 32.274-9.617 46.535l0.292-0.757c-17.762 41.82-58.017 70.846-105.181 71.967l-0.14 0.003c-0.185-0.003-0.402-0.004-0.62-0.004-23.297 0-42.297 18.4-43.26 41.461l-0.003 0.088c1.873 23.005 21.005 40.964 44.331 40.964 0.254 0 0.509-0.003 0.761-0.007h-0.038c47.575 0.3 88.582 28.116 107.933 68.322l0.313 0.723c5.676 13.278 8.976 28.727 8.976 44.947 0 32.246-13.042 61.445-34.139 82.611l0.003-0.003c-7.488 7.488-12.119 17.831-12.119 29.255 0 22.85 18.524 41.374 41.374 41.374 11.425 0 21.769-4.631 29.255-12.119v0c21.423-20.481 50.464-33.15 82.462-33.352h0.040zM825.038 639.555v0z"],"attrs":[{},{}],"tags":["cog"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":94,"id":108,"name":"cog","prevSize":80,"code":59722},"setIdx":0,"setId":1,"iconIdx":189},{"icon":{"paths":["M815.587 856.985c-22.863 0-41.398-18.535-41.398-41.398s18.535-41.398 41.398-41.398v0c91.628 0 124.194-45.813 124.194-175.528-8.48-95.471-83.922-170.912-178.638-179.338l-0.753-0.054c-19.914 0.52-38.817 4.118-56.489 10.331l1.291-0.396c-4.655 2-10.071 3.163-15.761 3.163-18.775 0-34.592-12.668-39.37-29.923l-0.067-0.287c-38.556-117.836-147.511-201.455-275.996-201.455-159.262 0-288.519 128.478-289.778 287.443l-0.001 0.119c0 177.736 8.28 285.923 124.194 285.923 22.863 0 41.398 18.535 41.398 41.398s-18.535 41.398-41.398 41.398v0c-206.991 0-206.991-213.062-206.991-368.719-0.047-2.197-0.074-4.787-0.074-7.382 0-205.772 166.811-372.583 372.583-372.583 155.102 0 288.069 94.773 344.148 229.569l0.909 2.466c12.977-2.459 27.905-3.866 43.161-3.866 0.351 0 0.701 0.001 1.052 0.003h-0.054c141.071 8.919 253.269 121.118 262.147 261.377l0.041 0.811c-2.759 70.652-2.759 258.324-209.75 258.324z","M512 908.319c-0.057 0-0.125 0-0.193 0-11.369 0-21.653-4.644-29.058-12.14l-156.213-156.213c-6.884-7.373-11.11-17.304-11.11-28.222 0-22.863 18.535-41.398 41.398-41.398 10.919 0 20.849 4.226 28.246 11.134l-0.025-0.022 126.954 126.954 126.954-126.954c7.373-6.884 17.304-11.11 28.222-11.11 22.863 0 41.398 18.535 41.398 41.398 0 10.919-4.226 20.849-11.134 28.246l0.022-0.025-156.209 158.416c-7.128 6.219-16.515 10.011-26.787 10.011-0.868 0-1.73-0.027-2.585-0.080l0.116 0.006z","M512 908.319c-22.863 0-41.398-18.535-41.398-41.398v0-351.056c0-22.863 18.535-41.398 41.398-41.398s41.398 18.535 41.398 41.398v0 351.056c0 22.863-18.535 41.398-41.398 41.398v0z"],"attrs":[{},{},{}],"tags":["cloud-download"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":93,"id":109,"name":"cloud-download","prevSize":80,"code":59715},"setIdx":0,"setId":1,"iconIdx":190},{"icon":{"paths":["M815.587 856.985c-22.863 0-41.398-18.535-41.398-41.398s18.535-41.398 41.398-41.398v0c91.628 0 124.194-45.813 124.194-175.528-8.48-95.471-83.922-170.912-178.638-179.338l-0.753-0.054c-19.914 0.52-38.817 4.118-56.489 10.331l1.291-0.396c-4.655 2-10.071 3.163-15.761 3.163-18.775 0-34.592-12.668-39.37-29.923l-0.067-0.287c-38.556-117.836-147.511-201.455-275.996-201.455-159.262 0-288.519 128.478-289.778 287.443l-0.001 0.119c0 189.879 41.951 285.923 124.194 285.923 22.863 0 41.398 18.535 41.398 41.398s-18.535 41.398-41.398 41.398v0c-137.994 0-206.991-124.194-206.991-368.719-0.047-2.197-0.074-4.787-0.074-7.382 0-205.772 166.811-372.583 372.583-372.583 155.102 0 288.069 94.773 344.148 229.569l0.909 2.466c12.977-2.459 27.905-3.866 43.161-3.866 0.351 0 0.701 0.001 1.052 0.003h-0.054c141.071 8.919 253.269 121.118 262.147 261.377l0.041 0.811c-2.759 70.652-2.759 258.324-209.75 258.324z","M668.209 713.47c-11.406-0.137-21.709-4.745-29.262-12.15l-126.947-126.947-126.954 126.954c-7.373 6.884-17.304 11.11-28.222 11.11-22.863 0-41.398-18.535-41.398-41.398 0-10.919 4.226-20.849 11.134-28.246l-0.022 0.025 156.209-156.209c7.427-7.616 17.79-12.341 29.254-12.341s21.827 4.725 29.246 12.331l0.008 0.009 156.209 156.209c7.48 7.489 12.108 17.832 12.108 29.254s-4.626 21.765-12.108 29.256v0c-7.6 7.307-17.868 11.888-29.205 12.143l-0.049 0.001z","M512 908.319c-22.863 0-41.398-18.535-41.398-41.398v0-351.056c0-22.863 18.535-41.398 41.398-41.398s41.398 18.535 41.398 41.398v0 351.056c0 22.863-18.535 41.398-41.398 41.398v0z"],"attrs":[{},{},{}],"tags":["cloud-upload"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":92,"id":110,"name":"cloud-upload","prevSize":80,"code":59716},"setIdx":0,"setId":1,"iconIdx":191},{"icon":{"paths":["M761.085 885.627h-387.465c-206.337-0.017-373.598-167.289-373.598-373.627 0-206.348 167.278-373.627 373.627-373.627 152.926 0 284.392 91.876 342.215 223.439l0.939 2.397c13.246-2.68 28.531-4.285 44.166-4.428l0.115-0.001c141.466 8.944 253.978 121.457 262.882 262.11l0.042 0.813c0 145.209-117.715 262.923-262.923 262.923v0zM373.619 221.401c-160.494 0-290.599 130.105-290.599 290.599s130.105 290.599 290.599 290.599v0h387.465c99.226-0.314 179.581-80.668 179.895-179.864v-0.030c-8.504-95.738-84.157-171.391-179.139-179.84l-0.755-0.054c-19.989 0.459-38.949 4.276-56.529 10.907l1.178-0.389c-4.752 1.958-10.27 3.095-16.052 3.095s-11.3-1.136-16.34-3.199l0.288 0.104c-9.801-5.017-17.16-13.636-20.404-24.069l-0.077-0.287c-36.721-121.012-147.288-207.574-278.073-207.574-0.511 0-1.022 0.001-1.533 0.004h0.079z"],"attrs":[{}],"tags":["cloud"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":91,"id":111,"name":"cloud","prevSize":80,"code":59717},"setIdx":0,"setId":1,"iconIdx":192},{"icon":{"paths":["M45.313 1022.421c-0.136 0.001-0.296 0.003-0.456 0.003-11.964 0-22.806-4.803-30.702-12.588l0.006 0.006c-8.248-8.149-13.356-19.461-13.356-31.966 0-1.401 0.065-2.787 0.19-4.155l-0.013 0.176 18.572-230.049c0.852-11.108 5.734-20.935 13.169-28.147l662.6-662.6c34.079-31.973 80.059-51.615 130.628-51.615 2.096 0 4.186 0.034 6.267 0.101l-0.303-0.008c52.335 0.418 99.758 21.108 134.873 54.592l-0.079-0.074c34.783 35.688 56.235 84.513 56.235 138.348 0 50.427-18.822 96.457-49.825 131.448l0.181-0.208-663.188 665.585c-7.185 7.16-16.72 11.966-27.348 13.161l-0.211 0.020-233.044 20.968zM105.22 767.211l-12.581 164.15 164.15-14.978 653.004-654.202c15.132-17.82 24.333-41.087 24.333-66.503 0-56.908-46.133-103.043-103.043-103.043-0.341 0-0.681 0.001-1.021 0.006h0.052c-1.828-0.124-3.962-0.194-6.112-0.194-25.163 0-48.075 9.635-65.249 25.419l0.069-0.063zM727.071 84.852v0z"],"attrs":[{}],"tags":["pencil"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":90,"id":112,"name":"pencil","prevSize":80,"code":59714},"setIdx":0,"setId":1,"iconIdx":193},{"icon":{"paths":["M617.025 525.129c-108.758 0-196.923-88.165-196.923-196.923s88.165-196.923 196.923-196.923c108.758 0 196.923 88.165 196.923 196.923v0c0 108.758-88.165 196.923-196.923 196.923v0zM617.025 210.052c-65.254 0-118.154 52.9-118.154 118.154s52.9 118.154 118.154 118.154c65.254 0 118.154-52.9 118.154-118.154v0c0-65.254-52.9-118.154-118.154-118.154v0z","M984.615 892.718c-21.633-0.292-39.093-17.751-39.385-39.356v-0.028c0-102.4-55.664-170.667-328.206-170.667s-328.206 68.267-328.206 170.667c0 21.751-17.633 39.385-39.385 39.385s-39.385-17.633-39.385-39.385v0c0-249.436 285.145-249.436 406.975-249.436s406.975 0 406.975 249.436c-0.292 21.633-17.751 39.093-39.356 39.385h-0.028z","M318.753 567.664h-16.804c-80.61-8.022-143.044-75.489-143.044-157.538 0-87.412 70.862-158.273 158.273-158.273 5.362 0 10.663 0.267 15.888 0.788l-0.66-0.053c21.012 0.932 37.694 18.192 37.694 39.348 0 21.751-17.633 39.385-39.385 39.385-2.183 0-4.326-0.177-6.414-0.519l0.228 0.031c-2.281-0.241-4.928-0.378-7.607-0.378-18.98 0-36.35 6.897-49.738 18.321l0.107-0.089c-15.663 12.706-26.198 31.205-28.33 52.186l-0.027 0.326c-0.273 2.455-0.43 5.301-0.43 8.183 0 40.775 31.191 74.267 71.015 77.915l0.306 0.022c2.052 0.186 4.437 0.293 6.848 0.293 15.535 0 30.039-4.409 42.331-12.043l-0.342 0.198c5.898-3.695 13.065-5.886 20.742-5.886 21.812 0 39.494 17.682 39.494 39.494 0 14.133-7.424 26.533-18.586 33.511l-0.166 0.097c-23.058 14.912-51.098 24.022-81.222 24.678l-0.174 0.002z","M39.385 853.333c-21.633-0.292-39.093-17.751-39.385-39.356v-0.028c0-141.785 37.809-236.308 223.179-236.308 21.751 0 39.385 17.633 39.385 39.385s-17.633 39.385-39.385 39.385v0c-123.406 0-144.41 39.385-144.41 157.538-0.292 21.633-17.751 39.093-39.356 39.385h-0.028z"],"attrs":[{},{},{},{}],"tags":["users"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":88,"id":113,"name":"users","prevSize":80,"code":59713},"setIdx":0,"setId":1,"iconIdx":194},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M682.667 554.667h-170.667c-23.436-0.316-42.351-19.231-42.667-42.636v-284.475c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 241.777h128c23.564 0 42.667 19.103 42.667 42.667s-19.103 42.667-42.667 42.667v0z"],"attrs":[{},{}],"tags":["clock"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":87,"id":114,"name":"clock","prevSize":80,"code":59712},"setIdx":0,"setId":1,"iconIdx":195},{"icon":{"paths":["M512 556.52c-122.938 0-222.599-99.66-222.599-222.599s99.66-222.599 222.599-222.599c122.938 0 222.599 99.66 222.599 222.599v0c0 122.938-99.66 222.599-222.599 222.599v0zM512 200.362c-73.762 0-133.559 59.797-133.559 133.559s59.797 133.559 133.559 133.559c73.762 0 133.559-59.797 133.559-133.559v0c0-73.762-59.797-133.559-133.559-133.559v0z","M927.518 972.038c-24.454-0.33-44.19-20.066-44.52-44.488v-0.032c0-115.751-62.922-192.919-370.998-192.919s-370.998 77.168-370.998 192.919c0 24.587-19.932 44.52-44.52 44.52s-44.52-19.932-44.52-44.52v0c0-281.959 322.323-281.959 460.038-281.959s460.038 0 460.038 281.959c-0.33 24.454-20.066 44.19-44.488 44.52h-0.032z","M1031.396 556.52h-207.758c-24.587 0-44.52-19.932-44.52-44.52s19.932-44.52 44.52-44.52v0h207.758c24.587 0 44.52 19.932 44.52 44.52s-19.932 44.52-44.52 44.52v0z"],"attrs":[{},{},{}],"tags":["user-minus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":83,"id":115,"name":"user-minus","prevSize":80,"code":59710},"setIdx":0,"setId":1,"iconIdx":196},{"icon":{"paths":["M512 556.52c-122.938 0-222.599-99.66-222.599-222.599s99.66-222.599 222.599-222.599c122.938 0 222.599 99.66 222.599 222.599v0c0 122.938-99.66 222.599-222.599 222.599v0zM512 200.362c-73.762 0-133.559 59.797-133.559 133.559s59.797 133.559 133.559 133.559c73.762 0 133.559-59.797 133.559-133.559v0c0-73.762-59.797-133.559-133.559-133.559v0z","M927.518 972.038c-24.454-0.33-44.19-20.066-44.52-44.488v-0.032c0-115.751-62.922-192.919-370.998-192.919s-370.998 77.168-370.998 192.919c0 24.587-19.932 44.52-44.52 44.52s-44.52-19.932-44.52-44.52v0c0-281.959 322.323-281.959 460.038-281.959s460.038 0 460.038 281.959c-0.33 24.454-20.066 44.19-44.488 44.52h-0.032z","M927.518 660.4c-24.454-0.33-44.19-20.066-44.52-44.488v-207.79c0-24.587 19.932-44.52 44.52-44.52s44.52 19.932 44.52 44.52v0 207.758c-0.33 24.454-20.066 44.19-44.488 44.52h-0.032z","M1031.396 556.52h-207.758c-24.587 0-44.52-19.932-44.52-44.52s19.932-44.52 44.52-44.52v0h207.758c24.587 0 44.52 19.932 44.52 44.52s-19.932 44.52-44.52 44.52v0z"],"attrs":[{},{},{},{}],"tags":["user-plus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":86,"id":116,"name":"user-plus","prevSize":80,"code":59711},"setIdx":0,"setId":1,"iconIdx":197},{"icon":{"paths":["M979.856 319.009h-935.714c-24.224 0-43.862-19.638-43.862-43.862s19.638-43.862 43.862-43.862h935.714c24.224 0 43.862 19.638 43.862 43.862s-19.638 43.862-43.862 43.862v0z","M771.66 1023.718h-519.321c-2.865 0.208-6.208 0.328-9.577 0.328-74.752 0-135.856-58.437-140.12-132.119l-0.018-0.377v-613.477c0-24.224 19.638-43.862 43.862-43.862s43.862 19.638 43.862 43.862v0 613.477c0 23.977 27.486 44.447 58.483 44.447h519.321c32.75 0 58.483-20.468 58.483-44.447v-613.477c0-26.162 21.208-47.37 47.37-47.37s47.37 21.208 47.37 47.37v0 613.477c-4.282 74.060-65.385 132.496-140.136 132.496-3.37 0-6.712-0.119-10.022-0.352l0.445 0.025zM778.678 263.452c-0.175 0.003-0.382 0.004-0.589 0.004-23.9 0-43.276-19.376-43.276-43.276 0-0.207 0.001-0.414 0.004-0.62v0.032-87.138c0-23.977-28.071-44.447-58.483-44.447h-326.915c-32.166 0-58.483 20.468-58.483 44.447v87.138c0 24.224-19.638 43.862-43.862 43.862s-43.862-19.638-43.862-43.862v0-87.138c4.697-74.022 65.883-132.278 140.675-132.278 1.945 0 3.88 0.040 5.806 0.118l-0.276-0.008h325.161c2.174-0.119 4.719-0.188 7.28-0.188 74.82 0 136.023 58.3 140.66 131.951l0.021 0.407v87.138c0.003 0.174 0.004 0.38 0.004 0.585 0 24.224-19.638 43.862-43.862 43.862-0.001 0-0.003 0-0.004 0v0z","M407.901 804.41c-24.092-0.325-43.537-19.769-43.862-43.83v-264.955c0-24.224 19.638-43.862 43.862-43.862s43.862 19.638 43.862 43.862v0 264.339c0.003 0.174 0.004 0.38 0.004 0.585 0 24.224-19.638 43.862-43.862 43.862-0.001 0-0.003 0-0.004 0v0z","M616.099 804.41c-24.224 0-43.862-19.638-43.862-43.862v0-264.924c0-24.224 19.638-43.862 43.862-43.862s43.862 19.638 43.862 43.862v0 264.339c0 0.001 0 0.003 0 0.004 0 24.342-19.568 44.112-43.83 44.443h-0.032z"],"attrs":[{},{},{},{}],"tags":["trash"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":81,"id":117,"name":"trash","prevSize":80,"code":59709},"setIdx":0,"setId":1,"iconIdx":198},{"icon":{"paths":["M863.070 0.023h-702.14c-88.866 0-160.907 72.041-160.907 160.907v0 351.070c0 24.236 19.648 43.884 43.884 43.884s43.884-19.648 43.884-43.884v0-351.070c0-40.394 32.746-73.139 73.139-73.139v0h702.14c40.394 0 73.139 32.746 73.139 73.139v0 702.14c0 40.394-32.746 73.139-73.139 73.139v0h-351.070c-24.236 0-43.884 19.648-43.884 43.884s19.648 43.884 43.884 43.884v0h351.070c88.866 0 160.907-72.041 160.907-160.907v0-702.14c0-88.866-72.041-160.907-160.907-160.907v0z","M465.775 581.628c5.003 2.189 10.831 3.478 16.956 3.511h234.059c24.236 0 43.884-19.648 43.884-43.884s-19.648-43.884-43.884-43.884v0h-128.141l188.408-188.408c7.297-7.815 11.777-18.343 11.777-29.916 0-24.236-19.648-43.884-43.884-43.884-11.574 0-22.101 4.48-29.942 11.802l0.026-0.023-188.408 188.408v-128.141c0-24.236-19.648-43.884-43.884-43.884s-43.884 19.648-43.884 43.884v0 234.047c0.033 6.137 1.322 11.965 3.62 17.252l-0.11-0.284c4.316 10.739 12.665 19.089 23.125 23.305l0.28 0.099z","M277.953 643.651h-175.535c-56.418 0.33-102.065 45.976-102.396 102.364v175.567c0.33 56.418 45.976 102.065 102.364 102.396h175.567c56.418-0.33 102.065-45.976 102.396-102.364v-175.567c-0.33-56.418-45.976-102.065-102.364-102.396h-0.032zM292.581 921.582c0 8.079-6.55 14.628-14.628 14.628v0h-175.535c-8.079 0-14.628-6.55-14.628-14.628v0-175.535c0-8.079 6.55-14.628 14.628-14.628v0h175.535c8.079 0 14.628 6.55 14.628 14.628v0z"],"attrs":[{},{},{}],"tags":["window-minimize"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":80,"id":118,"name":"window-minimize","prevSize":80,"code":59706},"setIdx":0,"setId":1,"iconIdx":199},{"icon":{"paths":["M863.070 1023.977h-351.070c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h351.070c40.394 0 73.139-32.746 73.139-73.139v0-702.14c0-40.394-32.746-73.139-73.139-73.139v0h-702.14c-40.394 0-73.139 32.746-73.139 73.139v0 351.070c0 24.236-19.648 43.884-43.884 43.884s-43.884-19.648-43.884-43.884v0-351.070c0-88.866 72.041-160.907 160.907-160.907v0h702.14c88.866 0 160.907 72.041 160.907 160.907v0 702.14c0 88.866-72.041 160.907-160.907 160.907v0z","M746.047 555.884c-24.105-0.325-43.559-19.779-43.884-43.852v-190.195h-190.163c-24.236 0-43.884-19.648-43.884-43.884s19.648-43.884 43.884-43.884v0h234.047c24.105 0.325 43.559 19.779 43.884 43.852v234.079c-0.325 24.105-19.779 43.559-43.852 43.884h-0.032z","M482.745 585.139c-11.709-0.922-21.991-6.371-29.214-14.58l-0.041-0.048c-6.935-7.728-11.175-17.996-11.175-29.255s4.24-21.528 11.211-29.297l-0.036 0.041 263.303-263.303c7.815-7.297 18.343-11.777 29.916-11.777 24.236 0 43.884 19.648 43.884 43.884 0 11.574-4.48 22.101-11.802 29.942l0.023-0.026-266.813 259.792c-7.264 8.256-17.547 13.707-29.106 14.619l-0.151 0.010z","M277.953 1023.977h-175.535c-56.418-0.33-102.065-45.976-102.396-102.364v-175.567c0.33-56.418 45.976-102.065 102.364-102.396h175.567c56.418 0.33 102.065 45.976 102.396 102.364v175.567c-0.33 56.418-45.976 102.065-102.364 102.396h-0.032zM102.418 731.419c-8.079 0-14.628 6.55-14.628 14.628v0 175.535c0 8.079 6.55 14.628 14.628 14.628v0h175.535c8.079 0 14.628-6.55 14.628-14.628v0-175.535c0-8.079-6.55-14.628-14.628-14.628v0z"],"attrs":[{},{},{},{}],"tags":["window-maximize"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":79,"id":119,"name":"window-maximize","prevSize":80,"code":59707},"setIdx":0,"setId":1,"iconIdx":200},{"icon":{"paths":["M862.106 1022.571h-700.213c-88.622 0-160.465-71.843-160.465-160.465v0-700.213c0-88.622 71.843-160.465 160.465-160.465v0h350.106c24.17 0 43.763 19.594 43.763 43.763s-19.594 43.763-43.763 43.763v0h-350.106c-40.283 0-72.938 32.656-72.938 72.938v0 700.213c0 40.283 32.656 72.938 72.938 72.938v0h700.213c40.283 0 72.938-32.656 72.938-72.938v0-350.106c0-24.17 19.594-43.763 43.763-43.763s43.763 19.594 43.763 43.763v0 350.106c0 88.622-71.843 160.465-160.465 160.465v0z","M978.808 322.359c-24.038-0.324-43.439-19.725-43.763-43.732v-189.673h-189.641c-24.17 0-43.763-19.594-43.763-43.763s19.594-43.763 43.763-43.763v0h233.405c24.038 0.324 43.439 19.725 43.763 43.732v233.436c-0.324 24.038-19.725 43.439-43.732 43.763h-0.031z","M599.527 468.237c-11.677-0.919-21.931-6.354-29.134-14.54l-0.041-0.048c-6.916-7.706-11.145-17.947-11.145-29.175s4.229-21.469 11.18-29.216l-0.036 0.041 379.281-379.281c8.011-8.58 19.39-13.929 32.018-13.929 24.17 0 43.763 19.594 43.763 43.763 0 12.628-5.349 24.007-13.903 31.994l-0.026 0.023-382.782 375.78c-7.244 8.233-17.498 13.669-29.026 14.579l-0.15 0.010z"],"attrs":[{},{},{}],"tags":["external-link"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":78,"id":120,"name":"external-link","prevSize":80,"code":59708},"setIdx":0,"setId":1,"iconIdx":201},{"icon":{"paths":["M512 1023.452c-234.044 0-423.774-189.73-423.774-423.774s189.73-423.774 423.774-423.774v0h146.13c24.211 0 43.839 19.627 43.839 43.839s-19.627 43.839-43.839 43.839v0h-146.13c-185.621 0-336.097 150.475-336.097 336.097s150.475 336.097 336.097 336.097c185.621 0 336.097-150.475 336.097-336.097v0c0-24.211 19.627-43.839 43.839-43.839s43.839 19.627 43.839 43.839v0c-0.333 233.911-189.864 423.443-423.743 423.774h-0.032z","M512 438.936c-0.060 0-0.133 0-0.204 0-12.039 0-22.929-4.918-30.771-12.856l-0.004-0.004c-7.921-7.931-12.821-18.884-12.821-30.979s4.899-23.048 12.821-30.98v0l144.376-144.376-144.376-144.376c-8.595-8.025-13.953-19.423-13.953-32.074 0-24.211 19.627-43.839 43.839-43.839 12.65 0 24.048 5.358 32.049 13.927l0.023 0.026 175.355 175.355c7.921 7.931 12.821 18.884 12.821 30.979s-4.899 23.048-12.821 30.98v0l-175.355 175.355c-7.846 7.942-18.736 12.86-30.775 12.86-0.071 0-0.144 0-0.215 0h0.011z"],"attrs":[{},{}],"tags":["refresh"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":77,"id":121,"name":"refresh","prevSize":80,"code":59704},"setIdx":0,"setId":1,"iconIdx":202},{"icon":{"paths":["M512 528.516c-136.816 0-247.725-110.91-247.725-247.725s110.91-247.725 247.725-247.725c136.816 0 247.725 110.91 247.725 247.725v0c0 136.816-110.91 247.725-247.725 247.725v0zM512 132.155c-82.088 0-148.635 66.547-148.635 148.635s66.547 148.635 148.635 148.635c82.088 0 148.635-66.547 148.635-148.635v0c0-82.088-66.547-148.635-148.635-148.635v0z","M974.421 990.935c-27.214-0.367-49.178-22.331-49.545-49.509v-0.036c0-128.817-70.024-214.696-412.876-214.696s-412.876 85.879-412.876 214.696c0 27.363-22.182 49.545-49.545 49.545s-49.545-22.182-49.545-49.545v0c0-313.786 358.706-313.786 511.966-313.786s511.966 0 511.966 313.786c-0.367 27.214-22.331 49.178-49.509 49.545h-0.036z"],"attrs":[{},{}],"tags":["user"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":76,"id":122,"name":"user","prevSize":80,"code":59705},"setIdx":0,"setId":1,"iconIdx":203},{"icon":{"paths":["M980.247 964.701h-936.496c-16.088-0.051-30.159-8.633-37.933-21.458l-0.111-0.198c-3.59-6.323-5.705-13.888-5.705-21.949s2.115-15.627 5.823-22.173l-0.117 0.224 468.247-819.433c8.296-12.379 22.232-20.419 38.044-20.419s29.748 8.039 37.942 20.254l0.104 0.165 468.247 819.433c3.59 6.323 5.705 13.888 5.705 21.949s-2.115 15.627-5.823 22.173l0.117-0.224c-7.885 13.022-21.958 21.606-38.038 21.657h-0.007zM119.257 876.905h785.486l-392.743-687.154z","M512 642.78c-24.113-0.325-43.573-19.786-43.898-43.866v-204.89c0-24.244 19.654-43.898 43.898-43.898s43.898 19.654 43.898 43.898v0 204.858c-0.325 24.113-19.786 43.573-43.866 43.898h-0.032z","M512 818.373c-24.113-0.325-43.573-19.786-43.898-43.866v-29.297c0-24.244 19.654-43.898 43.898-43.898s43.898 19.654 43.898 43.898v0 29.265c-0.325 24.113-19.786 43.573-43.866 43.898h-0.032z"],"attrs":[{},{},{}],"tags":["exclamation-triangle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":75,"id":123,"name":"exclamation-triangle","prevSize":80,"code":59682},"setIdx":0,"setId":1,"iconIdx":204},{"icon":{"paths":["M788.745 110.712h-69.186v-69.186c0-22.926-18.586-41.512-41.512-41.512s-41.512 18.586-41.512 41.512v0 69.186h-249.071v-69.186c0-22.926-18.586-41.512-41.512-41.512s-41.512 18.586-41.512 41.512v0 69.186h-69.186c-84.063 0-152.209 68.147-152.209 152.209v0 608.839c0 84.063 68.147 152.209 152.209 152.209v0h553.491c84.063 0 152.209-68.147 152.209-152.209v0-608.839c0-84.063-68.147-152.209-152.209-152.209v0zM235.255 193.735h69.186v69.186c0 22.926 18.586 41.512 41.512 41.512s41.512-18.586 41.512-41.512v0-69.186h249.071v69.186c0 22.926 18.586 41.512 41.512 41.512s41.512-18.586 41.512-41.512v0-69.186h69.186c38.21 0 69.186 30.976 69.186 69.186v0 152.209h-691.862v-152.209c0-38.21 30.976-69.186 69.186-69.186v0zM788.745 940.947h-553.491c-38.21 0-69.186-30.976-69.186-69.186v0-373.606h691.862v373.606c0 38.21-30.976 69.186-69.186 69.186v0z"],"attrs":[{}],"tags":["calendar"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":74,"id":124,"name":"calendar","prevSize":80,"code":59687},"setIdx":0,"setId":1,"iconIdx":205},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M625.777 782.223c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-227.56-227.56c-7.709-7.719-12.479-18.379-12.479-30.151s4.768-22.432 12.479-30.152v0l227.556-227.556c7.599-7.095 17.835-11.451 29.087-11.451 23.564 0 42.667 19.103 42.667 42.667 0 11.253-4.356 21.488-11.475 29.112l0.023-0.025-197.404 197.404 197.404 197.404c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z"],"attrs":[{},{}],"tags":["chevron-circle-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":73,"id":125,"name":"chevron-circle-left","prevSize":80,"code":59688},"setIdx":0,"setId":1,"iconIdx":206},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M512 668.444c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-227.56-227.56c-7.095-7.599-11.451-17.835-11.451-29.087 0-23.564 19.103-42.667 42.667-42.667 11.253 0 21.488 4.356 29.112 11.475l-0.025-0.023 197.404 197.404 197.404-197.404c7.599-7.095 17.835-11.451 29.087-11.451 23.564 0 42.667 19.103 42.667 42.667 0 11.253-4.356 21.488-11.475 29.112l0.023-0.025-227.556 227.556c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z"],"attrs":[{},{}],"tags":["chevron-circle-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":70,"id":126,"name":"chevron-circle-down","prevSize":80,"code":59689},"setIdx":0,"setId":1,"iconIdx":207},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M398.223 782.223c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-0.004-0.004c-7.709-7.719-12.479-18.379-12.479-30.151s4.768-22.432 12.479-30.152v0l197.404-197.404-197.404-197.404c-7.095-7.599-11.451-17.835-11.451-29.087 0-23.564 19.103-42.667 42.667-42.667 11.253 0 21.488 4.356 29.112 11.475l-0.025-0.023 227.556 227.556c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0l-227.556 227.556c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z"],"attrs":[{},{}],"tags":["chevron-circle-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":69,"id":127,"name":"chevron-circle-right","prevSize":80,"code":59690},"setIdx":0,"setId":1,"iconIdx":208},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M739.556 668.444c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-197.408-197.408-197.404 197.404c-7.599 7.095-17.835 11.451-29.087 11.451-23.564 0-42.667-19.103-42.667-42.667 0-11.253 4.356-21.488 11.475-29.112l-0.023 0.025 227.556-227.556c7.719-7.709 18.379-12.479 30.151-12.479s22.432 4.768 30.152 12.479v0l227.556 227.556c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z"],"attrs":[{},{}],"tags":["chevron-circle-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":68,"id":128,"name":"chevron-circle-up","prevSize":80,"code":59691},"setIdx":0,"setId":1,"iconIdx":209},{"icon":{"paths":["M512 902.549c-0.077 0-0.172 0-0.257 0-15.319 0-29.178-6.257-39.16-16.361l-0.005-0.005-258.132-260.364c-5.628-8.568-8.981-19.073-8.981-30.354 0-30.81 24.977-55.792 55.792-55.792 10.145 0 19.649 2.705 27.846 7.433l-0.269-0.143 223.173 223.173 223.173-223.173c7.925-4.589 17.434-7.289 27.577-7.289 30.81 0 55.792 24.977 55.792 55.792 0 11.285-3.353 21.785-9.108 30.566l0.128-0.209-258.132 258.132c-9.737 10.997-23.705 18.053-39.331 18.593l-0.092 0.004z","M512 493.405c-0.077 0-0.172 0-0.257 0-15.319 0-29.178-6.257-39.16-16.361l-0.005-0.005-258.132-262.596c-3.437-7.037-5.446-15.305-5.446-24.041 0-30.81 24.977-55.792 55.792-55.792 8.741 0 17.009 2.009 24.377 5.597l-0.329-0.145 223.173 223.173 223.173-223.173c7.037-3.437 15.305-5.446 24.041-5.446 30.81 0 55.792 24.977 55.792 55.792 0 8.741-2.009 17.009-5.597 24.377l0.145-0.329-260.364 260.364c-9.233 10.493-22.31 17.429-37.002 18.583l-0.192 0.012z"],"attrs":[{},{}],"tags":["angle-double-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":67,"id":129,"name":"angle-double-down","prevSize":80,"code":59692},"setIdx":0,"setId":1,"iconIdx":210},{"icon":{"paths":["M436.578 832.544c-0.073 0-0.172 0-0.262 0-15.535 0-29.584-6.348-39.707-16.591l-0.004-0.004-261.716-263.977c-10.22-10.237-16.542-24.365-16.542-39.973s6.32-29.742 16.542-39.973v0l261.716-261.716c8.688-5.708 19.333-9.102 30.778-9.102 31.242 0 56.568 25.327 56.568 56.568 0 10.286-2.746 19.925-7.538 28.233l0.144-0.272-226.267 226.267 226.267 226.267c10.22 10.237 16.542 24.365 16.542 39.973s-6.32 29.742-16.542 39.973v0c-9.854 8.923-22.994 14.389-37.408 14.389-0.902 0-1.8-0.024-2.694-0.065l0.124 0.004z","M851.399 832.544c-15.091-1.188-28.351-8.214-37.656-18.795l-0.055-0.065-263.977-263.977c-10.22-10.237-16.542-24.365-16.542-39.973s6.32-29.742 16.542-39.973v0l263.977-259.453c7.129-3.487 15.515-5.521 24.379-5.521 31.242 0 56.568 25.327 56.568 56.568 0 8.864-2.038 17.25-5.669 24.715l0.144-0.336-226.267 226.267 226.267 226.267c8.942 9.959 14.408 23.201 14.408 37.714s-5.466 27.749-14.45 37.763l0.045-0.055c-9.366 10.641-22.619 17.666-37.517 18.843l-0.193 0.014z"],"attrs":[{},{}],"tags":["angle-double-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":66,"id":130,"name":"angle-double-left","prevSize":80,"code":59693},"setIdx":0,"setId":1,"iconIdx":211},{"icon":{"paths":["M587.102 831.182c-0.073 0-0.171 0-0.259 0-15.47 0-29.463-6.321-39.534-16.519l-0.004-0.004c-10.173-10.194-16.472-24.266-16.472-39.803s6.29-29.611 16.472-39.809v0l225.304-225.304-225.304-225.304c-3.536-7.161-5.605-15.588-5.605-24.492 0-31.111 25.217-56.325 56.325-56.325 10.665 0 20.638 2.967 29.14 8.115l-0.251-0.143 262.858 262.858c10.173 10.194 16.472 24.266 16.472 39.803s-6.29 29.611-16.472 39.809v0l-262.858 258.35c-9.83 11.106-23.933 18.225-39.711 18.775l-0.094 0.004z","M174.042 831.182c-15.029-1.181-28.228-8.178-37.495-18.716l-0.053-0.063c-8.9-9.92-14.342-23.099-14.342-37.554s5.442-27.63 14.391-37.603l-0.045 0.053 225.304-225.304-225.304-225.304c-3.467-7.105-5.497-15.45-5.497-24.276 0-31.111 25.217-56.325 56.325-56.325 8.82 0 17.176 2.028 24.609 5.644l-0.339-0.145 262.858 262.858c10.173 10.194 16.472 24.266 16.472 39.803s-6.29 29.611-16.472 39.809v0l-262.858 258.35c-9.32 10.596-22.521 17.598-37.357 18.765l-0.192 0.014z"],"attrs":[{},{}],"tags":["angle-double-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":65,"id":131,"name":"angle-double-right","prevSize":80,"code":59694},"setIdx":0,"setId":1,"iconIdx":212},{"icon":{"paths":["M768.744 493.657c-0.079 0-0.163 0-0.259 0-15.11 0-28.77-6.175-38.616-16.135l-220.071-220.071-220.067 220.067c-6.991 3.451-15.223 5.479-23.923 5.479-30.385 0-55.016-24.631-55.016-55.016 0-10.412 2.899-20.155 7.927-28.458l-0.139 0.247 254.542-254.542c9.955-9.943 23.695-16.087 38.874-16.087s28.926 6.151 38.877 16.087v0l256.744 256.744c9.943 9.955 16.087 23.695 16.087 38.874s-6.151 28.926-16.087 38.877v0c-9.583 8.683-22.363 13.999-36.378 13.999-0.883 0-1.752-0.019-2.623-0.067l0.127 0.007z","M768.744 897.118c-14.683-1.159-27.57-7.987-36.629-18.283l-0.055-0.060-220.067-220.067-220.067 220.067c-6.935 3.391-15.091 5.371-23.707 5.371-30.385 0-55.016-24.631-55.016-55.016 0-8.623 1.987-16.772 5.515-24.038l-0.139 0.331 256.744-256.744c9.955-9.943 23.695-16.087 38.874-16.087s28.926 6.151 38.877 16.087v0l252.342 256.744c8.695 9.691 14.011 22.565 14.011 36.678s-5.316 26.99-14.059 36.726l0.043-0.055c-9.104 10.351-22.001 17.184-36.486 18.331l-0.187 0.012z"],"attrs":[{},{}],"tags":["angle-double-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":64,"id":132,"name":"angle-double-up","prevSize":80,"code":59695},"setIdx":0,"setId":1,"iconIdx":213},{"icon":{"paths":["M512 724.21c-0.086 0-0.192 0-0.293 0-17.487 0-33.3-7.139-44.687-18.671l-0.006-0.006-294.549-297.097c-6.421-9.779-10.246-21.757-10.246-34.639 0-35.163 28.506-63.662 63.662-63.662 11.573 0 22.424 3.091 31.773 8.485l-0.306-0.164 254.656 254.656 254.656-254.656c9.044-5.23 19.894-8.318 31.469-8.318 35.163 0 63.662 28.506 63.662 63.662 0 12.88-3.82 24.863-10.395 34.879l0.149-0.244-297.097 297.097c-10.874 11.029-25.782 18.050-42.325 18.671l-0.112 0.002z"],"attrs":[{}],"tags":["angle-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":224,"id":133,"name":"angle-down","prevSize":80,"code":59696},"setIdx":0,"setId":1,"iconIdx":214},{"icon":{"paths":["M645.785 836.904c-0.077 0-0.174 0-0.264 0-15.744 0-29.987-6.434-40.247-16.814l-267.57-267.57c-10.36-10.374-16.768-24.697-16.768-40.517s6.404-30.147 16.768-40.517v0l267.566-265.27c8.804-5.784 19.594-9.224 31.197-9.224 31.667 0 57.335 25.671 57.335 57.335 0 10.424-2.782 20.194-7.64 28.617l0.144-0.274-229.343 229.343 229.343 229.343c10.36 10.374 16.768 24.697 16.768 40.517s-6.404 30.147-16.768 40.517v0c-9.987 9.044-23.307 14.584-37.917 14.584-0.914 0-1.824-0.023-2.732-0.064l0.124 0.004z"],"attrs":[{}],"tags":["angle-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":62,"id":134,"name":"angle-left","prevSize":80,"code":59697},"setIdx":0,"setId":1,"iconIdx":215},{"icon":{"paths":["M377.809 837.894c-16.204-0.566-30.605-7.836-40.589-19.11l-0.054-0.059c-10.396-10.404-16.822-24.776-16.822-40.643s6.424-30.235 16.822-40.645v0l230.044-230.044-230.044-230.044c-2.746-6.474-4.334-14.004-4.334-21.905 0-31.765 25.748-57.513 57.513-57.513 10.324 0 20.016 2.723 28.392 7.484l-0.286-0.149 268.384 268.384c10.396 10.406 16.822 24.773 16.822 40.643s-6.424 30.236-16.822 40.645v0l-268.384 263.783c-10.036 11.334-24.433 18.607-40.543 19.164l-0.096 0.006z"],"attrs":[{}],"tags":["angle-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":61,"id":135,"name":"angle-right","prevSize":80,"code":59698},"setIdx":0,"setId":1,"iconIdx":216},{"icon":{"paths":["M804.999 721.286c-0.087 0-0.194 0-0.29 0-17.244 0-32.838-7.040-44.069-18.415l-251.149-251.149-251.143 251.143c-7.978 3.94-17.369 6.249-27.304 6.249-34.676 0-62.787-28.109-62.787-62.787 0-11.887 3.305-23 9.042-32.478l-0.157 0.277 292.999-292.999c11.357-11.344 27.043-18.363 44.37-18.363s33.008 7.014 44.37 18.363v0l292.999 292.999c11.344 11.357 18.363 27.043 18.363 44.37s-7.014 33.008-18.363 44.37v0c-11.24 11.41-26.866 18.481-44.134 18.481-0.966 0-1.925-0.024-2.88-0.070l0.133 0.002z"],"attrs":[{}],"tags":["angle-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":60,"id":136,"name":"angle-up","prevSize":80,"code":59699},"setIdx":0,"setId":1,"iconIdx":217},{"icon":{"paths":["M875.959 1024h-727.917c-82.563-3.472-148.18-71.248-148.18-154.349 0-2.309 0.051-4.607 0.151-6.89l-0.011 0.325v-175.543c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 175.543c-0.162 1.762-0.255 3.81-0.255 5.881 0 34.276 25.406 62.617 58.412 67.222l0.357 0.041h729.673c33.364-4.645 58.77-32.987 58.77-67.263 0-2.069-0.093-4.118-0.274-6.141l0.019 0.261v-175.543c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 175.543c0.091 1.983 0.143 4.309 0.143 6.646 0 82.485-64.648 149.87-146.039 154.251l-0.389 0.016z","M746.058 321.828c-0.060 0-0.133 0-0.204 0-12.052 0-22.954-4.923-30.804-12.869l-203.048-203.048-203.044 203.044c-7.816 7.297-18.344 11.778-29.918 11.778-24.237 0-43.886-19.648-43.886-43.886 0-11.575 4.48-22.102 11.803-29.944l-0.023 0.026 234.058-234.058c7.939-7.93 18.904-12.835 31.012-12.835s23.073 4.904 31.013 12.835v0l234.058 234.058c7.93 7.939 12.835 18.904 12.835 31.012s-4.904 23.073-12.835 31.013v0c-7.854 7.95-18.756 12.874-30.808 12.874-0.071 0-0.144 0-0.215 0h0.011z","M512 731.429c-24.106-0.325-43.561-19.78-43.886-43.854v-643.688c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 643.657c-0.325 24.106-19.78 43.561-43.854 43.886h-0.032z"],"attrs":[{},{},{}],"tags":["upload"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":59,"id":137,"name":"upload","prevSize":80,"code":59700},"setIdx":0,"setId":1,"iconIdx":218},{"icon":{"paths":["M875.959 1024h-727.917c-82.563-3.472-148.18-71.248-148.18-154.349 0-2.309 0.051-4.607 0.151-6.89l-0.011 0.325v-175.543c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 175.543c-0.162 1.762-0.255 3.81-0.255 5.881 0 34.276 25.406 62.617 58.412 67.222l0.357 0.041h729.673c33.364-4.645 58.77-32.987 58.77-67.263 0-2.069-0.093-4.118-0.274-6.141l0.019 0.261v-175.543c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 175.543c0.091 1.983 0.143 4.309 0.143 6.646 0 82.485-64.648 149.87-146.039 154.251l-0.389 0.016z","M512 731.429c-0.060 0-0.133 0-0.204 0-12.052 0-22.954-4.923-30.804-12.869l-234.062-234.062c-7.297-7.816-11.778-18.344-11.778-29.918 0-24.237 19.648-43.886 43.886-43.886 11.575 0 22.102 4.48 29.944 11.803l-0.026-0.023 203.044 203.044 203.044-203.044c7.816-7.297 18.344-11.778 29.918-11.778 24.237 0 43.886 19.648 43.886 43.886 0 11.575-4.48 22.102-11.803 29.944l0.023-0.026-234.058 234.058c-7.854 7.95-18.756 12.874-30.808 12.874-0.071 0-0.144 0-0.215 0h0.011z","M512 731.429c-24.106-0.325-43.561-19.78-43.886-43.854v-643.688c0-24.237 19.648-43.886 43.886-43.886s43.886 19.648 43.886 43.886v0 643.657c-0.325 24.106-19.78 43.561-43.854 43.886h-0.032z"],"attrs":[{},{},{}],"tags":["download"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":113,"id":138,"name":"download","prevSize":80,"code":59734},"setIdx":0,"setId":1,"iconIdx":219},{"icon":{"paths":["M512 0c-282.769 0-512 229.231-512 512s229.231 512 512 512c282.769 0 512-229.231 512-512v0c0-282.769-229.231-512-512-512v0zM85.333 512c0-0.111 0-0.24 0-0.369 0-102.621 36.521-196.712 97.276-269.985l-0.565 0.701 599.609 599.609c-72.916 60.16-167.308 96.645-270.223 96.645-235.327 0-426.097-190.771-426.097-426.097 0-0.177 0-0.353 0-0.531v0.028zM841.956 781.653l-599.609-599.609c72.855-59.977 167.108-96.344 269.855-96.344 235.327 0 426.097 190.771 426.097 426.097 0 102.747-36.367 197-96.931 270.591l0.587-0.735z"],"attrs":[{}],"tags":["ban"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":58,"id":139,"name":"ban","prevSize":80,"code":59701},"setIdx":0,"setId":1,"iconIdx":220},{"icon":{"paths":["M1021.85 393.483c-4.841-15.030-17.644-26.152-33.316-28.484l-0.227-0.028-303.002-44.165-135.848-274.491c-7.746-12.831-21.614-21.279-37.457-21.279s-29.71 8.447-37.346 21.083l-0.11 0.195-135.848 274.491-303.002 44.165c-15.899 2.36-28.701 13.481-33.462 28.219l-0.081 0.292c-1.397 4-2.204 8.612-2.204 13.413 0 11.571 4.687 22.048 12.267 29.634v0l220.265 213.556-51.991 301.885c-0.38 2.136-0.597 4.594-0.597 7.102 0 14.016 6.787 26.448 17.254 34.186l0.115 0.081c6.76 4.866 15.204 7.783 24.332 7.783 7.263 0 14.096-1.847 20.052-5.097l-0.219 0.11 270.579-142.557 271.137 142.557c5.647 3.156 12.387 5.020 19.564 5.031h0.004c9.211-0.109 17.721-3.021 24.742-7.922l-0.143 0.094c10.582-7.821 17.369-20.251 17.369-34.267 0-2.509-0.218-4.967-0.634-7.356l0.037 0.254-52.551-301.885 219.705-213.556c7.83-7.626 12.687-18.27 12.687-30.050 0-4.646-0.756-9.117-2.151-13.294l0.085 0.296z"],"attrs":[{}],"tags":["star-fill"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":57,"id":140,"name":"star-fill","prevSize":80,"code":59702},"setIdx":0,"setId":1,"iconIdx":221},{"icon":{"paths":["M802.661 1001.092c-7.178-0.012-13.918-1.875-19.772-5.137l0.207 0.106-271.096-142.535-271.096 142.535c-5.737 3.14-12.567 4.986-19.829 4.986-9.126 0-17.571-2.916-24.452-7.867l0.124 0.085c-10.58-7.82-17.366-20.248-17.366-34.262 0-2.509 0.217-4.966 0.634-7.355l-0.037 0.254 52.543-301.84-220.232-213.524c-7.577-7.585-12.265-18.059-12.265-29.629 0-4.8 0.807-9.412 2.291-13.706l-0.089 0.295c4.841-15.028 17.641-26.148 33.311-28.48l0.227-0.028 302.957-44.158 135.828-274.45c7.745-12.829 21.611-21.276 37.451-21.276s29.706 8.446 37.341 21.080l0.11 0.195 135.828 274.45 302.957 44.158c15.896 2.359 28.697 13.479 33.457 28.215l0.081 0.292c1.397 4 2.204 8.611 2.204 13.411 0 11.569-4.686 22.045-12.265 29.63v0l-220.232 213.524 51.984 301.84c0.38 2.135 0.597 4.593 0.597 7.101 0 14.014-6.786 26.444-17.251 34.181l-0.115 0.081c-6.725 4.703-15.021 7.598-23.979 7.824l-0.056 0.001zM512 764.651c7.119 0.088 13.834 1.727 19.85 4.594l-0.287-0.123 215.201 111.792-40.805-239.795c-0.368-2.129-0.579-4.58-0.579-7.081 0-11.813 4.698-22.528 12.328-30.38l-0.010 0.010 174.396-167.689-240.912-35.774c-13.783-2.252-25.168-10.868-31.19-22.677l-0.111-0.241-107.88-217.995-107.88 218.555c-6.135 12.049-17.52 20.666-31.056 22.884l-0.246 0.033-240.912 35.215 174.396 167.689c7.619 7.842 12.317 18.557 12.317 30.37 0 2.501-0.211 4.952-0.614 7.338l0.035-0.257-40.805 241.472 215.201-111.792c5.628-3.296 12.279-5.497 19.381-6.135l0.183-0.013z"],"attrs":[{}],"tags":["star"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":56,"id":141,"name":"star","prevSize":80,"code":59703},"setIdx":0,"setId":1,"iconIdx":222},{"icon":{"paths":["M679.213 992.738c-0.086 0-0.19 0-0.292 0-17.22 0-32.796-7.035-44.013-18.388l-418.039-418.039c-11.33-11.344-18.339-27.010-18.339-44.311s7.007-32.967 18.339-44.313v0l418.033-418.033c11.167-10.427 26.211-16.828 42.747-16.828 34.631 0 62.705 28.074 62.705 62.705 0 16.538-6.402 31.58-16.864 42.785l0.034-0.037-373.722 373.722 373.722 373.722c11.33 11.344 18.339 27.010 18.339 44.311s-7.007 32.967-18.339 44.313v0c-11.222 11.36-26.798 18.394-44.019 18.394-0.102 0-0.205 0-0.307 0h0.016z"],"attrs":[{}],"tags":["chevron-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":16,"id":142,"name":"chevron-left","prevSize":80,"code":59648},"setIdx":0,"setId":1,"iconIdx":223},{"icon":{"paths":["M344.779 992.761c-0.086 0-0.19 0-0.292 0-17.221 0-32.798-7.035-44.016-18.389l-0.006-0.006c-11.331-11.345-18.34-27.011-18.34-44.313s7.008-32.969 18.34-44.315v0l373.739-373.739-373.739-373.739c-10.427-11.167-16.829-26.212-16.829-42.749 0-34.632 28.075-62.708 62.708-62.708 16.539 0 31.582 6.402 42.787 16.865l-0.037-0.034 418.053 418.053c11.331 11.345 18.34 27.011 18.34 44.313s-7.008 32.969-18.34 44.315v0l-418.053 418.053c-11.223 11.36-26.8 18.395-44.021 18.395-0.102 0-0.205 0-0.307 0h0.016z"],"attrs":[{}],"tags":["chevron-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":17,"id":143,"name":"chevron-right","prevSize":80,"code":59649},"setIdx":0,"setId":1,"iconIdx":224},{"icon":{"paths":["M512 774.266c-0.084 0-0.183 0-0.282 0-16.621 0-31.655-6.79-42.481-17.748l-403.49-403.49c-6.608-9.557-10.557-21.395-10.557-34.153 0-33.426 27.098-60.522 60.522-60.522 13.37 0 25.728 4.335 35.742 11.677l-0.17-0.119 360.715 358.295 360.715-358.295c9.294-6.106 20.686-9.741 32.927-9.741 33.426 0 60.522 27.098 60.522 60.522 0 11.002-2.935 21.318-8.065 30.207l0.155-0.294-403.485 403.485c-10.561 11.928-25.717 19.583-42.668 20.171l-0.102 0.002z"],"attrs":[{}],"tags":["chevron-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":18,"id":144,"name":"chevron-down","prevSize":80,"code":59650},"setIdx":0,"setId":1,"iconIdx":225},{"icon":{"paths":["M912.529 772.345c-0.083 0-0.182 0-0.279 0-16.5 0-31.424-6.74-42.17-17.619l-358.079-358.079-358.074 355.671c-9.226 6.061-20.534 9.669-32.685 9.669-33.181 0-60.080-26.899-60.080-60.080 0-10.921 2.914-21.161 8.005-29.985l-0.154 0.291 400.529-400.529c10.869-10.856 25.879-17.571 42.456-17.571s31.587 6.714 42.457 17.571v0l400.529 400.529c10.856 10.869 17.571 25.879 17.571 42.456s-6.714 31.587-17.571 42.457v0c-10.467 9.481-24.421 15.283-39.728 15.283-0.96 0-1.913-0.022-2.862-0.068l0.134 0.005z"],"attrs":[{}],"tags":["chevron-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":19,"id":145,"name":"chevron-up","prevSize":80,"code":59651},"setIdx":0,"setId":1,"iconIdx":226},{"icon":{"paths":["M777.445 959.937c-0.065 0-0.144 0-0.22 0-11.19 0-21.502-3.743-29.759-10.044l0.119 0.088-530.888-398.166c-12.143-9.177-19.908-23.59-19.908-39.817s7.765-30.639 19.784-39.726l0.124-0.091 530.888-398.166c8.229-6.251 18.645-10.014 29.941-10.014 8.203 0 15.94 1.984 22.762 5.498l-0.278-0.131c16.203 8.535 27.088 25.214 27.208 44.445v796.35c-0.121 19.249-11.006 35.927-26.932 44.329l-0.275 0.133c-6.602 3.186-14.334 5.125-22.5 5.309l-0.063 0.002zM329.508 512l398.166 298.625v-597.249z"],"attrs":[{}],"tags":["caret-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":20,"id":146,"name":"caret-left","prevSize":80,"code":59652},"setIdx":0,"setId":1,"iconIdx":227},{"icon":{"paths":["M246.514 960.008c-8.001-0.105-15.52-2.052-22.189-5.441l0.287 0.133c-16.574-8.253-27.783-25.040-27.876-44.458v-796.469c0.092-19.426 11.302-36.213 27.587-44.339l0.287-0.132c6.449-3.33 14.077-5.284 22.158-5.284 11.175 0 21.478 3.731 29.729 10.017l-0.119-0.089 530.972 398.228c12.145 9.177 19.912 23.594 19.912 39.823s-7.766 30.645-19.789 39.733l-0.124 0.091-530.972 398.228c-8.14 6.214-18.456 9.957-29.645 9.957-0.077 0-0.156 0-0.232 0h0.012zM296.292 213.328v597.343l398.228-298.672z"],"attrs":[{}],"tags":["caret-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":21,"id":147,"name":"caret-right","prevSize":80,"code":59653},"setIdx":0,"setId":1,"iconIdx":228},{"icon":{"paths":["M512 808.242c-0.092 0-0.203 0.002-0.311 0.002-15.157 0-28.607-7.307-37.020-18.589l-0.088-0.122-374.2-498.935c-5.874-7.735-9.411-17.522-9.411-28.14 0-7.708 1.865-14.982 5.168-21.391l-0.124 0.263c8.022-15.226 23.696-25.457 41.77-25.57h748.419c18.091 0.116 33.765 10.344 41.662 25.311l0.125 0.259c3.18 6.151 5.044 13.42 5.044 21.131 0 10.614-3.536 20.406-9.494 28.255l0.085-0.116-374.2 498.935c-8.503 11.404-21.951 18.712-37.108 18.712-0.109 0-0.218 0-0.329-0.002h0.017zM231.349 309.307l280.651 374.2 280.651-374.2z"],"attrs":[{}],"tags":["caret-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":22,"id":148,"name":"caret-down","prevSize":80,"code":59654},"setIdx":0,"setId":1,"iconIdx":229},{"icon":{"paths":["M886.087 808.153h-748.175c-18.084-0.115-33.754-10.339-41.649-25.303l-0.125-0.259c-3.18-6.148-5.042-13.416-5.042-21.125 0-10.612 3.535-20.4 9.492-28.247l-0.085 0.116 374.087-498.782c8.871-10.966 22.328-17.919 37.409-17.919s28.537 6.953 37.338 17.828l0.069 0.090 374.087 498.782c5.874 7.732 9.407 17.518 9.407 28.131 0 7.706-1.864 14.977-5.165 21.386l0.123-0.262c-8.019 15.222-23.689 25.45-41.757 25.562h-0.016zM231.436 714.631h561.131l-280.564-374.087z"],"attrs":[{}],"tags":["caret-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":23,"id":149,"name":"caret-up","prevSize":80,"code":59655},"setIdx":0,"setId":1,"iconIdx":230},{"icon":{"paths":["M440.071 880.415c-243.195 0-440.344-197.149-440.344-440.344s197.149-440.344 440.344-440.344c243.195 0 440.344 197.149 440.344 440.344v0c0 243.195-197.149 440.344-440.344 440.344v0zM440.071 88.031c-193.781 0-350.872 157.090-350.872 350.872s157.090 350.872 350.872 350.872c193.781 0 350.872-157.090 350.872-350.872v0c0-193.781-157.090-350.872-350.872-350.872v0z","M979.828 1023.687c-0.060 0-0.133 0-0.204 0-12.045 0-22.94-4.92-30.785-12.862l-241.52-241.52c-7.293-7.811-11.771-18.333-11.771-29.899 0-24.222 19.636-43.859 43.859-43.859 11.568 0 22.088 4.478 29.926 11.795l-0.026-0.023 241.516 241.516c7.925 7.934 12.827 18.892 12.827 30.993s-4.901 23.059-12.827 30.995v0c-7.849 7.945-18.744 12.866-30.789 12.866-0.071 0-0.144 0-0.215 0h0.011z"],"attrs":[{},{}],"tags":["search"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":24,"id":150,"name":"search","prevSize":80,"code":59656},"setIdx":0,"setId":1,"iconIdx":231},{"icon":{"paths":["M367.973 877.709c-12.364-0.429-23.354-5.979-30.973-14.583l-0.039-0.045-292.569-292.569c-12.118-7.943-20.011-21.462-20.011-36.822 0-24.237 19.649-43.886 43.886-43.886 16.258 0 30.454 8.843 38.038 21.983l0.112 0.213 261.556 259.802 612.637-610.884c6.739-4.429 14.999-7.063 23.874-7.063 24.237 0 43.886 19.649 43.886 43.886 0 7.977-2.129 15.457-5.848 21.903l0.112-0.213-643.651 643.651c-7.658 8.649-18.646 14.2-30.94 14.626l-0.073 0.001z"],"attrs":[{}],"tags":["check"],"grid":16,"isMulticolor":false,"isMulticolor2":false,"width":1088},"attrs":[{}],"properties":{"order":25,"id":151,"name":"check","prevSize":80,"code":59657},"setIdx":0,"setId":1,"iconIdx":232},{"icon":{"paths":["M426.842 696.51c-11.361-0.894-21.337-6.182-28.346-14.147l-0.040-0.047-170.317-170.317c-2.623-5.368-4.157-11.68-4.157-18.35 0-23.516 19.064-42.579 42.579-42.579 6.67 0 12.983 1.534 18.603 4.269l-0.253-0.11 140.228 140.228 484.268-480.861c5.368-2.623 11.68-4.157 18.35-4.157 23.516 0 42.579 19.064 42.579 42.579 0 6.67-1.534 12.983-4.269 18.603l0.11-0.253-510.95 510.95c-7.048 8.010-17.025 13.299-28.241 14.184l-0.146 0.009z","M512 1022.95c-191.476-0.317-358.217-105.908-445.47-261.972l-1.328-2.587c-31.938-55.832-53.595-121.525-60.581-191.54l-0.166-2.053c-1.75-15.87-2.746-34.274-2.746-52.91 0-191.528 105.381-358.444 261.324-445.927l2.575-1.327c55.832-31.938 121.525-53.595 191.54-60.581l2.053-0.166c16.139-1.838 34.846-2.885 53.796-2.885 52.724 0 103.554 8.111 151.308 23.156l-3.563-0.969c19.66 4.032 34.236 21.19 34.236 41.754 0 23.516-19.064 42.579-42.579 42.579-5.793 0-11.317-1.158-16.352-3.253l0.282 0.104c-37.278-11.625-80.141-18.322-124.567-18.322-16.116 0-32.026 0.881-47.685 2.599l1.933-0.172c-60.018 6.3-114.675 24.271-163.354 51.622l2.121-1.095c-49.065 27.393-90.495 62.305-124.293 103.695l-0.607 0.765c-59.499 72.093-95.584 165.431-95.584 267.195 0 16.071 0.899 31.933 2.652 47.536l-0.174-1.916c6.3 60.018 24.271 114.675 51.622 163.354l-1.095-2.121c27.393 49.065 62.305 90.495 103.695 124.293l0.765 0.607c72.093 59.499 165.431 95.584 267.195 95.584 16.071 0 31.933-0.899 47.536-2.652l-1.916 0.174c60.018-6.3 114.675-24.271 163.354-51.622l-2.121 1.095c49.065-27.393 90.495-62.305 124.293-103.695l0.607-0.765c59.499-72.093 95.584-165.431 95.584-267.195 0-16.071-0.899-31.933-2.652-47.536l0.174 1.916c-0.129-1.276-0.204-2.758-0.204-4.258 0-24.725 20.044-44.769 44.769-44.769 23.226 0 42.321 17.686 44.551 40.326l0.015 0.185c1.73 15.781 2.716 34.082 2.716 52.613 0 191.743-105.619 358.82-261.851 446.222l-2.584 1.328c-56.511 33.262-123.144 55.912-194.296 63.403l-2.137 0.182c-17.6 0-35.767 0-52.798 0z"],"attrs":[{},{}],"tags":["check-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":26,"id":152,"name":"check-circle","prevSize":80,"code":59658},"setIdx":0,"setId":1,"iconIdx":233},{"icon":{"paths":["M586.932 512l312.455-312.455c10.394-9.708 16.875-23.488 16.875-38.79 0-29.283-23.737-53.020-53.020-53.020-15.299 0-29.084 6.481-38.759 16.841l-0.027 0.029-312.455 312.455-312.455-312.455c-9.444-8.816-22.161-14.228-36.145-14.228-29.283 0-53.020 23.737-53.020 53.020 0 13.985 5.412 26.701 14.261 36.174l-0.027-0.029 312.455 312.455-312.455 312.455c-9.582 9.589-15.504 22.839-15.504 37.468s5.926 27.874 15.504 37.469v0c9.589 9.582 22.839 15.504 37.468 15.504s27.874-5.926 37.469-15.504v0l312.455-312.455 312.455 312.455c9.589 9.582 22.839 15.504 37.468 15.504s27.874-5.926 37.469-15.504v0c9.582-9.589 15.504-22.839 15.504-37.468s-5.926-27.874-15.504-37.469v0z"],"attrs":[{}],"tags":["times"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":265,"id":153,"name":"times","prevSize":80,"code":59659},"setIdx":0,"setId":1,"iconIdx":234},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M341.333 725.333c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-0.004-0.004c-7.709-7.719-12.479-18.379-12.479-30.151s4.768-22.432 12.479-30.152v0l341.333-341.333c7.599-7.095 17.835-11.451 29.087-11.451 23.564 0 42.667 19.103 42.667 42.667 0 11.253-4.356 21.488-11.475 29.112l0.023-0.025-341.333 341.333c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z","M682.667 725.333c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-341.337-341.337c-7.095-7.599-11.451-17.835-11.451-29.087 0-23.564 19.103-42.667 42.667-42.667 11.253 0 21.488 4.356 29.112 11.475l-0.025-0.023 341.333 341.333c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z"],"attrs":[{},{},{}],"tags":["times-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":28,"id":154,"name":"times-circle","prevSize":80,"code":59660},"setIdx":0,"setId":1,"iconIdx":235},{"icon":{"paths":["M559.485 464.515v-395.695c0-26.223-21.257-47.485-47.485-47.485s-47.485 21.257-47.485 47.485v0 395.695h-395.695c-26.223 0-47.485 21.257-47.485 47.485s21.257 47.485 47.485 47.485v0h395.695v395.695c0.352 26.082 21.403 47.133 47.447 47.485h0.033c26.223 0 47.485-21.257 47.485-47.485v0-395.695h395.695c26.223 0 47.485-21.257 47.485-47.485v0c-0.352-26.082-21.403-47.133-47.447-47.485h-0.033z"],"attrs":[{}],"tags":["plus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":35,"id":155,"name":"plus","prevSize":80,"code":59661},"setIdx":0,"setId":1,"iconIdx":236},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M512 782.223c-23.436-0.316-42.351-19.231-42.667-42.636v-455.141c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 455.111c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z","M739.556 554.667h-455.111c-23.564 0-42.667-19.103-42.667-42.667s19.103-42.667 42.667-42.667v0h455.111c23.564 0 42.667 19.103 42.667 42.667s-19.103 42.667-42.667 42.667v0z"],"attrs":[{},{},{}],"tags":["plus-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":36,"id":156,"name":"plus-circle","prevSize":80,"code":59662},"setIdx":0,"setId":1,"iconIdx":237},{"icon":{"paths":["M967.085 568.886h-910.171c-31.417 0-56.886-25.469-56.886-56.886s25.469-56.886 56.886-56.886v0h910.171c31.417 0 56.886 25.469 56.886 56.886s-25.469 56.886-56.886 56.886v0z"],"attrs":[{}],"tags":["minus"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":41,"id":157,"name":"minus","prevSize":80,"code":59663},"setIdx":0,"setId":1,"iconIdx":238},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M739.556 554.667h-455.111c-23.564 0-42.667-19.103-42.667-42.667s19.103-42.667 42.667-42.667v0h455.111c23.564 0 42.667 19.103 42.667 42.667s-19.103 42.667-42.667 42.667v0z"],"attrs":[{},{}],"tags":["minus-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":42,"id":158,"name":"minus-circle","prevSize":80,"code":59664},"setIdx":0,"setId":1,"iconIdx":239},{"icon":{"paths":["M1024 512c0 282.769-229.231 512-512 512s-512-229.231-512-512c0-282.769 229.231-512 512-512s512 229.231 512 512z"],"attrs":[{}],"tags":["circle-on","deprecate"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":47,"id":159,"name":"circle-on","prevSize":80,"code":59665},"setIdx":0,"setId":1,"iconIdx":240},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z"],"attrs":[{}],"tags":["circle-off","deprecate"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":48,"id":160,"name":"circle-off","prevSize":80,"code":59666},"setIdx":0,"setId":1,"iconIdx":241},{"icon":{"paths":["M512 761.297c-0.059 0-0.133 0-0.206 0-12.080 0-23.010-4.935-30.879-12.901l-410.613-410.613c-7.95-7.958-12.867-18.951-12.867-31.089 0-24.283 19.676-43.971 43.952-43.993h821.216c23.565 0.924 42.321 20.252 42.321 43.961 0 11.301-4.262 21.608-11.268 29.401l0.035-0.040-410.607 410.607c-7.678 8.671-18.694 14.235-31.015 14.662l-0.074 0.003zM207.563 350.691l304.437 304.437 304.437-304.437z"],"attrs":[{}],"tags":["sort-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":51,"id":161,"name":"sort-down","prevSize":80,"code":59667},"setIdx":0,"setId":1,"iconIdx":242},{"icon":{"paths":["M921.888 760.859h-819.773c-0.088 0-0.19 0.002-0.294 0.002-18.019 0-33.47-11-40.004-26.651l-0.105-0.287c-1.856-4.68-2.932-10.103-2.932-15.777 0-11.845 4.689-22.595 12.313-30.495l409.875-409.875c7.945-7.935 18.917-12.844 31.034-12.844s23.089 4.908 31.035 12.844v0l409.888 409.888c7.91 7.94 12.801 18.896 12.801 30.993 0 6.145-1.262 11.997-3.542 17.308l0.108-0.285c-7.032 14.993-22.001 25.192-39.352 25.192-0.369 0-0.739-0.004-1.106-0.013l0.055 0.002zM208.099 673.027h607.804l-303.901-303.901z"],"attrs":[{}],"tags":["sort-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":52,"id":162,"name":"sort-up","prevSize":80,"code":59668},"setIdx":0,"setId":1,"iconIdx":243},{"icon":{"paths":["M841.149 443.428h-658.298c-0.083 0-0.179 0.001-0.275 0.001-16.883 0-31.357-10.305-37.478-24.968l-0.099-0.269c-2.034-4.708-3.217-10.189-3.217-15.949 0-11.333 4.583-21.597 11.994-29.037l329.147-329.147c7.443-7.433 17.723-12.033 29.075-12.033s21.632 4.598 29.076 12.033v0l329.149 329.149c7.411 7.439 11.993 17.704 11.993 29.036 0 5.757-1.183 11.24-3.319 16.216l0.101-0.267c-6.22 14.932-20.695 25.236-37.577 25.236-0.097 0-0.193 0-0.29-0.001h0.015zM282.145 361.141h459.712l-229.855-229.855z","M512 992.009c-0.056 0-0.125 0-0.191 0-11.299 0-21.519-4.615-28.879-12.065l-329.153-329.153c-7.411-7.439-11.993-17.704-11.993-29.036 0-5.757 1.183-11.24 3.319-16.216l-0.101 0.267c6.22-14.932 20.695-25.236 37.577-25.236 0.097 0 0.193 0 0.29 0.001h658.283c0.083 0 0.179-0.001 0.275-0.001 16.883 0 31.357 10.305 37.478 24.968l0.099 0.269c2.034 4.708 3.217 10.189 3.217 15.949 0 11.333-4.583 21.597-11.994 29.037l-329.147 329.147c-7.363 7.453-17.584 12.068-28.883 12.068-0.067 0-0.135 0-0.202 0h0.010zM282.145 662.859l229.855 229.855 229.855-229.855z"],"attrs":[{},{}],"tags":["sort"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":54,"id":163,"name":"sort","prevSize":80,"code":59669},"setIdx":0,"setId":1,"iconIdx":244},{"icon":{"paths":["M776.253 1023.989c-13.652-0.164-25.983-5.679-35.022-14.542l-462.434-462.434c-8.953-8.963-14.491-21.342-14.491-35.013s5.537-26.049 14.491-35.014v0l462.442-462.442c8.959-8.925 21.319-14.443 34.966-14.443 6.933 0 13.536 1.424 19.529 3.996l-0.322-0.122c17.981 7.491 30.389 24.922 30.389 45.252 0 0.116 0 0.233-0.002 0.348v-0.019 924.882c0 0.099 0.002 0.215 0.002 0.331 0 20.33-12.41 37.761-30.067 45.132l-0.324 0.119c-5.648 2.471-12.229 3.927-19.143 3.964h-0.014zM383.839 512l342.867 342.867v-685.734z","M247.747 1023.989c-27.215-0.367-49.181-22.332-49.548-49.511v-924.917c0-27.364 22.183-49.548 49.548-49.548s49.548 22.183 49.548 49.548v0 924.882c-0.367 27.215-22.332 49.181-49.511 49.548h-0.036z"],"attrs":[{},{}],"tags":["step-backward"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":29,"id":164,"name":"step-backward","prevSize":80,"code":59670},"setIdx":0,"setId":1,"iconIdx":245},{"icon":{"paths":["M247.747 1023.989c-6.929-0.037-13.509-1.493-19.478-4.087l0.321 0.124c-17.981-7.491-30.389-24.922-30.389-45.252 0-0.116 0-0.231 0.002-0.348v0.019-924.882c0-0.099-0.002-0.215-0.002-0.331 0-20.33 12.41-37.761 30.067-45.132l0.324-0.119c5.67-2.449 12.271-3.874 19.206-3.874 13.649 0 26.007 5.518 34.967 14.444l462.441 462.441c8.953 8.963 14.491 21.342 14.491 35.013s-5.537 26.049-14.491 35.014v0l-462.442 462.442c-9.030 8.855-21.362 14.37-34.982 14.533h-0.031zM297.295 169.133v685.734l342.867-342.867z","M776.253 1023.989c-27.215-0.367-49.181-22.332-49.548-49.511v-924.917c0-27.364 22.183-49.548 49.548-49.548s49.548 22.183 49.548 49.548v0 924.882c-0.367 27.215-22.332 49.181-49.513 49.548h-0.036z"],"attrs":[{},{}],"tags":["step-forward"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":30,"id":165,"name":"step-forward","prevSize":80,"code":59671},"setIdx":0,"setId":1,"iconIdx":246},{"icon":{"paths":["M325.818 465.455h-186.182c-77.119 0-139.636-62.518-139.636-139.636v0-186.182c0-77.119 62.518-139.636 139.636-139.636v0h186.182c77.119 0 139.636 62.518 139.636 139.636v0 186.182c0 77.119-62.518 139.636-139.636 139.636v0zM139.636 93.091c-25.567 0.345-46.201 20.979-46.545 46.512v186.215c0.345 25.567 20.979 46.201 46.512 46.545h186.215c25.567-0.345 46.201-20.979 46.545-46.512v-186.215c-0.345-25.567-20.979-46.201-46.512-46.545h-0.033z","M325.818 1024h-186.182c-77.119 0-139.636-62.518-139.636-139.636v0-186.182c0-77.119 62.518-139.636 139.636-139.636v0h186.182c77.119 0 139.636 62.518 139.636 139.636v0 186.182c0 77.119-62.518 139.636-139.636 139.636v0zM139.636 651.636c-25.567 0.345-46.201 20.979-46.545 46.512v186.215c0.345 25.567 20.979 46.201 46.512 46.545h186.215c25.567-0.345 46.201-20.979 46.545-46.512v-186.215c-0.345-25.567-20.979-46.201-46.512-46.545h-0.033z","M884.364 465.455h-186.182c-77.119 0-139.636-62.518-139.636-139.636v0-186.182c0-77.119 62.518-139.636 139.636-139.636v0h186.182c77.119 0 139.636 62.518 139.636 139.636v0 186.182c0 77.119-62.518 139.636-139.636 139.636v0zM698.182 93.091c-25.567 0.345-46.201 20.979-46.545 46.512v186.215c0.345 25.567 20.979 46.201 46.512 46.545h186.215c25.567-0.345 46.201-20.979 46.545-46.512v-186.215c-0.345-25.567-20.979-46.201-46.512-46.545h-0.033z","M884.364 1024h-186.182c-77.119 0-139.636-62.518-139.636-139.636v0-186.182c0-77.119 62.518-139.636 139.636-139.636v0h186.182c77.119 0 139.636 62.518 139.636 139.636v0 186.182c0 77.119-62.518 139.636-139.636 139.636v0zM698.182 651.636c-25.567 0.345-46.201 20.979-46.545 46.512v186.215c0.345 25.567 20.979 46.201 46.512 46.545h186.215c25.567-0.345 46.201-20.979 46.545-46.512v-186.215c-0.345-25.567-20.979-46.201-46.512-46.545h-0.033z"],"attrs":[{},{},{},{}],"tags":["th-large"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{},{}],"properties":{"order":34,"id":166,"name":"th-large","prevSize":80,"code":59672},"setIdx":0,"setId":1,"iconIdx":247},{"icon":{"paths":["M512 1023.983c-0.068 0-0.15 0-0.231 0-13.607 0-25.914-5.559-34.777-14.53l-396.378-396.378c-8.239-8.824-13.297-20.711-13.297-33.777 0-27.364 22.183-49.547 49.547-49.547 13.068 0 24.953 5.058 33.806 13.325l-0.029-0.026 361.361 361.361 361.361-361.361c8.824-8.239 20.711-13.297 33.777-13.297 27.364 0 49.547 22.183 49.547 49.547 0 13.068-5.058 24.953-13.325 33.806l0.026-0.029-396.374 396.374c-8.867 8.976-21.175 14.534-34.782 14.534-0.081 0-0.163 0-0.243 0h0.012z","M512 1023.983c-27.215-0.367-49.18-22.332-49.547-49.511v-924.907c0-27.364 22.183-49.547 49.547-49.547s49.547 22.183 49.547 49.547v0 924.872c-0.367 27.215-22.332 49.18-49.511 49.547h-0.036z"],"attrs":[{},{}],"tags":["arrow-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":37,"id":167,"name":"arrow-down","prevSize":80,"code":59673},"setIdx":0,"setId":1,"iconIdx":248},{"icon":{"paths":["M445.937 957.921c-0.068 0-0.15 0-0.231 0-13.607 0-25.914-5.559-34.777-14.53l-396.378-396.378c-8.952-8.963-14.491-21.342-14.491-35.013s5.537-26.049 14.491-35.014v0l396.374-396.374c8.824-8.239 20.711-13.297 33.777-13.297 27.364 0 49.547 22.183 49.547 49.547 0 13.068-5.058 24.953-13.325 33.806l0.026-0.029-361.361 361.361 361.361 361.361c8.952 8.963 14.491 21.342 14.491 35.013s-5.537 26.049-14.491 35.014v0c-8.867 8.976-21.175 14.534-34.782 14.534-0.081 0-0.163 0-0.243 0h0.012z","M974.437 561.547h-924.872c-27.364 0-49.547-22.183-49.547-49.547s22.183-49.547 49.547-49.547v0h924.872c27.364 0 49.547 22.183 49.547 49.547s-22.183 49.547-49.547 49.547v0z"],"attrs":[{},{}],"tags":["arrow-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":40,"id":168,"name":"arrow-left","prevSize":80,"code":59674},"setIdx":0,"setId":1,"iconIdx":249},{"icon":{"paths":["M578.063 957.921c-0.068 0-0.15 0-0.231 0-13.607 0-25.914-5.559-34.777-14.53l-0.005-0.005c-8.952-8.963-14.491-21.342-14.491-35.013s5.537-26.049 14.491-35.014v0l361.361-361.361-361.361-361.361c-8.239-8.824-13.297-20.711-13.297-33.777 0-27.364 22.183-49.547 49.547-49.547 13.068 0 24.953 5.058 33.806 13.325l-0.029-0.026 396.374 396.374c8.952 8.963 14.491 21.342 14.491 35.013s-5.537 26.049-14.491 35.014v0l-396.374 396.374c-8.867 8.976-21.175 14.534-34.782 14.534-0.081 0-0.163 0-0.243 0h0.012z","M974.437 561.547h-924.872c-27.364 0-49.547-22.183-49.547-49.547s22.183-49.547 49.547-49.547v0h924.872c27.364 0 49.547 22.183 49.547 49.547s-22.183 49.547-49.547 49.547v0z"],"attrs":[{},{}],"tags":["arrow-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":43,"id":169,"name":"arrow-right","prevSize":80,"code":59675},"setIdx":0,"setId":1,"iconIdx":250},{"icon":{"paths":["M908.374 495.484c-0.068 0-0.15 0-0.231 0-13.607 0-25.914-5.559-34.777-14.53l-361.366-361.366-361.361 361.361c-8.824 8.239-20.711 13.297-33.777 13.297-27.364 0-49.547-22.183-49.547-49.547 0-13.068 5.058-24.953 13.325-33.806l-0.026 0.029 396.374-396.374c8.963-8.952 21.342-14.491 35.013-14.491s26.049 5.537 35.014 14.491v0l396.374 396.374c8.952 8.963 14.491 21.342 14.491 35.013s-5.537 26.049-14.491 35.014v0c-8.867 8.976-21.175 14.534-34.782 14.534-0.081 0-0.163 0-0.243 0h0.012z","M512 1023.983c-27.215-0.367-49.18-22.332-49.547-49.511v-924.907c0-27.364 22.183-49.547 49.547-49.547s49.547 22.183 49.547 49.547v0 924.872c-0.367 27.215-22.332 49.18-49.511 49.547h-0.036z"],"attrs":[{},{}],"tags":["arrow-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":216,"id":170,"name":"arrow-up","prevSize":80,"code":59676},"setIdx":0,"setId":1,"iconIdx":251},{"icon":{"paths":["M974.438 561.547h-924.874c-27.364 0-49.547-22.183-49.547-49.547s22.183-49.547 49.547-49.547v0h924.874c27.364 0 49.547 22.183 49.547 49.547s-22.183 49.547-49.547 49.547v0z","M974.438 264.265h-924.874c-27.364 0-49.547-22.183-49.547-49.547s22.183-49.547 49.547-49.547v0h924.874c27.364 0 49.547 22.183 49.547 49.547s-22.183 49.547-49.547 49.547v0z","M974.438 858.829h-924.874c-27.364 0-49.547-22.183-49.547-49.547s22.183-49.547 49.547-49.547v0h924.874c27.364 0 49.547 22.183 49.547 49.547s-22.183 49.547-49.547 49.547v0z"],"attrs":[{},{},{}],"tags":["bars"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":215,"id":171,"name":"bars","prevSize":80,"code":59677},"setIdx":0,"setId":1,"iconIdx":252},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M512 782.223c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-227.56-227.56c-7.095-7.599-11.451-17.835-11.451-29.087 0-23.564 19.103-42.667 42.667-42.667 11.253 0 21.488 4.356 29.112 11.475l-0.025-0.023 197.404 197.404 197.404-197.404c7.599-7.095 17.835-11.451 29.087-11.451 23.564 0 42.667 19.103 42.667 42.667 0 11.253-4.356 21.488-11.475 29.112l0.023-0.025-227.556 227.556c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z","M512 782.223c-23.436-0.316-42.351-19.231-42.667-42.636v-455.141c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 455.111c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z"],"attrs":[{},{},{}],"tags":["arrow-circle-down"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":50,"id":172,"name":"arrow-circle-down","prevSize":80,"code":59678},"setIdx":0,"setId":1,"iconIdx":253},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M512 782.223c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-227.56-227.56c-7.709-7.719-12.479-18.379-12.479-30.151s4.768-22.432 12.479-30.152v0l227.556-227.556c7.599-7.095 17.835-11.451 29.087-11.451 23.564 0 42.667 19.103 42.667 42.667 0 11.253-4.356 21.488-11.475 29.112l0.023-0.025-197.404 197.404 197.404 197.404c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z","M739.556 554.667h-455.111c-23.564 0-42.667-19.103-42.667-42.667s19.103-42.667 42.667-42.667v0h455.111c23.564 0 42.667 19.103 42.667 42.667s-19.103 42.667-42.667 42.667v0z"],"attrs":[{},{},{}],"tags":["arrow-circle-left"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":53,"id":173,"name":"arrow-circle-left","prevSize":80,"code":59679},"setIdx":0,"setId":1,"iconIdx":254},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M512 782.223c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-0.004-0.004c-7.709-7.719-12.479-18.379-12.479-30.151s4.768-22.432 12.479-30.152v0l197.404-197.404-197.404-197.404c-7.095-7.599-11.451-17.835-11.451-29.087 0-23.564 19.103-42.667 42.667-42.667 11.253 0 21.488 4.356 29.112 11.475l-0.025-0.023 227.556 227.556c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0l-227.556 227.556c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z","M739.556 554.667h-455.111c-23.564 0-42.667-19.103-42.667-42.667s19.103-42.667 42.667-42.667v0h455.111c23.564 0 42.667 19.103 42.667 42.667s-19.103 42.667-42.667 42.667v0z"],"attrs":[{},{},{}],"tags":["arrow-circle-right"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":55,"id":174,"name":"arrow-circle-right","prevSize":80,"code":59680},"setIdx":0,"setId":1,"iconIdx":255},{"icon":{"paths":["M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z","M739.556 554.667c-0.059 0-0.129 0-0.199 0-11.717 0-22.316-4.787-29.948-12.512l-197.408-197.408-197.404 197.404c-7.599 7.095-17.835 11.451-29.087 11.451-23.564 0-42.667-19.103-42.667-42.667 0-11.253 4.356-21.488 11.475-29.112l-0.023 0.025 227.556-227.556c7.719-7.709 18.379-12.479 30.151-12.479s22.432 4.768 30.152 12.479v0l227.556 227.556c7.709 7.719 12.479 18.379 12.479 30.151s-4.768 22.432-12.479 30.152v0c-7.636 7.729-18.235 12.516-29.952 12.516-0.069 0-0.14 0-0.209 0h0.011z","M512 782.223c-23.436-0.316-42.351-19.231-42.667-42.636v-455.141c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 455.111c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z"],"attrs":[{},{},{}],"tags":["arrow-circle-up"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":31,"id":175,"name":"arrow-circle-up","prevSize":80,"code":59681},"setIdx":0,"setId":1,"iconIdx":256},{"icon":{"paths":["M512 1023.999c-36.682-0.495-66.288-30.1-66.783-66.735v-623.353c0-36.883 29.9-66.783 66.783-66.783s66.783 29.9 66.783 66.783v0 623.305c-0.495 36.682-30.1 66.288-66.735 66.783h-0.048z","M512 178.087c-36.682-0.495-66.288-30.1-66.783-66.735v-44.569c0-36.883 29.9-66.783 66.783-66.783s66.783 29.9 66.783 66.783v0 44.521c-0.495 36.682-30.1 66.288-66.735 66.783h-0.048z"],"attrs":[{},{}],"tags":["info"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":33,"id":176,"name":"info","prevSize":80,"code":59683},"setIdx":0,"setId":1,"iconIdx":257},{"icon":{"paths":["M512 782.223c-23.436-0.316-42.351-19.231-42.667-42.636v-284.475c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 284.444c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z","M512 355.556c-23.436-0.316-42.351-19.231-42.667-42.636v-28.475c0-23.564 19.103-42.667 42.667-42.667s42.667 19.103 42.667 42.667v0 28.444c-0.316 23.436-19.231 42.351-42.636 42.667h-0.031z","M512 1024c-282.769 0-512-229.231-512-512s229.231-512 512-512c282.769 0 512 229.231 512 512v0c0 282.769-229.231 512-512 512v0zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667v0c0-235.641-191.025-426.667-426.667-426.667v0z"],"attrs":[{},{},{}],"tags":["info-circle"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":38,"id":177,"name":"info-circle","prevSize":80,"code":59684},"setIdx":0,"setId":1,"iconIdx":258},{"icon":{"paths":["M980.714 497.352c-0.058 0-0.126 0-0.195 0-9.879 0-18.984-3.304-26.275-8.867l0.106 0.077-442.349-331.615-442.349 331.615c-7.252 5.487-16.423 8.788-26.365 8.788-24.268 0-43.942-19.674-43.942-43.942 0-14.326 6.856-27.052 17.467-35.074l0.11-0.080 468.714-351.536c7.252-5.487 16.423-8.788 26.365-8.788s19.113 3.301 26.475 8.868l-0.11-0.080 468.714 351.536c9.942 8.121 16.239 20.379 16.239 34.109 0 9.129-2.783 17.608-7.548 24.634l0.099-0.154c-7.474 11.934-20.322 19.902-35.068 20.503l-0.085 0.003z","M863.536 966.067h-703.071c-24.136-0.325-43.617-19.805-43.942-43.91v-556.629c0-24.268 19.674-43.942 43.942-43.942s43.942 19.674 43.942 43.942v0 512.656h615.187v-512.656c0-24.268 19.674-43.942 43.942-43.942s43.942 19.674 43.942 43.942v0 556.598c-0.325 24.136-19.805 43.617-43.91 43.942h-0.032z","M629.178 966.067c-24.136-0.325-43.617-19.805-43.942-43.91v-366.215h-146.474v366.183c0 24.268-19.674 43.942-43.942 43.942s-43.942-19.674-43.942-43.942v0-410.125c0.325-24.136 19.805-43.617 43.91-43.942h234.389c24.136 0.325 43.617 19.805 43.942 43.91v410.157c-0.325 24.136-19.805 43.617-43.91 43.942h-0.032z"],"attrs":[{},{},{}],"tags":["home"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{},{}],"properties":{"order":214,"id":178,"name":"home","prevSize":80,"code":59685},"setIdx":0,"setId":1,"iconIdx":259},{"icon":{"paths":["M512 1023.985c-282.573-0.249-511.548-229.377-511.548-511.985 0-282.761 229.224-511.985 511.985-511.985 136.039 0 259.684 53.057 351.374 139.607l-0.248-0.232c7.709 7.718 12.478 18.378 12.478 30.15s-4.768 22.431-12.478 30.151v0c-7.654 7.849-18.334 12.718-30.15 12.718s-22.495-4.869-30.142-12.709l-0.008-0.009c-76.159-71.371-178.876-115.207-291.832-115.207-235.949 0-427.224 191.274-427.224 427.224s191.274 427.224 427.224 427.224c235.845 0 427.056-191.106 427.224-426.913v-0.016c0-23.563 19.102-42.665 42.665-42.665s42.665 19.102 42.665 42.665v0c0 282.761-229.224 511.985-511.985 511.985v0z"],"attrs":[{}],"tags":["spinner"],"grid":16,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":44,"id":179,"name":"spinner","prevSize":80,"code":59686},"setIdx":0,"setId":1,"iconIdx":260}],"height":1024,"metadata":{"name":"primeicons","url":"https://github.com/primefaces/primeicons","designer":"","license":"MIT","licenseURL":"https://opensource.org/licenses/MIT"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"pi-","metadata":{"fontFamily":"primeicons","majorVersion":1,"minorVersion":0,"copyright":"PrimeTek Informatics","designer":"","description":"Icon Library for Prime UI Libraries","fontURL":"https://github.com/primefaces/primeicons","license":"MIT","licenseURL":"https://opensource.org/licenses/MIT"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"autoHost":true,"showSelector":true,"showMetrics":true,"showMetadata":true,"showVersion":true,"includeMetadata":true},"imagePref":{"prefix":"pi-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","height":32,"columns":16,"margin":16,"name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16,"quickUsageToken":{"PrimeIcons":"NTQ3YTNmNDcyNzcwZTk0M2UzYzcxODljOTAyZTYyODEjMSMxNjYyOTc4NjMyIyMjNTU3N2Y2ZGJiZTc3"},"showGrid":true}} \ No newline at end of file diff --git a/public/demo/data/kanban.json b/public/demo/data/kanban.json new file mode 100644 index 0000000..94e25be --- /dev/null +++ b/public/demo/data/kanban.json @@ -0,0 +1,196 @@ +{ + "data": [ + { + "listId": "1", + "title": "Backlog", + "cards" : [ + { + "id": "11", + "title": "Qualitative resarch planning", + "description": "Hey there, we’re just writing to let you know", + "startDate":"2022-05-18", + "dueDate":"2022-05-18", + "completed": false, + "progress": 0, + "assignees": [ + {"name": "Ioni Bowcher", "image": "ionibowcher.png"}, + {"name": "Amy Elsner", "image": "amyelsner.png"} + ], + "comments": [ + {"name": "Ioni Bowcher", "image": "ionibowcher.png", "text": "How likely are you to recommend our company"}, + {"name": "Amy Elsner", "image": "amyelsner.png", "text": "Ok thanks!"} + ], + "priority": {"color": "#3b82f6", "title": "Medium"}, + "attachments": 4, + "taskList" : { + "id" : "1234", + "title": "Tasklist", + "tasks" : [] + } + }, + { + "id": "12", + "title": "Create new components", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", + "startDate":"2022-05-20", + "dueDate":"2022-05-22", + "completed": false, + "progress": 0, + "assignees": [ + {"name": "Asiya Javayant", "image": "asiyajavayant.png"}, + {"name": "Xuxue Feng", "image": "amyelsner.png"} + ], + "comments": [ + {"name": "Asiya Javayant", "image": "asiyajavayant.png", "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"}, + {"name": "Xuxue Feng", "image": "xuxuefeng.png", "text": "Ut enim ad minim veniam"} + ], + "priority": {"color": "#3b82f6", "title": "Medium"}, + "attachments": 3, + "taskList" : { + "id" : "12345", + "title": "Tasklist", + "tasks" : [] + } + }, + { + "id": "13", + "title": "Create new components", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", + "startDate":"2022-05-20", + "dueDate":"2022-05-25", + "completed": false, + "progress": 0, + "assignees": [ + {"name": "Asiya Javayant", "image": "asiyajavayant.png"}, + {"name": "Xuxue Feng", "image": "amyelsner.png"} + ], + "comments": [ + {"name": "Asiya Javayant", "image": "asiyajavayant.png", "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"}, + {"name": "Xuxue Feng", "image": "xuxuefeng.png", "text": "Ut enim ad minim veniam"} + ], + "priority": {"color": "#3b82f6", "title": "Medium"}, + "attachments": 12, + "taskList" : { + "id" : "1245", + "title": "Tasklist", + "tasks" : [] + } + }, + { + "id": "14", + "title": "Ut enim ad minim veniam", + "startDate":"2022-05-24", + "dueDate":"2022-05-26", + "completed": false, + "progress": 0, + "assignees": [ + {"name": "Xuxue Feng", "image": "xuxuefeng.png"} + ], + "comments": [ + {"name": "Onyama Limba", "image": "onyamalimba.png", "text": "Adipiscing tristique risus nec"}, + {"name": "Amy Elsner", "image": "amyelsner.png", "text": "Fermentum posuere urna nec"}, + {"name": "Ivan Magalhaes", "image": "ivanmagalhaes.png", "text": "Sed do eiusmod tempor"} + ], + "priority": {"color": "#3b82f6", "title": "Medium"}, + "attachments": 2, + "taskList" : { + "id" : "1345", + "title": "Tasklist", + "tasks" : [] + } + } + ] + }, + { + "listId": "2", + "title": "In Progress", + "cards" : [ + { + "id": "21", + "title": "Qualitative resarch planning", + "description": "Hey there, we’re just writing to let you know", + "startDate":"2022-05-18", + "dueDate":"2022-05-22", + "completed": false, + "progress": 50, + "assignees": [ + {"name": "Ioni Bowcher", "image": "ionibowcher.png"} + ], + "comments": [ + {"name": "Ioni Bowcher", "image": "ionibowcher.png", "text": "Ut enim ad minim veniam"}, + {"name": "Amy Elsner", "image": "amyelsner.png", "text": "Quis nostrud exercitation ullamco laboris"} + ], + "priority": {"color": "#3b82f6", "title": "Medium"}, + "attachments": 8, + "taskList" : { + "id" : "123", + "title": "Tasklist", + "tasks" : [ + { + "text": "Lorem ipsum dolor sit amet", + "completed": false + }, + { + "text": "Consectetur adipiscing elit", + "completed": true + }, + { + "text": "Lorem ipsum dolor sit amet", + "completed": false + }, + { + "text": "Consectetur adipiscing elit", + "completed": true + } + ] + } + }, + { + "id": "22", + "title": "Culpa qui officia", + "description": "Culpa qui officia deserunt mollit anim id est laborum", + "startDate":"2022-05-20", + "dueDate":"2022-05-26", + "completed": false, + "progress": 25, + "assignees": [ + {"name": "Onyama Limba", "image": "onyamalimba.png"}, + {"name": "Ivan Magalhaes", "image": "ivanmagalhaes.png"}, + {"name": "Amy Elsner", "image": "amyelsner.png"}, + {"name": "Xuxue Feng", "image": "xuxuefeng.png"}, + {"name": "Ioni Bowcher", "image": "ionibowcher.png"} + ], + "comments": [ + {"name": "Ioni Bowcher", "image": "ionibowcher.png", "text": "Excepteur sint occaecat cupidatat non proident"}, + {"name": "Amy Elsner", "image": "amyelsner.png", "text": "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"} + ], + "priority": {"color": "#3b82f6", "title": "Medium"}, + "attachments": 12, + "taskList" : { + "id" : "2341", + "title": "Tasklist", + "tasks" : [ + { + "text": "Lorem ipsum dolor sit amet", + "completed": false + }, + { + "text": "Consectetur adipiscing elit", + "completed": true + }, + { + "text": "Lorem ipsum dolor sit amet", + "completed": false + }, + { + "text": "Consectetur adipiscing elit", + "completed": false + } + ] + } + } + + ] + } + ] +} \ No newline at end of file diff --git a/public/demo/data/mail.json b/public/demo/data/mail.json new file mode 100644 index 0000000..b2a1749 --- /dev/null +++ b/public/demo/data/mail.json @@ -0,0 +1,365 @@ +{ + "data": [ + { + "id": 1000, + "from": "Ioni Bowcher", + "email":"ionibowcher@gmail.com", + "image": "ionibowcher.png", + "title": "Apply These 7 Secret Techniques To Improve Event Apply These", + "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "date": "May 30 2022", + "important": true, + "starred": false, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1001, + "from": "Amy Elsner", + "email":"amyelsner@gmail.com", + "image": "amyelsner.png", + "title": "Nullam purus metus, cras adipiscing magna et, aliquam gravida", + "message": "Iaculis nunc sed augue lacus viverra vitae. Amet porttitor eget dolor morbi non arcu. Adipiscing commodo elit at imperdiet. Scelerisque viverra mauris in aliquam. Non diam phasellus vestibulum lorem sed risus. Malesuada bibendum arcu vitae elementum curabitur vitae nunc sed velit. Curabitur vitae nunc sed velit dignissim sodales ut eu. Posuere morbi leo urna molestie at elementum eu facilisis. Commodo odio aenean sed adipiscing diam. Arcu non odio euismod lacinia at quis. Viverra suspendisse potenti nullam ac tortor vitae purus. Viverra mauris in aliquam sem fringilla ut morbi. Sed viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Tristique senectus et netus et malesuada.", + "date": "May 30 2022", + "important": false, + "starred": false, + "trash": true, + "spam": false, + "archived": false + }, + { + "id": 1002, + "from": "Asiya Javayant", + "email":"asiyajavayant@gmail.com", + "image": "asiyajavayant.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non", + "message": "In tellus integer feugiat scelerisque varius. Auctor neque vitae tempus quam pellentesque nec nam aliquam. Elit pellentesque habitant morbi tristique senectus et netus. Sodales ut etiam sit amet nisl purus in. Ullamcorper morbi tincidunt ornare massa eget egestas purus. Quam vulputate dignissim suspendisse in est ante in nibh. Turpis egestas sed tempus urna et pharetra. Non curabitur gravida arcu ac tortor. Integer malesuada nunc vel risus commodo viverra maecenas accumsan lacus. Massa placerat duis ultricies lacus sed turpis tincidunt id aliquet. Varius duis at consectetur lorem. Ultricies leo integer malesuada nunc vel. Blandit massa enim nec dui. Blandit massa enim nec dui nunc mattis enim. Arcu vitae elementum curabitur vitae nunc sed velit dignissim.", + "date": "May 28 2022", + "important": false, + "starred": false, + "trash": false, + "spam": true, + "archived": false + }, + { + "id": 1003, + "from": "Xuxue Feng", + "email":"xuexuefeng@gmail.com", + "image": "xuxuefeng.png", + "title": "Eget ipsum quam eu a, sit pellentesque molestie tristique.", + "message": "Euismod lacinia at quis risus. Quis commodo odio aenean sed adipiscing diam donec adipiscing tristique. Risus commodo viverra maecenas accumsan. ", + "date": "May 28 2022", + "important": false, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1004, + "from": "Ivan Magalhaes", + "email":"ionibowcher@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Tincidunt sed vel, ipsum in tincidunt. Scelerisque lectus dolor cras", + "message": "Cursus mattis molestie a iaculis at erat. Nisi quis eleifend quam adipiscing vitae proin sagittis. Risus quis varius quam quisque id diam vel. Egestas sed sed risus pretium quam vulputate dignissim suspendisse. Dolor morbi non arcu risus quis varius quam quisque id. Eros donec ac odio tempor orci dapibus ultrices in.", + "date": "May 27 2022", + "important": false, + "starred": false, + "trash": true, + "spam": false, + "archived": false + }, + { + "id": 1005, + "from": "Ivan Magalhaes", + "email":"ivanmagalhaes@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Consequat sed nibh laoreet ultrices at elit tellus, nunc. Neque,", + "message": "Tellus integer feugiat scelerisque varius. Tincidunt vitae semper quis lectus nulla. Ipsum suspendisse ultrices gravida dictum fusce ut placerat orci. Donec massa sapien faucibus et molestie ac. Nibh sit amet commodo nulla. ", + "date": "May 26 2022", + "important": false, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1006, + "from": "Onyama Limba", + "email":"onyamalimba@gmail.com", + "image": "onyamalimba.png", + "title": "Hendrerit pharetra eu eget phasellus orci. Enim mi sed sem", + "message": " Nullam non nisi est sit amet. Vivamus at augue eget arcu dictum varius duis at consectetur. Dignissim convallis aenean et tortor at risus viverra adipiscing at. A erat nam at lectus urna duis convallis. Cras ornare arcu dui vivamus arcu felis bibendum ut tristique.", + "date": "May 26 2022", + "important": false, + "starred": false, + "trash": false, + "spam": false, + "archived": true + }, + { + "id": 1007, + "from": "Ivan Magalhaes", + "email":"ivanmagalhes@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non ", + "message": "Dolor purus non enim praesent elementum facilisis leo. Euismod nisi porta lorem mollis aliquam ut. Nec ultrices dui sapien eget mi proin sed libero enim. Morbi tristique senectus et netus et.", + "date": "May 24 2022", + "important": false, + "starred": false, + "trash": false, + "spam": false, + "archived": true + }, + { + "id": 1008, + "from": "Amy Elsner", + "email":"amyelsner@gmail.com", + "image": "amyelsner.png", + "title": "Nullam purus metus, cras adipiscing magna et, aliquam gravida", + "message": "Iaculis nunc sed augue lacus viverra vitae. Amet porttitor eget dolor morbi non arcu. Adipiscing commodo elit at imperdiet. Scelerisque viverra mauris in aliquam. Non diam phasellus vestibulum lorem sed risus. Malesuada bibendum arcu vitae elementum curabitur vitae nunc sed velit. Curabitur vitae nunc sed velit dignissim sodales ut eu. Posuere morbi leo urna molestie at elementum eu facilisis. Commodo odio aenean sed adipiscing diam. Arcu non odio euismod lacinia at quis. Viverra suspendisse potenti nullam ac tortor vitae purus. Viverra mauris in aliquam sem fringilla ut morbi. Sed viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Tristique senectus et netus et malesuada.", + "date": "May 30 2022", + "important": false, + "starred": false, + "trash": true, + "spam": false, + "archived": false + }, + { + "id": 1009, + "from": "Asiya Javayant", + "email":"asiyajavayant@gmail.com", + "image": "asiyajavayant.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non", + "message": "In tellus integer feugiat scelerisque varius. Auctor neque vitae tempus quam pellentesque nec nam aliquam. Elit pellentesque habitant morbi tristique senectus et netus. Sodales ut etiam sit amet nisl purus in. Ullamcorper morbi tincidunt ornare massa eget egestas purus. Quam vulputate dignissim suspendisse in est ante in nibh. Turpis egestas sed tempus urna et pharetra. Non curabitur gravida arcu ac tortor. Integer malesuada nunc vel risus commodo viverra maecenas accumsan lacus. Massa placerat duis ultricies lacus sed turpis tincidunt id aliquet. Varius duis at consectetur lorem. Ultricies leo integer malesuada nunc vel. Blandit massa enim nec dui. Blandit massa enim nec dui nunc mattis enim. Arcu vitae elementum curabitur vitae nunc sed velit dignissim.", + "date": "May 28 2022", + "important": true, + "starred": false, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1010, + "from": "Xuxue Feng", + "email":"xuexuefeng@gmail.com", + "image": "xuxuefeng.png", + "title": "Eget ipsum quam eu a, sit pellentesque molestie tristique.", + "message": "Euismod lacinia at quis risus. Quis commodo odio aenean sed adipiscing diam donec adipiscing tristique. Risus commodo viverra maecenas accumsan. ", + "date": "May 28 2022", + "important": false, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1011, + "from": "Ivan Magalhaes", + "email":"ionibowcher@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Tincidunt sed vel, ipsum in tincidunt. Scelerisque lectus dolor cras", + "message": "Cursus mattis molestie a iaculis at erat. Nisi quis eleifend quam adipiscing vitae proin sagittis. Risus quis varius quam quisque id diam vel. Egestas sed sed risus pretium quam vulputate dignissim suspendisse. Dolor morbi non arcu risus quis varius quam quisque id. Eros donec ac odio tempor orci dapibus ultrices in.", + "date": "May 27 2022", + "important": false, + "starred": false, + "trash": false, + "spam": false, + "archived": true + }, + { + "id": 1012, + "from": "Ivan Magalhaes", + "email":"ivanmagalhaes@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Consequat sed nibh laoreet ultrices at elit tellus, nunc. Neque,", + "message": "Tellus integer feugiat scelerisque varius. Tincidunt vitae semper quis lectus nulla. Ipsum suspendisse ultrices gravida dictum fusce ut placerat orci. Donec massa sapien faucibus et molestie ac. Nibh sit amet commodo nulla. ", + "date": "May 26 2022", + "important": true, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1013, + "from": "Onyama Limba", + "email":"onyamalimba@gmail.com", + "image": "onyamalimba.png", + "title": "Hendrerit pharetra eu eget phasellus orci. Enim mi sed sem", + "message": " Nullam non nisi est sit amet. Vivamus at augue eget arcu dictum varius duis at consectetur. Dignissim convallis aenean et tortor at risus viverra adipiscing at. A erat nam at lectus urna duis convallis. Cras ornare arcu dui vivamus arcu felis bibendum ut tristique.", + "date": "May 26 2022", + "important": false, + "starred": false, + "trash": false, + "spam": false, + "archived": true + }, + { + "id": 1014, + "from": "Ivan Magalhaes", + "email":"ivanmagalhes@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non ", + "message": "Dolor purus non enim praesent elementum facilisis leo. Euismod nisi porta lorem mollis aliquam ut. Nec ultrices dui sapien eget mi proin sed libero enim. Morbi tristique senectus et netus et.", + "date": "May 24 2022", + "important": false, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1015, + "from": "Amy Elsner", + "email":"amyelsner@gmail.com", + "image": "amyelsner.png", + "title": "Nullam purus metus, cras adipiscing magna et, aliquam gravida", + "message": "Iaculis nunc sed augue lacus viverra vitae. Amet porttitor eget dolor morbi non arcu. Adipiscing commodo elit at imperdiet. Scelerisque viverra mauris in aliquam. Non diam phasellus vestibulum lorem sed risus. Malesuada bibendum arcu vitae elementum curabitur vitae nunc sed velit. Curabitur vitae nunc sed velit dignissim sodales ut eu. Posuere morbi leo urna molestie at elementum eu facilisis. Commodo odio aenean sed adipiscing diam. Arcu non odio euismod lacinia at quis. Viverra suspendisse potenti nullam ac tortor vitae purus. Viverra mauris in aliquam sem fringilla ut morbi. Sed viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Tristique senectus et netus et malesuada.", + "date": "May 30 2022", + "important": true, + "starred": false, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1016, + "from": "Asiya Javayant", + "email":"asiyajavayant@gmail.com", + "image": "asiyajavayant.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non", + "message": "In tellus integer feugiat scelerisque varius. Auctor neque vitae tempus quam pellentesque nec nam aliquam. Elit pellentesque habitant morbi tristique senectus et netus. Sodales ut etiam sit amet nisl purus in. Ullamcorper morbi tincidunt ornare massa eget egestas purus. Quam vulputate dignissim suspendisse in est ante in nibh. Turpis egestas sed tempus urna et pharetra. Non curabitur gravida arcu ac tortor. Integer malesuada nunc vel risus commodo viverra maecenas accumsan lacus. Massa placerat duis ultricies lacus sed turpis tincidunt id aliquet. Varius duis at consectetur lorem. Ultricies leo integer malesuada nunc vel. Blandit massa enim nec dui. Blandit massa enim nec dui nunc mattis enim. Arcu vitae elementum curabitur vitae nunc sed velit dignissim.", + "date": "May 28 2022", + "important": false, + "starred": false, + "trash": false, + "spam": false, + "archived": true + }, + { + "id": 1017, + "from": "Xuxue Feng", + "email":"xuexuefeng@gmail.com", + "image": "xuxuefeng.png", + "title": "Eget ipsum quam eu a, sit pellentesque molestie tristique.", + "message": "Euismod lacinia at quis risus. Quis commodo odio aenean sed adipiscing diam donec adipiscing tristique. Risus commodo viverra maecenas accumsan. ", + "date": "May 28 2022", + "important": false, + "starred": false, + "trash": false, + "spam": true, + "archived": false + }, + { + "id": 1018, + "from": "Ivan Magalhaes", + "email":"ionibowcher@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Tincidunt sed vel, ipsum in tincidunt. Scelerisque lectus dolor cras", + "message": "Cursus mattis molestie a iaculis at erat. Nisi quis eleifend quam adipiscing vitae proin sagittis. Risus quis varius quam quisque id diam vel. Egestas sed sed risus pretium quam vulputate dignissim suspendisse. Dolor morbi non arcu risus quis varius quam quisque id. Eros donec ac odio tempor orci dapibus ultrices in.", + "date": "May 27 2022", + "important": false, + "starred": false, + "trash": true, + "spam": false, + "archived": false + }, + { + "id": 1019, + "from": "Ivan Magalhaes", + "email":"ivanmagalhaes@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Consequat sed nibh laoreet ultrices at elit tellus, nunc. Neque,", + "message": "Tellus integer feugiat scelerisque varius. Tincidunt vitae semper quis lectus nulla. Ipsum suspendisse ultrices gravida dictum fusce ut placerat orci. Donec massa sapien faucibus et molestie ac. Nibh sit amet commodo nulla. ", + "date": "May 26 2022", + "important": false, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1020, + "from": "Onyama Limba", + "email":"onyamalimba@gmail.com", + "image": "onyamalimba.png", + "title": "Hendrerit pharetra eu eget phasellus orci. Enim mi sed sem", + "message": " Nullam non nisi est sit amet. Vivamus at augue eget arcu dictum varius duis at consectetur. Dignissim convallis aenean et tortor at risus viverra adipiscing at. A erat nam at lectus urna duis convallis. Cras ornare arcu dui vivamus arcu felis bibendum ut tristique.", + "date": "May 26 2022", + "important": false, + "starred": false, + "trash": false, + "spam": true, + "archived": false + }, + { + "id": 1021, + "from": "Ivan Magalhaes", + "email":"ivanmagalhes@gmail.com", + "image": "ivanmagalhaes.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non ", + "message": "Dolor purus non enim praesent elementum facilisis leo. Euismod nisi porta lorem mollis aliquam ut. Nec ultrices dui sapien eget mi proin sed libero enim. Morbi tristique senectus et netus et.", + "date": "May 24 2022", + "important": true, + "starred": true, + "trash": false, + "spam": false, + "archived": false + }, + { + "id": 1022, + "from": "Onyama Limba", + "email":"ionibowcher@gmail.com", + "image": "onyamalimba.png", + "title": "Nullam purus metus, cras adipiscing magna et, aliquam gravida", + "message": "Sed turpis tincidunt id aliquet risus feugiat in ante metus. Id semper risus in hendrerit. Placerat duis ultricies lacus sed. Non tellus orci ac auctor augue mauris augue.", + "date": "May 15 2022", + "important": false, + "starred": false, + "trash": false, + "spam": false, + "archived": true + }, + { + "id": 2000, + "to": "Ioni Bowcher", + "email":"ionibowcher@gmail.com", + "image": "ionibowcher.png", + "title": "Apply These 7 Secret Techniques To Improve Event Apply These", + "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "date": "May 30 2022", + "starred": false, + "trash": false, + "archived": false, + "sent" : true + }, + { + "id": 2001, + "to": "Amy Elsner", + "email":"amyelsner@gmail.com", + "image": "amyelsner.png", + "title": "Nullam purus metus, cras adipiscing magna et, aliquam gravida", + "message": "Iaculis nunc sed augue lacus viverra vitae. Amet porttitor eget dolor morbi non arcu. Adipiscing commodo elit at imperdiet. Scelerisque viverra mauris in aliquam. Non diam phasellus vestibulum lorem sed risus. Malesuada bibendum arcu vitae elementum curabitur vitae nunc sed velit. Curabitur vitae nunc sed velit dignissim sodales ut eu. Posuere morbi leo urna molestie at elementum eu facilisis. Commodo odio aenean sed adipiscing diam. Arcu non odio euismod lacinia at quis. Viverra suspendisse potenti nullam ac tortor vitae purus. Viverra mauris in aliquam sem fringilla ut morbi. Sed viverra ipsum nunc aliquet bibendum enim facilisis gravida neque. Tristique senectus et netus et malesuada.", + "date": "May 30 2022", + "starred": true, + "trash": false, + "archived": false, + "sent" : true + }, + { + "id": 2002, + "to": "Asiya Javayant", + "email":"asiyajavayant@gmail.com", + "image": "asiyajavayant.png", + "title": "Consectetur sed dis viverra lorem. Augue felis sed elit rhoncus non", + "message": "In tellus integer feugiat scelerisque varius. Auctor neque vitae tempus quam pellentesque nec nam aliquam. Elit pellentesque habitant morbi tristique senectus et netus. Sodales ut etiam sit amet nisl purus in. Ullamcorper morbi tincidunt ornare massa eget egestas purus. Quam vulputate dignissim suspendisse in est ante in nibh. Turpis egestas sed tempus urna et pharetra. Non curabitur gravida arcu ac tortor. Integer malesuada nunc vel risus commodo viverra maecenas accumsan lacus. Massa placerat duis ultricies lacus sed turpis tincidunt id aliquet. Varius duis at consectetur lorem. Ultricies leo integer malesuada nunc vel. Blandit massa enim nec dui. Blandit massa enim nec dui nunc mattis enim. Arcu vitae elementum curabitur vitae nunc sed velit dignissim.", + "date": "May 28 2022", + "starred": false, + "trash": false, + "archived": false, + "sent" : true + } + ] +} \ No newline at end of file diff --git a/public/demo/data/members.json b/public/demo/data/members.json new file mode 100644 index 0000000..6592e71 --- /dev/null +++ b/public/demo/data/members.json @@ -0,0 +1,49 @@ +{ + "data": [ + { + "id": 1000, + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + { + "id": 1001, + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + { + "id": 1002, + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + { + "id": 1003, + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + }, + { + "id": 1004, + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + { + "id": 1005, + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + { + "id": 1006, + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + { + "id": 1007, + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + { + "id": 1008, + "name": "Onyama Limba", + "image": "onyamalimba.png" + } + ] +} diff --git a/public/demo/data/photos.json b/public/demo/data/photos.json new file mode 100644 index 0000000..b261bab --- /dev/null +++ b/public/demo/data/photos.json @@ -0,0 +1,93 @@ +{ + "data": [{ + "itemImageSrc": "demo/images/galleria/galleria1.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria1s.jpg", + "alt": "Description for Image 1", + "title": "Title 1" + }, + { + "itemImageSrc": "demo/images/galleria/galleria2.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria2s.jpg", + "alt": "Description for Image 2", + "title": "Title 2" + }, + { + "itemImageSrc": "demo/images/galleria/galleria3.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria3s.jpg", + "alt": "Description for Image 3", + "title": "Title 3" + }, + { + "itemImageSrc": "demo/images/galleria/galleria4.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria4s.jpg", + "alt": "Description for Image 4", + "title": "Title 4" + }, + { + "itemImageSrc": "demo/images/galleria/galleria5.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria5s.jpg", + "alt": "Description for Image 5", + "title": "Title 5" + }, + { + "itemImageSrc": "demo/images/galleria/galleria6.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria6s.jpg", + "alt": "Description for Image 6", + "title": "Title 6" + }, + { + "itemImageSrc": "demo/images/galleria/galleria7.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria7s.jpg", + "alt": "Description for Image 7", + "title": "Title 7" + }, + { + "itemImageSrc": "demo/images/galleria/galleria8.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria8s.jpg", + "alt": "Description for Image 8", + "title": "Title 8" + }, + { + "itemImageSrc": "demo/images/galleria/galleria9.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria9s.jpg", + "alt": "Description for Image 9", + "title": "Title 9" + }, + { + "itemImageSrc": "demo/images/galleria/galleria10.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria10s.jpg", + "alt": "Description for Image 10", + "title": "Title 10" + }, + { + "itemImageSrc": "demo/images/galleria/galleria11.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria11s.jpg", + "alt": "Description for Image 11", + "title": "Title 11" + }, + { + "itemImageSrc": "demo/images/galleria/galleria12.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria12s.jpg", + "alt": "Description for Image 12", + "title": "Title 12" + }, + { + "itemImageSrc": "demo/images/galleria/galleria13.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria13s.jpg", + "alt": "Description for Image 13", + "title": "Title 13" + }, + { + "itemImageSrc": "demo/images/galleria/galleria14.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria14s.jpg", + "alt": "Description for Image 14", + "title": "Title 14" + }, + { + "itemImageSrc": "demo/images/galleria/galleria15.jpg", + "thumbnailImageSrc": "demo/images/galleria/galleria15s.jpg", + "alt": "Description for Image 15", + "title": "Title 15" + } + ] +} \ No newline at end of file diff --git a/public/demo/data/products-mixed.json b/public/demo/data/products-mixed.json new file mode 100644 index 0000000..0105734 --- /dev/null +++ b/public/demo/data/products-mixed.json @@ -0,0 +1,364 @@ +{ + "data": [ + { + "id": "1007", + "code": "mbvjkgip5", + "name": "Galaxy Earrings", + "description": "Product Description", + "image": "galaxy-earrings.jpg", + "price": 34, + "category": "Accessories", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1024", + "code": "lm2tny2k4", + "name": "Shoes", + "description": "Product Description", + "image": "shoes.jpg", + "price": 64, + "category": "Clothing", + "quantity": 0, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1016", + "code": "k8l6j58jl", + "name": "Lime Band", + "description": "Product Description", + "image": "lime-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 12, + "inventoryStatus": "INSTOCK", + "rating": 3 + }, + { + "id": "1009", + "code": "cm230f032", + "name": "Gaming Set", + "description": "Product Description", + "image": "gaming-set.jpg", + "price": 299, + "category": "Electronics", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 3 + }, + { + "id": "1002", + "code": "zz21cz3c1", + "name": "Blue Band", + "description": "Product Description", + "image": "blue-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1001", + "code": "nvklal433", + "name": "Black Watch", + "description": "Product Description", + "image": "black-watch.jpg", + "price": 72, + "category": "Accessories", + "quantity": 61, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1003", + "code": "244wgerg2", + "name": "Blue T-Shirt", + "description": "Product Description", + "image": "blue-t-shirt.jpg", + "price": 29, + "category": "Clothing", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1019", + "code": "mnb5mb2m5", + "name": "Pink Band", + "description": "Product Description", + "image": "pink-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1006", + "code": "bib36pfvm", + "name": "Chakra Bracelet", + "description": "Product Description", + "image": "chakra-bracelet.jpg", + "price": 32, + "category": "Accessories", + "quantity": 5, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1025", + "code": "nbm5mv45n", + "name": "Sneakers", + "description": "Product Description", + "image": "sneakers.jpg", + "price": 78, + "category": "Clothing", + "quantity": 52, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1008", + "code": "vbb124btr", + "name": "Game Controller", + "description": "Product Description", + "image": "game-controller.jpg", + "price": 99, + "category": "Electronics", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 4 + }, + { + "id": "1010", + "code": "plb34234v", + "name": "Gold Phone Case", + "description": "Product Description", + "image": "gold-phone-case.jpg", + "price": 24, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1011", + "code": "4920nnc2d", + "name": "Green Earbuds", + "description": "Product Description", + "image": "green-earbuds.jpg", + "price": 89, + "category": "Electronics", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1015", + "code": "vb34btbg5", + "name": "Light Green T-Shirt", + "description": "Product Description", + "image": "light-green-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 34, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1012", + "code": "250vm23cc", + "name": "Green T-Shirt", + "description": "Product Description", + "image": "green-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 74, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1014", + "code": "waas1x2as", + "name": "Headphones", + "description": "Product Description", + "image": "headphones.jpg", + "price": 175, + "category": "Electronics", + "quantity": 8, + "inventoryStatus": "LOWSTOCK", + "rating": 5 + }, + { + "id": "1017", + "code": "v435nn85n", + "name": "Mini Speakers", + "description": "Product Description", + "image": "mini-speakers.jpg", + "price": 85, + "category": "Clothing", + "quantity": 42, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1005", + "code": "av2231fwg", + "name": "Brown Purse", + "description": "Product Description", + "image": "brown-purse.jpg", + "price": 120, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1018", + "code": "09zx9c0zc", + "name": "Painted Phone Case", + "description": "Product Description", + "image": "painted-phone-case.jpg", + "price": 56, + "category": "Accessories", + "quantity": 41, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1020", + "code": "r23fwf2w3", + "name": "Pink Purse", + "description": "Product Description", + "image": "pink-purse.jpg", + "price": 110, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1021", + "code": "pxpzczo23", + "name": "Purple Band", + "description": "Product Description", + "image": "purple-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 6, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1022", + "code": "2c42cb5cb", + "name": "Purple Gemstone Necklace", + "description": "Product Description", + "image": "purple-gemstone-necklace.jpg", + "price": 45, + "category": "Accessories", + "quantity": 62, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1023", + "code": "5k43kkk23", + "name": "Purple T-Shirt", + "description": "Product Description", + "image": "purple-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 5 + }, + { + "id": "1028", + "code": "tx125ck42", + "name": "Yoga Mat", + "description": "Product Description", + "image": "yoga-mat.jpg", + "price": 20, + "category": "Fitness", + "quantity": 15, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1027", + "code": "acvx872gc", + "name": "Yellow Earbuds", + "description": "Product Description", + "image": "yellow-earbuds.jpg", + "price": 89, + "category": "Electronics", + "quantity": 35, + "inventoryStatus": "INSTOCK", + "rating": 3 + }, + { + "id": "1000", + "code": "f230fh0g3", + "name": "Bamboo Watch", + "description": "Product Description", + "image": "bamboo-watch.jpg", + "price": 65, + "category": "Accessories", + "quantity": 24, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1013", + "code": "fldsmn31b", + "name": "Grey T-Shirt", + "description": "Product Description", + "image": "grey-t-shirt.jpg", + "price": 48, + "category": "Clothing", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 3 + }, + { + "id": "1026", + "code": "zx23zc42c", + "name": "Teal T-Shirt", + "description": "Product Description", + "image": "teal-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 3, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1004", + "code": "h456wer53", + "name": "Bracelet", + "description": "Product Description", + "image": "bracelet.jpg", + "price": 15, + "category": "Accessories", + "quantity": 73, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1029", + "code": "gwuby345v", + "name": "Yoga Set", + "description": "Product Description", + "image": "yoga-set.jpg", + "price": 20, + "category": "Fitness", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 8 + } + ] +} diff --git a/public/demo/data/products-orders-small.json b/public/demo/data/products-orders-small.json new file mode 100644 index 0000000..b66e290 --- /dev/null +++ b/public/demo/data/products-orders-small.json @@ -0,0 +1,341 @@ +{ + "data": [ + { + "id": "1000", + "code": "f230fh0g3", + "name": "Bamboo Watch", + "description": "Product Description", + "image": "bamboo-watch.jpg", + "price": 65, + "category": "Accessories", + "quantity": 24, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [ + { + "id": "1000", + "productCode": "f230fh0g3", + "date": "2020-09-13", + "amount": 65, + "quantity": 1, + "customer": "David James", + "status": "PENDING" + }, + { + "id": "1001", + "productCode": "f230fh0g3", + "date": "2020-05-14", + "amount": 130, + "quantity": 2, + "customer": "Leon Rodrigues", + "status": "DELIVERED" + }, + { + "id": "1002", + "productCode": "f230fh0g3", + "date": "2019-01-04", + "amount": 65, + "quantity": 1, + "customer": "Juan Alejandro", + "status": "RETURNED" + }, + { + "id": "1003", + "productCode": "f230fh0g3", + "date": "2020-09-13", + "amount": 195, + "quantity": 3, + "customer": "Claire Morrow", + "status": "CANCELLED" + } + ] + }, + { + "id": "1001", + "code": "nvklal433", + "name": "Black Watch", + "description": "Product Description", + "image": "black-watch.jpg", + "price": 72, + "category": "Accessories", + "quantity": 61, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "2000", + "productCode": "nvklal433", + "date": "2020-05-14", + "amount": 72, + "quantity": 1, + "customer": "Maisha Jefferson", + "status": "DELIVERED" + }, + { + "id": "2001", + "productCode": "nvklal433", + "date": "2020-02-28", + "amount": 144, + "quantity": 2, + "customer": "Octavia Murillo", + "status": "PENDING" + } + ] + }, + { + "id": "1002", + "code": "zz21cz3c1", + "name": "Blue Band", + "description": "Product Description", + "image": "blue-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 3, + "orders": [ + { + "id": "3000", + "productCode": "zz21cz3c1", + "date": "2020-07-05", + "amount": 79, + "quantity": 1, + "customer": "Stacey Leja", + "status": "DELIVERED" + }, + { + "id": "3001", + "productCode": "zz21cz3c1", + "date": "2020-02-06", + "amount": 79, + "quantity": 1, + "customer": "Ashley Wickens", + "status": "DELIVERED" + } + ] + }, + { + "id": "1003", + "code": "244wgerg2", + "name": "Blue T-Shirt", + "description": "Product Description", + "image": "blue-t-shirt.jpg", + "price": 29, + "category": "Clothing", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [] + }, + { + "id": "1004", + "code": "h456wer53", + "name": "Bracelet", + "description": "Product Description", + "image": "bracelet.jpg", + "price": 15, + "category": "Accessories", + "quantity": 73, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "5000", + "productCode": "h456wer53", + "date": "2020-09-05", + "amount": 60, + "quantity": 4, + "customer": "Mayumi Misaki", + "status": "PENDING" + }, + { + "id": "5001", + "productCode": "h456wer53", + "date": "2019-04-16", + "amount": 2, + "quantity": 30, + "customer": "Francesco Salvatore", + "status": "DELIVERED" + } + ] + }, + { + "id": "1005", + "code": "av2231fwg", + "name": "Brown Purse", + "description": "Product Description", + "image": "brown-purse.jpg", + "price": 120, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4, + "orders": [ + { + "id": "6000", + "productCode": "av2231fwg", + "date": "2020-01-25", + "amount": 120, + "quantity": 1, + "customer": "Isabel Sinclair", + "status": "RETURNED" + }, + { + "id": "6001", + "productCode": "av2231fwg", + "date": "2019-03-12", + "amount": 240, + "quantity": 2, + "customer": "Lionel Clifford", + "status": "DELIVERED" + }, + { + "id": "6002", + "productCode": "av2231fwg", + "date": "2019-05-05", + "amount": 120, + "quantity": 1, + "customer": "Cody Chavez", + "status": "DELIVERED" + } + ] + }, + { + "id": "1006", + "code": "bib36pfvm", + "name": "Chakra Bracelet", + "description": "Product Description", + "image": "chakra-bracelet.jpg", + "price": 32, + "category": "Accessories", + "quantity": 5, + "inventoryStatus": "LOWSTOCK", + "rating": 3, + "orders": [ + { + "id": "7000", + "productCode": "bib36pfvm", + "date": "2020-02-24", + "amount": 32, + "quantity": 1, + "customer": "Arvin Darci", + "status": "DELIVERED" + }, + { + "id": "7001", + "productCode": "bib36pfvm", + "date": "2020-01-14", + "amount": 64, + "quantity": 2, + "customer": "Izzy Jones", + "status": "PENDING" + } + ] + }, + { + "id": "1007", + "code": "mbvjkgip5", + "name": "Galaxy Earrings", + "description": "Product Description", + "image": "galaxy-earrings.jpg", + "price": 34, + "category": "Accessories", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [ + { + "id": "8000", + "productCode": "mbvjkgip5", + "date": "2020-06-19", + "amount": 34, + "quantity": 1, + "customer": "Jennifer Smith", + "status": "DELIVERED" + } + ] + }, + { + "id": "1008", + "code": "vbb124btr", + "name": "Game Controller", + "description": "Product Description", + "image": "game-controller.jpg", + "price": 99, + "category": "Electronics", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 4, + "orders": [ + { + "id": "9000", + "productCode": "vbb124btr", + "date": "2020-01-05", + "amount": 99, + "quantity": 1, + "customer": "Jeanfrancois David", + "status": "DELIVERED" + }, + { + "id": "9001", + "productCode": "vbb124btr", + "date": "2020-01-19", + "amount": 198, + "quantity": 2, + "customer": "Ivar Greenwood", + "status": "RETURNED" + } + ] + }, + { + "id": "1009", + "code": "cm230f032", + "name": "Gaming Set", + "description": "Product Description", + "image": "gaming-set.jpg", + "price": 299, + "category": "Electronics", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 3, + "orders": [ + { + "id": "10000", + "productCode": "cm230f032", + "date": "2020-06-24", + "amount": 299, + "quantity": 1, + "customer": "Kadeem Mujtaba", + "status": "PENDING" + }, + { + "id": "10001", + "productCode": "cm230f032", + "date": "2020-05-11", + "amount": 299, + "quantity": 1, + "customer": "Ashley Wickens", + "status": "DELIVERED" + }, + { + "id": "10002", + "productCode": "cm230f032", + "date": "2019-02-07", + "amount": 299, + "quantity": 1, + "customer": "Julie Johnson", + "status": "DELIVERED" + }, + { + "id": "10003", + "productCode": "cm230f032", + "date": "2020-04-26", + "amount": 299, + "quantity": 1, + "customer": "Tony Costa", + "status": "CANCELLED" + } + ] + } + ] +} \ No newline at end of file diff --git a/public/demo/data/products-orders.json b/public/demo/data/products-orders.json new file mode 100644 index 0000000..de8c170 --- /dev/null +++ b/public/demo/data/products-orders.json @@ -0,0 +1,833 @@ +{ + "data": [ + { + "id": "1000", + "code": "f230fh0g3", + "name": "Bamboo Watch", + "description": "Product Description", + "image": "bamboo-watch.jpg", + "price": 65, + "category": "Accessories", + "quantity": 24, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [ + { + "id": "1000-0", + "productCode": "f230fh0g3", + "date": "2020-09-13", + "amount": 65, + "quantity": 1, + "customer": "David James", + "status": "PENDING" + }, + { + "id": "1001-1", + "productCode": "f230fh0g3", + "date": "2020-05-14", + "amount": 130, + "quantity": 2, + "customer": "Leon Rodrigues", + "status": "DELIVERED" + }, + { + "id": "1002-2", + "productCode": "f230fh0g3", + "date": "2019-01-04", + "amount": 65, + "quantity": 1, + "customer": "Juan Alejandro", + "status": "RETURNED" + }, + { + "id": "1003-3", + "productCode": "f230fh0g3", + "date": "2020-09-13", + "amount": 195, + "quantity": 3, + "customer": "Claire Morrow", + "status": "CANCELLED" + } + ] + }, + { + "id": "1001", + "code": "nvklal433", + "name": "Black Watch", + "description": "Product Description", + "image": "black-watch.jpg", + "price": 72, + "category": "Accessories", + "quantity": 61, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1001-0", + "productCode": "nvklal433", + "date": "2020-05-14", + "amount": 72, + "quantity": 1, + "customer": "Maisha Jefferson", + "status": "DELIVERED" + }, + { + "id": "1001-1", + "productCode": "nvklal433", + "date": "2020-02-28", + "amount": 144, + "quantity": 2, + "customer": "Octavia Murillo", + "status": "PENDING" + } + ] + }, + { + "id": "1002", + "code": "zz21cz3c1", + "name": "Blue Band", + "description": "Product Description", + "image": "blue-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 3, + "orders": [ + { + "id": "1002-0", + "productCode": "zz21cz3c1", + "date": "2020-07-05", + "amount": 79, + "quantity": 1, + "customer": "Stacey Leja", + "status": "DELIVERED" + }, + { + "id": "1002-1", + "productCode": "zz21cz3c1", + "date": "2020-02-06", + "amount": 79, + "quantity": 1, + "customer": "Ashley Wickens", + "status": "DELIVERED" + } + ] + }, + { + "id": "1003", + "code": "244wgerg2", + "name": "Blue T-Shirt", + "description": "Product Description", + "image": "blue-t-shirt.jpg", + "price": 29, + "category": "Clothing", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [] + }, + { + "id": "1004", + "code": "h456wer53", + "name": "Bracelet", + "description": "Product Description", + "image": "bracelet.jpg", + "price": 15, + "category": "Accessories", + "quantity": 73, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1004-0", + "productCode": "h456wer53", + "date": "2020-09-05", + "amount": 60, + "quantity": 4, + "customer": "Mayumi Misaki", + "status": "PENDING" + }, + { + "id": "1004-5", + "productCode": "h456wer53", + "date": "2019-04-16", + "amount": 2, + "quantity": 30, + "customer": "Francesco Salvatore", + "status": "DELIVERED" + } + ] + }, + { + "id": "1005", + "code": "av2231fwg", + "name": "Brown Purse", + "description": "Product Description", + "image": "brown-purse.jpg", + "price": 120, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4, + "orders": [ + { + "id": "1005-0", + "productCode": "av2231fwg", + "date": "2020-01-25", + "amount": 120, + "quantity": 1, + "customer": "Isabel Sinclair", + "status": "RETURNED" + }, + { + "id": "1005-1", + "productCode": "av2231fwg", + "date": "2019-03-12", + "amount": 240, + "quantity": 2, + "customer": "Lionel Clifford", + "status": "DELIVERED" + }, + { + "id": "1005-2", + "productCode": "av2231fwg", + "date": "2019-05-05", + "amount": 120, + "quantity": 1, + "customer": "Cody Chavez", + "status": "DELIVERED" + } + ] + }, + { + "id": "1006", + "code": "bib36pfvm", + "name": "Chakra Bracelet", + "description": "Product Description", + "image": "chakra-bracelet.jpg", + "price": 32, + "category": "Accessories", + "quantity": 5, + "inventoryStatus": "LOWSTOCK", + "rating": 3, + "orders": [ + { + "id": "1006-0", + "productCode": "bib36pfvm", + "date": "2020-02-24", + "amount": 32, + "quantity": 1, + "customer": "Arvin Darci", + "status": "DELIVERED" + }, + { + "id": "1006-1", + "productCode": "bib36pfvm", + "date": "2020-01-14", + "amount": 64, + "quantity": 2, + "customer": "Izzy Jones", + "status": "PENDING" + } + ] + }, + { + "id": "1007", + "code": "mbvjkgip5", + "name": "Galaxy Earrings", + "description": "Product Description", + "image": "galaxy-earrings.jpg", + "price": 34, + "category": "Accessories", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [ + { + "id": "1007-0", + "productCode": "mbvjkgip5", + "date": "2020-06-19", + "amount": 34, + "quantity": 1, + "customer": "Jennifer Smith", + "status": "DELIVERED" + } + ] + }, + { + "id": "1008", + "code": "vbb124btr", + "name": "Game Controller", + "description": "Product Description", + "image": "game-controller.jpg", + "price": 99, + "category": "Electronics", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 4, + "orders": [ + { + "id": "1008-0", + "productCode": "vbb124btr", + "date": "2020-01-05", + "amount": 99, + "quantity": 1, + "customer": "Jeanfrancois David", + "status": "DELIVERED" + }, + { + "id": "1008-1", + "productCode": "vbb124btr", + "date": "2020-01-19", + "amount": 198, + "quantity": 2, + "customer": "Ivar Greenwood", + "status": "RETURNED" + } + ] + }, + { + "id": "1009", + "code": "cm230f032", + "name": "Gaming Set", + "description": "Product Description", + "image": "gaming-set.jpg", + "price": 299, + "category": "Electronics", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 3, + "orders": [ + { + "id": "1009-0", + "productCode": "cm230f032", + "date": "2020-06-24", + "amount": 299, + "quantity": 1, + "customer": "Kadeem Mujtaba", + "status": "PENDING" + }, + { + "id": "1009-1", + "productCode": "cm230f032", + "date": "2020-05-11", + "amount": 299, + "quantity": 1, + "customer": "Ashley Wickens", + "status": "DELIVERED" + }, + { + "id": "1009-2", + "productCode": "cm230f032", + "date": "2019-02-07", + "amount": 299, + "quantity": 1, + "customer": "Julie Johnson", + "status": "DELIVERED" + }, + { + "id": "1009-3", + "productCode": "cm230f032", + "date": "2020-04-26", + "amount": 299, + "quantity": 1, + "customer": "Tony Costa", + "status": "CANCELLED" + } + ] + }, + { + "id": "1010", + "code": "plb34234v", + "name": "Gold Phone Case", + "description": "Product Description", + "image": "gold-phone-case.jpg", + "price": 24, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4, + "orders": [ + { + "id": "1010-0", + "productCode": "plb34234v", + "date": "2020-02-04", + "amount": 24, + "quantity": 1, + "customer": "James Butt", + "status": "DELIVERED" + }, + { + "id": "1010-1", + "productCode": "plb34234v", + "date": "2020-05-05", + "amount": 48, + "quantity": 2, + "customer": "Josephine Darakjy", + "status": "DELIVERED" + } + ] + }, + { + "id": "1011", + "code": "4920nnc2d", + "name": "Green Earbuds", + "description": "Product Description", + "image": "green-earbuds.jpg", + "price": 89, + "category": "Electronics", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1011-0", + "productCode": "4920nnc2d", + "date": "2020-06-01", + "amount": 89, + "quantity": 1, + "customer": "Art Venere", + "status": "DELIVERED" + } + ] + }, + { + "id": "1012", + "code": "250vm23cc", + "name": "Green T-Shirt", + "description": "Product Description", + "image": "green-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 74, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [ + { + "id": "1012-0", + "productCode": "250vm23cc", + "date": "2020-02-05", + "amount": 49, + "quantity": 1, + "customer": "Lenna Paprocki", + "status": "DELIVERED" + }, + { + "id": "1012-1", + "productCode": "250vm23cc", + "date": "2020-02-15", + "amount": 49, + "quantity": 1, + "customer": "Donette Foller", + "status": "PENDING" + } + ] + }, + { + "id": "1013", + "code": "fldsmn31b", + "name": "Grey T-Shirt", + "description": "Product Description", + "image": "grey-t-shirt.jpg", + "price": 48, + "category": "Clothing", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 3, + "orders": [ + { + "id": "1013-0", + "productCode": "fldsmn31b", + "date": "2020-04-01", + "amount": 48, + "quantity": 1, + "customer": "Simona Morasca", + "status": "DELIVERED" + } + ] + }, + { + "id": "1014", + "code": "waas1x2as", + "name": "Headphones", + "description": "Product Description", + "image": "headphones.jpg", + "price": 175, + "category": "Electronics", + "quantity": 8, + "inventoryStatus": "LOWSTOCK", + "rating": 5, + "orders": [ + { + "id": "1014-0", + "productCode": "waas1x2as", + "date": "2020-05-15", + "amount": 175, + "quantity": 1, + "customer": "Lenna Paprocki", + "status": "DELIVERED" + }, + { + "id": "1014-1", + "productCode": "waas1x2as", + "date": "2020-01-02", + "amount": 175, + "quantity": 1, + "customer": "Donette Foller", + "status": "CANCELLED" + } + ] + }, + { + "id": "1015", + "code": "vb34btbg5", + "name": "Light Green T-Shirt", + "description": "Product Description", + "image": "light-green-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 34, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1015-0", + "productCode": "vb34btbg5", + "date": "2020-07-02", + "amount": 98, + "quantity": 2, + "customer": "Mitsue Tollner", + "status": "DELIVERED" + } + ] + }, + { + "id": "1016", + "code": "k8l6j58jl", + "name": "Lime Band", + "description": "Product Description", + "image": "lime-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 12, + "inventoryStatus": "INSTOCK", + "rating": 3, + "orders": [] + }, + { + "id": "1017", + "code": "v435nn85n", + "name": "Mini Speakers", + "description": "Product Description", + "image": "mini-speakers.jpg", + "price": 85, + "category": "Clothing", + "quantity": 42, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1017-0", + "productCode": "v435nn85n", + "date": "2020-07-12", + "amount": 85, + "quantity": 1, + "customer": "Minna Amigon", + "status": "DELIVERED" + } + ] + }, + { + "id": "1018", + "code": "09zx9c0zc", + "name": "Painted Phone Case", + "description": "Product Description", + "image": "painted-phone-case.jpg", + "price": 56, + "category": "Accessories", + "quantity": 41, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [ + { + "id": "1018-0", + "productCode": "09zx9c0zc", + "date": "2020-07-01", + "amount": 56, + "quantity": 1, + "customer": "Abel Maclead", + "status": "DELIVERED" + }, + { + "id": "1018-1", + "productCode": "09zx9c0zc", + "date": "2020-05-02", + "amount": 56, + "quantity": 1, + "customer": "Minna Amigon", + "status": "RETURNED" + } + ] + }, + { + "id": "1019", + "code": "mnb5mb2m5", + "name": "Pink Band", + "description": "Product Description", + "image": "pink-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [] + }, + { + "id": "1020", + "code": "r23fwf2w3", + "name": "Pink Purse", + "description": "Product Description", + "image": "pink-purse.jpg", + "price": 110, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4, + "orders": [ + { + "id": "1020-0", + "productCode": "r23fwf2w3", + "date": "2020-05-29", + "amount": 110, + "quantity": 1, + "customer": "Kiley Caldarera", + "status": "DELIVERED" + }, + { + "id": "1020-1", + "productCode": "r23fwf2w3", + "date": "2020-02-11", + "amount": 220, + "quantity": 2, + "customer": "Graciela Ruta", + "status": "DELIVERED" + } + ] + }, + { + "id": "1021", + "code": "pxpzczo23", + "name": "Purple Band", + "description": "Product Description", + "image": "purple-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 6, + "inventoryStatus": "LOWSTOCK", + "rating": 3, + "orders": [ + { + "id": "1021-0", + "productCode": "pxpzczo23", + "date": "2020-02-02", + "amount": 79, + "quantity": 1, + "customer": "Cammy Albares", + "status": "DELIVERED" + } + ] + }, + { + "id": "1022", + "code": "2c42cb5cb", + "name": "Purple Gemstone Necklace", + "description": "Product Description", + "image": "purple-gemstone-necklace.jpg", + "price": 45, + "category": "Accessories", + "quantity": 62, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1022-0", + "productCode": "2c42cb5cb", + "date": "2020-06-29", + "amount": 45, + "quantity": 1, + "customer": "Mattie Poquette", + "status": "DELIVERED" + }, + { + "id": "1022-1", + "productCode": "2c42cb5cb", + "date": "2020-02-11", + "amount": 135, + "quantity": 3, + "customer": "Meaghan Garufi", + "status": "DELIVERED" + } + ] + }, + { + "id": "1023", + "code": "5k43kkk23", + "name": "Purple T-Shirt", + "description": "Product Description", + "image": "purple-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 5, + "orders": [ + { + "id": "1023-0", + "productCode": "5k43kkk23", + "date": "2020-04-15", + "amount": 49, + "quantity": 1, + "customer": "Gladys Rim", + "status": "RETURNED" + } + ] + }, + { + "id": "1024", + "code": "lm2tny2k4", + "name": "Shoes", + "description": "Product Description", + "image": "shoes.jpg", + "price": 64, + "category": "Clothing", + "quantity": 0, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [] + }, + { + "id": "1025", + "code": "nbm5mv45n", + "name": "Sneakers", + "description": "Product Description", + "image": "sneakers.jpg", + "price": 78, + "category": "Clothing", + "quantity": 52, + "inventoryStatus": "INSTOCK", + "rating": 4, + "orders": [ + { + "id": "1025-0", + "productCode": "nbm5mv45n", + "date": "2020-02-19", + "amount": 78, + "quantity": 1, + "customer": "Yuki Whobrey", + "status": "DELIVERED" + }, + { + "id": "1025-1", + "productCode": "nbm5mv45n", + "date": "2020-05-21", + "amount": 78, + "quantity": 1, + "customer": "Fletcher Flosi", + "status": "PENDING" + } + ] + }, + { + "id": "1026", + "code": "zx23zc42c", + "name": "Teal T-Shirt", + "description": "Product Description", + "image": "teal-t-shirt.jpg", + "price": 49, + "category": "Clothing", + "quantity": 3, + "inventoryStatus": "LOWSTOCK", + "rating": 3, + "orders": [ + { + "id": "1026-0", + "productCode": "zx23zc42c", + "date": "2020-04-24", + "amount": 98, + "quantity": 2, + "customer": "Bette Nicka", + "status": "DELIVERED" + } + ] + }, + { + "id": "1027", + "code": "acvx872gc", + "name": "Yellow Earbuds", + "description": "Product Description", + "image": "yellow-earbuds.jpg", + "price": 89, + "category": "Electronics", + "quantity": 35, + "inventoryStatus": "INSTOCK", + "rating": 3, + "orders": [ + { + "id": "1027-0", + "productCode": "acvx872gc", + "date": "2020-01-29", + "amount": 89, + "quantity": 1, + "customer": "Veronika Inouye", + "status": "DELIVERED" + }, + { + "id": "1027-1", + "productCode": "acvx872gc", + "date": "2020-06-11", + "amount": 89, + "quantity": 1, + "customer": "Willard Kolmetz", + "status": "DELIVERED" + } + ] + }, + { + "id": "1028", + "code": "tx125ck42", + "name": "Yoga Mat", + "description": "Product Description", + "image": "yoga-mat.jpg", + "price": 20, + "category": "Fitness", + "quantity": 15, + "inventoryStatus": "INSTOCK", + "rating": 5, + "orders": [] + }, + { + "id": "1029", + "code": "gwuby345v", + "name": "Yoga Set", + "description": "Product Description", + "image": "yoga-set.jpg", + "price": 20, + "category": "Fitness", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 8, + "orders": [ + { + "id": "1026-0", + "productCode": "gwuby345v", + "date": "2020-02-14", + "amount": 4, + "quantity": 80, + "customer": "Maryann Royster", + "status": "DELIVERED" + } + ] + } + ] +} diff --git a/public/demo/data/products-small.json b/public/demo/data/products-small.json new file mode 100644 index 0000000..0daf2cc --- /dev/null +++ b/public/demo/data/products-small.json @@ -0,0 +1,124 @@ +{ + "data": [ + { + "id": "1000", + "code": "f230fh0g3", + "name": "Bamboo Watch", + "description": "Product Description", + "image": "bamboo-watch.jpg", + "price": 65, + "category": "Accessories", + "quantity": 24, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1001", + "code": "nvklal433", + "name": "Black Watch", + "description": "Product Description", + "image": "black-watch.jpg", + "price": 72, + "category": "Accessories", + "quantity": 61, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1002", + "code": "zz21cz3c1", + "name": "Blue Band", + "description": "Product Description", + "image": "blue-band.jpg", + "price": 79, + "category": "Fitness", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1003", + "code": "244wgerg2", + "name": "Blue T-Shirt", + "description": "Product Description", + "image": "blue-t-shirt.jpg", + "price": 29, + "category": "Clothing", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1004", + "code": "h456wer53", + "name": "Bracelet", + "description": "Product Description", + "image": "bracelet.jpg", + "price": 15, + "category": "Accessories", + "quantity": 73, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1005", + "code": "av2231fwg", + "name": "Brown Purse", + "description": "Product Description", + "image": "brown-purse.jpg", + "price": 120, + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1006", + "code": "bib36pfvm", + "name": "Chakra Bracelet", + "description": "Product Description", + "image": "chakra-bracelet.jpg", + "price": 32, + "category": "Accessories", + "quantity": 5, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1007", + "code": "mbvjkgip5", + "name": "Galaxy Earrings", + "description": "Product Description", + "image": "galaxy-earrings.jpg", + "price": 34, + "category": "Accessories", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1008", + "code": "vbb124btr", + "name": "Game Controller", + "description": "Product Description", + "image": "game-controller.jpg", + "price": 99, + "category": "Electronics", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 4 + }, + { + "id": "1009", + "code": "cm230f032", + "name": "Gaming Set", + "description": "Product Description", + "image": "gaming-set.jpg", + "price": 299, + "category": "Electronics", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 3 + } + ] +} \ No newline at end of file diff --git a/public/demo/data/products.json b/public/demo/data/products.json new file mode 100644 index 0000000..5e82cea --- /dev/null +++ b/public/demo/data/products.json @@ -0,0 +1,394 @@ +{ + "data": [ + { + "id": "1000", + "code": "f230fh0g3", + "name": "Bamboo Watch", + "description": "Product Description", + "image": "bamboo-watch.jpg", + "price": 65, + "date": "09/13/2022", + "category": "Accessories", + "quantity": 24, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1001", + "code": "nvklal433", + "name": "Black Watch", + "description": "Product Description", + "image": "black-watch.jpg", + "price": 72, + "date": "09/12/2022", + "category": "Accessories", + "quantity": 61, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1002", + "code": "zz21cz3c1", + "name": "Blue Band", + "description": "Product Description", + "image": "blue-band.jpg", + "price": 79, + "date": "09/11/2022", + "category": "Fitness", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1003", + "code": "244wgerg2", + "name": "Blue T-Shirt", + "description": "Product Description", + "image": "blue-t-shirt.jpg", + "price": 29, + "date": "09/10/2022", + "category": "Clothing", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1004", + "code": "h456wer53", + "name": "Bracelet", + "description": "Product Description", + "image": "bracelet.jpg", + "price": 15, + "date": "09/09/2022", + "category": "Accessories", + "quantity": 73, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1005", + "code": "av2231fwg", + "name": "Brown Purse", + "description": "Product Description", + "image": "brown-purse.jpg", + "price": 120, + "date": "09/08/2022", + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1006", + "code": "bib36pfvm", + "name": "Chakra Bracelet", + "description": "Product Description", + "image": "chakra-bracelet.jpg", + "price": 32, + "date": "09/07/2022", + "category": "Accessories", + "quantity": 5, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1007", + "code": "mbvjkgip5", + "name": "Galaxy Earrings", + "description": "Product Description", + "image": "galaxy-earrings.jpg", + "price": 34, + "date": "09/06/2022", + "category": "Accessories", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1008", + "code": "vbb124btr", + "name": "Game Controller", + "description": "Product Description", + "image": "game-controller.jpg", + "price": 99, + "date": "09/05/2022", + "category": "Electronics", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 4 + }, + { + "id": "1009", + "code": "cm230f032", + "name": "Gaming Set", + "description": "Product Description", + "image": "gaming-set.jpg", + "price": 299, + "date": "09/05/2022", + "category": "Electronics", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 3 + }, + { + "id": "1010", + "code": "plb34234v", + "name": "Gold Phone Case", + "description": "Product Description", + "image": "gold-phone-case.jpg", + "price": 24, + "date":"09/04/2022", + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1011", + "code": "4920nnc2d", + "name": "Green Earbuds", + "description": "Product Description", + "image": "green-earbuds.jpg", + "price": 89, + "date":"09/03/2022", + "category": "Electronics", + "quantity": 23, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1012", + "code": "250vm23cc", + "name": "Green T-Shirt", + "description": "Product Description", + "image": "green-t-shirt.jpg", + "price": 49, + "date": "09/03/2022", + "category": "Clothing", + "quantity": 74, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1013", + "code": "fldsmn31b", + "name": "Grey T-Shirt", + "description": "Product Description", + "image": "grey-t-shirt.jpg", + "price": 48, + "date": "09/03/2022", + "category": "Clothing", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 3 + }, + { + "id": "1014", + "code": "waas1x2as", + "name": "Headphones", + "description": "Product Description", + "image": "headphones.jpg", + "price": 175, + "date": "09/02/2022", + "category": "Electronics", + "quantity": 8, + "inventoryStatus": "LOWSTOCK", + "rating": 5 + }, + { + "id": "1015", + "code": "vb34btbg5", + "name": "Light Green T-Shirt", + "description": "Product Description", + "image": "light-green-t-shirt.jpg", + "price": 49, + "date": "09/02/2022", + "category": "Clothing", + "quantity": 34, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1016", + "code": "k8l6j58jl", + "name": "Lime Band", + "description": "Product Description", + "image": "lime-band.jpg", + "price": 79, + "date": "09/02/2022", + "category": "Fitness", + "quantity": 12, + "inventoryStatus": "INSTOCK", + "rating": 3 + }, + { + "id": "1017", + "code": "v435nn85n", + "name": "Mini Speakers", + "description": "Product Description", + "image": "mini-speakers.jpg", + "price": 85, + "date": "08/30/2022", + "category": "Clothing", + "quantity": 42, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1018", + "code": "09zx9c0zc", + "name": "Painted Phone Case", + "description": "Product Description", + "image": "painted-phone-case.jpg", + "price": 56, + "date": "08/30/2022", + "category": "Accessories", + "quantity": 41, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1019", + "code": "mnb5mb2m5", + "name": "Pink Band", + "description": "Product Description", + "image": "pink-band.jpg", + "price": 79, + "date": "08/30/2022", + "category": "Fitness", + "quantity": 63, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1020", + "code": "r23fwf2w3", + "name": "Pink Purse", + "description": "Product Description", + "image": "pink-purse.jpg", + "price": 110, + "date": "08/30/2022", + "category": "Accessories", + "quantity": 0, + "inventoryStatus": "OUTOFSTOCK", + "rating": 4 + }, + { + "id": "1021", + "code": "pxpzczo23", + "name": "Purple Band", + "description": "Product Description", + "image": "purple-band.jpg", + "price": 79, + "date": "08/30/2022", + "category": "Fitness", + "quantity": 6, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1022", + "code": "2c42cb5cb", + "name": "Purple Gemstone Necklace", + "description": "Product Description", + "image": "purple-gemstone-necklace.jpg", + "price": 45, + "date": "08/30/2022", + "category": "Accessories", + "quantity": 62, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1023", + "code": "5k43kkk23", + "name": "Purple T-Shirt", + "description": "Product Description", + "image": "purple-t-shirt.jpg", + "price": 49, + "date": "08/28/2022", + "category": "Clothing", + "quantity": 2, + "inventoryStatus": "LOWSTOCK", + "rating": 5 + }, + { + "id": "1024", + "code": "lm2tny2k4", + "name": "Shoes", + "description": "Product Description", + "image": "shoes.jpg", + "price": 64, + "date": "08/28/2022", + "category": "Clothing", + "quantity": 0, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1025", + "code": "nbm5mv45n", + "name": "Sneakers", + "description": "Product Description", + "image": "sneakers.jpg", + "price": 78, + "date": "08/28/2022", + "category": "Clothing", + "quantity": 52, + "inventoryStatus": "INSTOCK", + "rating": 4 + }, + { + "id": "1026", + "code": "zx23zc42c", + "name": "Teal T-Shirt", + "description": "Product Description", + "image": "teal-t-shirt.jpg", + "price": 49, + "date": "08/27/2022", + "category": "Clothing", + "quantity": 3, + "inventoryStatus": "LOWSTOCK", + "rating": 3 + }, + { + "id": "1027", + "code": "acvx872gc", + "name": "Yellow Earbuds", + "description": "Product Description", + "image": "yellow-earbuds.jpg", + "price": 89, + "date": "08/27/2022", + "category": "Electronics", + "quantity": 35, + "inventoryStatus": "INSTOCK", + "rating": 3 + }, + { + "id": "1028", + "code": "tx125ck42", + "name": "Yoga Mat", + "description": "Product Description", + "image": "yoga-mat.jpg", + "price": 20, + "date": "08/26/2022", + "category": "Fitness", + "quantity": 15, + "inventoryStatus": "INSTOCK", + "rating": 5 + }, + { + "id": "1029", + "code": "gwuby345v", + "name": "Yoga Set", + "description": "Product Description", + "image": "yoga-set.jpg", + "price": 20, + "date": "08/26/2022", + "category": "Fitness", + "quantity": 25, + "inventoryStatus": "INSTOCK", + "rating": 8 + } + ] +} diff --git a/public/demo/data/scheduleevents.json b/public/demo/data/scheduleevents.json new file mode 100644 index 0000000..a19ec4d --- /dev/null +++ b/public/demo/data/scheduleevents.json @@ -0,0 +1,64 @@ +{ + "data": [ + { + "id": 1, + "title": "Maecenas Pulvinar", + "start": "2022-05-11", + "end": "2022-05-12", + "description": "eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus", + "location": "260 Calypso Terrace", + "backgroundColor": "#FFB6B6", + "borderColor": "#FFB6B6", + "textColor": "#212121", + "tag": {"color": "#FFB6B6", "name": "Company A"} + }, + { + "id": 2, + "title": "Aenean Lectus", + "start": "2022-05-18", + "end": "2022-05-22", + "description": "Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.", + "location": "93529 Sloan Junction", + "backgroundColor": "#FFC7E8", + "borderColor": "#FFC7E8", + "textColor": "#212121", + "tag": {"color": "#FFC7E8", "name": "Company B"} + }, + { + "id": 3, + "title": "Nam Ultrices", + "start": "2022-05-25T16:00:00", + "end": "2022-05-25T18:00:00", + "description": "Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.", + "location": "9295 Almo Avenue", + "backgroundColor": "#D2D6FF", + "borderColor": "#D2D6FF", + "textColor": "#212121", + "tag": {"color": "#D2D6FF", "name": "Company C"} + }, + { + "id": 4, + "title": "Nec Euismod", + "start": "2022-05-26T13:00:00", + "end": "2022-05-26T14:00:00", + "description": "Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi.", + "location": "8 Trailsway Avenue", + "backgroundColor": "#D2D6FF", + "borderColor": "#D2D6FF", + "textColor": "#212121", + "tag": {"color": "#D2D6FF", "name": "Company D"} + }, + { + "id": 5, + "title": "Donec Vitae", + "start": "2022-05-29", + "end": "2022-05-30", + "description": "Etiam vel augue. Vestibulum rutrum rutrum neque. Nulla tellus in sagittis dui vel nisl.", + "location": "4884 Golf Course Alley", + "backgroundColor": "#FFC7E8", + "borderColor": "#FFC7E8", + "textColor": "#212121", + "tag": {"color": "#FFC7E8", "name": "Company E"} + } + ] +} diff --git a/public/demo/data/tasks.json b/public/demo/data/tasks.json new file mode 100644 index 0000000..6689187 --- /dev/null +++ b/public/demo/data/tasks.json @@ -0,0 +1,205 @@ +{ + "data": [ + { + "id": 1, + "name": "Create a New Landing UI", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-13", + "endDate": "2022-05-15", + "members":[ + { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + ], + "completed": false, + "status": "Approved", + "comments": 3, + "attachments": 2 + }, + { + "id": 2, + "name": "Create Dashboard", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-16", + "endDate": "2022-05-20", + "members":[ + { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + ], + "completed": false, + "status": "Waiting", + "comments": 2, + "attachments": 4 + }, + { + "id": 3, + "name": "Brand logo design", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-17", + "endDate": "2022-05-18", + "members":[ + { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + { + "name": "Amy Elsner", + "image": "amyelsner.png" + }, + { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + ], + "completed": null, + "status": "Approved", + "comments": 4, + "attachments": 1 + }, + { + "id": 4, + "name": "Create Dashboard", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-20", + "endDate": "2022-05-22", + "members":[ + { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + ], + "completed": null, + "status": "Approved", + "comments": 1, + "attachments": 3 + }, + { + "id": 5, + "name": "Rebranding For Peak", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-24", + "endDate": "2022-05-26", + "members":[ + { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + { + "name": "Amy Elsner", + "image": "amyelsner.png" + } + ], + "completed": false, + "status": "Waiting", + "comments": 5, + "attachments": 2 + }, + { + "id": 6, + "name": "Create Mobile UI", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-13", + "endDate": "2022-05-15", + "members":[ + { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + } + ], + "completed": null, + "status": "Approved", + "comments": 1, + "attachments": 2 + }, + { + "id": 7, + "name": "Create a New Marketing Project", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-13", + "endDate": "2022-05-15", + "members":[ + { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + }, + { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + }, + { + "name": "Xuxue Feng", + "image": "xuxuefeng.png" + } + ], + "completed": true, + "status": "Complete", + "comments": 7, + "attachments": 4 + }, + { + "id": 8, + "name": "Analyze New Sprint", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-10", + "endDate": "2022-05-12", + "members":[ + { + "name": "Ioni Bowcher", + "image": "ionibowcher.png" + } + ], + "completed": true, + "status": "Complete", + "comments": 3, + "attachments": 2 + }, + { + "id": 9, + "name": "Create New Icon Set", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Enim eu turpis egestas pretium aenean pharetra magna.", + "startDate": "2022-05-13", + "endDate": "2022-05-15", + "members":[ + { + "name": "Onyama Limba", + "image": "onyamalimba.png" + }, + { + "name": "Ivan Magalhaes", + "image": "ivanmagalhaes.png" + }, + { + "name": "Asiya Javayant", + "image": "asiyajavayant.png" + } + ], + "completed": true, + "status": "Complete", + "comments": 1, + "attachments": 3 + } + ] +} \ No newline at end of file diff --git a/public/demo/data/treenodes.json b/public/demo/data/treenodes.json new file mode 100644 index 0000000..af626bb --- /dev/null +++ b/public/demo/data/treenodes.json @@ -0,0 +1,68 @@ +{ + "root": [ + { + "key": "0", + "label": "Documents", + "data": "Documents Folder", + "icon": "pi pi-fw pi-inbox", + "children": [ + { + "key": "0-0", + "label": "Work", + "data": "Work Folder", + "icon": "pi pi-fw pi-cog", + "children": [ + { "key": "0-0-0", "label": "Expenses.doc", "icon": "pi pi-fw pi-file", "data": "Expenses Document" }, + { "key": "0-0-1", "label": "Resume.doc", "icon": "pi pi-fw pi-file", "data": "Resume Document" } + ] + }, + { + "key": "0-1", + "label": "Home", + "data": "Home Folder", + "icon": "pi pi-fw pi-home", + "children": [{ "key": "0-1-0", "label": "Invoices.txt", "icon": "pi pi-fw pi-file", "data": "Invoices for this month" }] + } + ] + }, + { + "key": "1", + "label": "Events", + "data": "Events Folder", + "icon": "pi pi-fw pi-calendar", + "children": [ + { "key": "1-0", "label": "Meeting", "icon": "pi pi-fw pi-calendar-plus", "data": "Meeting" }, + { "key": "1-1", "label": "Product Launch", "icon": "pi pi-fw pi-calendar-plus", "data": "Product Launch" }, + { "key": "1-2", "label": "Report Review", "icon": "pi pi-fw pi-calendar-plus", "data": "Report Review" } + ] + }, + { + "key": "2", + "label": "Movies", + "data": "Movies Folder", + "icon": "pi pi-fw pi-star", + "children": [ + { + "key": "2-0", + "icon": "pi pi-fw pi-star", + "label": "Al Pacino", + "data": "Pacino Movies", + "children": [ + { "key": "2-0-0", "label": "Scarface", "icon": "pi pi-fw pi-video", "data": "Scarface Movie" }, + { "key": "2-0-1", "label": "Serpico", "icon": "pi pi-fw pi-video", "data": "Serpico Movie" } + ] + }, + { + "key": "2-1", + "label": "Robert De Niro", + "icon": "pi pi-fw pi-star", + "data": "De Niro Movies", + "children": [ + { "key": "2-1-0", "label": "Goodfellas", "icon": "pi pi-fw pi-video", "data": "Goodfellas Movie" }, + { "key": "2-1-1", "label": "Untouchables", "icon": "pi pi-fw pi-video", "data": "Untouchables Movie" } + ] + } + ] + } + ] +} diff --git a/public/demo/data/treetablenodes.json b/public/demo/data/treetablenodes.json new file mode 100644 index 0000000..8d2853b --- /dev/null +++ b/public/demo/data/treetablenodes.json @@ -0,0 +1,352 @@ +{ + "root": [ + { + "key": "0", + "data": { + "name": "Applications", + "size": "100kb", + "type": "Folder" + }, + "children": [ + { + "key": "0-0", + "data": { + "name": "React", + "size": "25kb", + "type": "Folder" + }, + "children": [ + { + "key": "0-0-0", + "data": { + "name": "react.app", + "size": "10kb", + "type": "Application" + } + }, + { + "key": "0-0-1", + "data": { + "name": "native.app", + "size": "10kb", + "type": "Application" + } + }, + { + "key": "0-0-2", + "data": { + "name": "mobile.app", + "size": "5kb", + "type": "Application" + } + } + ] + }, + { + "key": "0-1", + "data": { + "name": "editor.app", + "size": "25kb", + "type": "Application" + } + }, + { + "key": "0-2", + "data": { + "name": "settings.app", + "size": "50kb", + "type": "Application" + } + } + ] + }, + { + "key": "1", + "data": { + "name": "Cloud", + "size": "20kb", + "type": "Folder" + }, + "children": [ + { + "key": "1-0", + "data": { + "name": "backup-1.zip", + "size": "10kb", + "type": "Zip" + } + }, + { + "key": "1-1", + "data": { + "name": "backup-2.zip", + "size": "10kb", + "type": "Zip" + } + } + ] + }, + { + "key": "2", + "data": { + "name": "Desktop", + "size": "150kb", + "type": "Folder" + }, + "children": [ + { + "key": "2-0", + "data": { + "name": "note-meeting.txt", + "size": "50kb", + "type": "Text" + } + }, + { + "key": "2-1", + "data": { + "name": "note-todo.txt", + "size": "100kb", + "type": "Text" + } + } + ] + }, + { + "key": "3", + "data": { + "name": "Documents", + "size": "75kb", + "type": "Folder" + }, + "children": [ + { + "key": "3-0", + "data": { + "name": "Work", + "size": "55kb", + "type": "Folder" + }, + "children": [ + { + "key": "3-0-0", + "data": { + "name": "Expenses.doc", + "size": "30kb", + "type": "Document" + } + }, + { + "key": "3-0-1", + "data": { + "name": "Resume.doc", + "size": "25kb", + "type": "Resume" + } + } + ] + }, + { + "key": "3-1", + "data": { + "name": "Home", + "size": "20kb", + "type": "Folder" + }, + "children": [ + { + "key": "3-1-0", + "data": { + "name": "Invoices", + "size": "20kb", + "type": "Text" + } + } + ] + } + ] + }, + { + "key": "4", + "data": { + "name": "Downloads", + "size": "25kb", + "type": "Folder" + }, + "children": [ + { + "key": "4-0", + "data": { + "name": "Spanish", + "size": "10kb", + "type": "Folder" + }, + "children": [ + { + "key": "4-0-0", + "data": { + "name": "tutorial-a1.txt", + "size": "5kb", + "type": "Text" + } + }, + { + "key": "4-0-1", + "data": { + "name": "tutorial-a2.txt", + "size": "5kb", + "type": "Text" + } + } + ] + }, + { + "key": "4-1", + "data": { + "name": "Travel", + "size": "15kb", + "type": "Text" + }, + "children": [ + { + "key": "4-1-0", + "data": { + "name": "Hotel.pdf", + "size": "10kb", + "type": "PDF" + } + }, + { + "key": "4-1-1", + "data": { + "name": "Flight.pdf", + "size": "5kb", + "type": "PDF" + } + } + ] + } + ] + }, + { + "key": "5", + "data": { + "name": "Main", + "size": "50kb", + "type": "Folder" + }, + "children": [ + { + "key": "5-0", + "data": { + "name": "bin", + "size": "50kb", + "type": "Link" + } + }, + { + "key": "5-1", + "data": { + "name": "etc", + "size": "100kb", + "type": "Link" + } + }, + { + "key": "5-2", + "data": { + "name": "var", + "size": "100kb", + "type": "Link" + } + } + ] + }, + { + "key": "6", + "data": { + "name": "Other", + "size": "5kb", + "type": "Folder" + }, + "children": [ + { + "key": "6-0", + "data": { + "name": "todo.txt", + "size": "3kb", + "type": "Text" + } + }, + { + "key": "6-1", + "data": { + "name": "logo.png", + "size": "2kb", + "type": "Picture" + } + } + ] + }, + { + "key": "7", + "data": { + "name": "Pictures", + "size": "150kb", + "type": "Folder" + }, + "children": [ + { + "key": "7-0", + "data": { + "name": "barcelona.jpg", + "size": "90kb", + "type": "Picture" + } + }, + { + "key": "7-1", + "data": { + "name": "primeng.png", + "size": "30kb", + "type": "Picture" + } + }, + { + "key": "7-2", + "data": { + "name": "prime.jpg", + "size": "30kb", + "type": "Picture" + } + } + ] + }, + { + "key": "8", + "data": { + "name": "Videos", + "size": "1500kb", + "type": "Folder" + }, + "children": [ + { + "key": "8-0", + "data": { + "name": "primefaces.mkv", + "size": "1000kb", + "type": "Video" + } + }, + { + "key": "8-1", + "data": { + "name": "intro.avi", + "size": "500kb", + "type": "Video" + } + } + ] + } + ] +} diff --git a/public/demo/images/avatar/amyelsner.png b/public/demo/images/avatar/amyelsner.png new file mode 100644 index 0000000..f43f164 Binary files /dev/null and b/public/demo/images/avatar/amyelsner.png differ diff --git a/public/demo/images/avatar/annafali.png b/public/demo/images/avatar/annafali.png new file mode 100644 index 0000000..b312fec Binary files /dev/null and b/public/demo/images/avatar/annafali.png differ diff --git a/public/demo/images/avatar/asiyajavayant.png b/public/demo/images/avatar/asiyajavayant.png new file mode 100644 index 0000000..545ca73 Binary files /dev/null and b/public/demo/images/avatar/asiyajavayant.png differ diff --git a/public/demo/images/avatar/bernardodominic.png b/public/demo/images/avatar/bernardodominic.png new file mode 100644 index 0000000..e803b32 Binary files /dev/null and b/public/demo/images/avatar/bernardodominic.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-1.png b/public/demo/images/avatar/circle/avatar-f-1.png new file mode 100644 index 0000000..6ea7b05 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-1.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-10.png b/public/demo/images/avatar/circle/avatar-f-10.png new file mode 100644 index 0000000..3cadd8e Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-10.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-10@2x.png b/public/demo/images/avatar/circle/avatar-f-10@2x.png new file mode 100644 index 0000000..9b86ded Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-10@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-11.png b/public/demo/images/avatar/circle/avatar-f-11.png new file mode 100644 index 0000000..751fe48 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-11.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-11@2x.png b/public/demo/images/avatar/circle/avatar-f-11@2x.png new file mode 100644 index 0000000..475a30c Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-11@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-12.png b/public/demo/images/avatar/circle/avatar-f-12.png new file mode 100644 index 0000000..051390c Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-12.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-12@2x.png b/public/demo/images/avatar/circle/avatar-f-12@2x.png new file mode 100644 index 0000000..341d8a0 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-12@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-1@2x.png b/public/demo/images/avatar/circle/avatar-f-1@2x.png new file mode 100644 index 0000000..f5700bb Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-1@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-2.png b/public/demo/images/avatar/circle/avatar-f-2.png new file mode 100644 index 0000000..686bb88 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-2.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-2@2x.png b/public/demo/images/avatar/circle/avatar-f-2@2x.png new file mode 100644 index 0000000..3ea6759 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-2@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-3.png b/public/demo/images/avatar/circle/avatar-f-3.png new file mode 100644 index 0000000..670cd20 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-3.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-3@2x.png b/public/demo/images/avatar/circle/avatar-f-3@2x.png new file mode 100644 index 0000000..200d767 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-3@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-4.png b/public/demo/images/avatar/circle/avatar-f-4.png new file mode 100644 index 0000000..ffa82a4 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-4.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-4@2x.png b/public/demo/images/avatar/circle/avatar-f-4@2x.png new file mode 100644 index 0000000..090373d Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-4@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-5.png b/public/demo/images/avatar/circle/avatar-f-5.png new file mode 100644 index 0000000..278e94a Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-5.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-5@2x.png b/public/demo/images/avatar/circle/avatar-f-5@2x.png new file mode 100644 index 0000000..c204e32 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-5@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-6.png b/public/demo/images/avatar/circle/avatar-f-6.png new file mode 100644 index 0000000..58013a7 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-6.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-6@2x.png b/public/demo/images/avatar/circle/avatar-f-6@2x.png new file mode 100644 index 0000000..4b8ad32 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-6@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-7.png b/public/demo/images/avatar/circle/avatar-f-7.png new file mode 100644 index 0000000..3dfa96f Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-7.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-7@2x.png b/public/demo/images/avatar/circle/avatar-f-7@2x.png new file mode 100644 index 0000000..45e2380 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-7@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-8.png b/public/demo/images/avatar/circle/avatar-f-8.png new file mode 100644 index 0000000..a8a2135 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-8.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-8@2x.png b/public/demo/images/avatar/circle/avatar-f-8@2x.png new file mode 100644 index 0000000..f0c3486 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-8@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-9.png b/public/demo/images/avatar/circle/avatar-f-9.png new file mode 100644 index 0000000..6674350 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-9.png differ diff --git a/public/demo/images/avatar/circle/avatar-f-9@2x.png b/public/demo/images/avatar/circle/avatar-f-9@2x.png new file mode 100644 index 0000000..f0e56f2 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-f-9@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-1.png b/public/demo/images/avatar/circle/avatar-m-1.png new file mode 100644 index 0000000..5ee7b5d Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-1.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-10.png b/public/demo/images/avatar/circle/avatar-m-10.png new file mode 100644 index 0000000..08f950b Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-10.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-10@2x.png b/public/demo/images/avatar/circle/avatar-m-10@2x.png new file mode 100644 index 0000000..5b39e60 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-10@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-11.png b/public/demo/images/avatar/circle/avatar-m-11.png new file mode 100644 index 0000000..746ad48 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-11.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-11@2x.png b/public/demo/images/avatar/circle/avatar-m-11@2x.png new file mode 100644 index 0000000..cc91558 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-11@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-12.png b/public/demo/images/avatar/circle/avatar-m-12.png new file mode 100644 index 0000000..c1857bf Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-12.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-12@2x.png b/public/demo/images/avatar/circle/avatar-m-12@2x.png new file mode 100644 index 0000000..976b47e Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-12@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-1@2x.png b/public/demo/images/avatar/circle/avatar-m-1@2x.png new file mode 100644 index 0000000..fec791f Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-1@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-2.png b/public/demo/images/avatar/circle/avatar-m-2.png new file mode 100644 index 0000000..c74d2d6 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-2.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-2@2x.png b/public/demo/images/avatar/circle/avatar-m-2@2x.png new file mode 100644 index 0000000..89c6996 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-2@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-3.png b/public/demo/images/avatar/circle/avatar-m-3.png new file mode 100644 index 0000000..6385a24 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-3.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-3@2x.png b/public/demo/images/avatar/circle/avatar-m-3@2x.png new file mode 100644 index 0000000..8801340 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-3@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-4.png b/public/demo/images/avatar/circle/avatar-m-4.png new file mode 100644 index 0000000..b528184 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-4.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-4@2x.png b/public/demo/images/avatar/circle/avatar-m-4@2x.png new file mode 100644 index 0000000..bac71f8 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-4@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-5.png b/public/demo/images/avatar/circle/avatar-m-5.png new file mode 100644 index 0000000..bb13b40 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-5.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-5@2x.png b/public/demo/images/avatar/circle/avatar-m-5@2x.png new file mode 100644 index 0000000..c187dad Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-5@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-6.png b/public/demo/images/avatar/circle/avatar-m-6.png new file mode 100644 index 0000000..99d5fa8 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-6.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-6@2x.png b/public/demo/images/avatar/circle/avatar-m-6@2x.png new file mode 100644 index 0000000..fc369a2 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-6@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-7-1.png b/public/demo/images/avatar/circle/avatar-m-7-1.png new file mode 100644 index 0000000..6dea74f Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-7-1.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-7.png b/public/demo/images/avatar/circle/avatar-m-7.png new file mode 100644 index 0000000..ef879ad Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-7.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-7@2x-1.png b/public/demo/images/avatar/circle/avatar-m-7@2x-1.png new file mode 100644 index 0000000..9344413 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-7@2x-1.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-7@2x.png b/public/demo/images/avatar/circle/avatar-m-7@2x.png new file mode 100644 index 0000000..0f451ec Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-7@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-8.png b/public/demo/images/avatar/circle/avatar-m-8.png new file mode 100644 index 0000000..9877e50 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-8.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-8@2x.png b/public/demo/images/avatar/circle/avatar-m-8@2x.png new file mode 100644 index 0000000..0ca7401 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-8@2x.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-9.png b/public/demo/images/avatar/circle/avatar-m-9.png new file mode 100644 index 0000000..13463ac Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-9.png differ diff --git a/public/demo/images/avatar/circle/avatar-m-9@2x.png b/public/demo/images/avatar/circle/avatar-m-9@2x.png new file mode 100644 index 0000000..4870d75 Binary files /dev/null and b/public/demo/images/avatar/circle/avatar-m-9@2x.png differ diff --git a/public/demo/images/avatar/elwinsharvill.png b/public/demo/images/avatar/elwinsharvill.png new file mode 100644 index 0000000..6045de8 Binary files /dev/null and b/public/demo/images/avatar/elwinsharvill.png differ diff --git a/public/demo/images/avatar/ionibowcher.png b/public/demo/images/avatar/ionibowcher.png new file mode 100644 index 0000000..9bd6cdf Binary files /dev/null and b/public/demo/images/avatar/ionibowcher.png differ diff --git a/public/demo/images/avatar/ivanmagalhaes.png b/public/demo/images/avatar/ivanmagalhaes.png new file mode 100644 index 0000000..93f34cd Binary files /dev/null and b/public/demo/images/avatar/ivanmagalhaes.png differ diff --git a/public/demo/images/avatar/onyamalimba.png b/public/demo/images/avatar/onyamalimba.png new file mode 100644 index 0000000..14166c8 Binary files /dev/null and b/public/demo/images/avatar/onyamalimba.png differ diff --git a/public/demo/images/avatar/profile.jpg b/public/demo/images/avatar/profile.jpg new file mode 100644 index 0000000..b8b6179 Binary files /dev/null and b/public/demo/images/avatar/profile.jpg differ diff --git a/public/demo/images/avatar/stephenshaw.png b/public/demo/images/avatar/stephenshaw.png new file mode 100644 index 0000000..2ab291a Binary files /dev/null and b/public/demo/images/avatar/stephenshaw.png differ diff --git a/public/demo/images/avatar/xuxuefeng.png b/public/demo/images/avatar/xuxuefeng.png new file mode 100644 index 0000000..aa2f641 Binary files /dev/null and b/public/demo/images/avatar/xuxuefeng.png differ diff --git a/public/demo/images/blocks/about/about-1.png b/public/demo/images/blocks/about/about-1.png new file mode 100644 index 0000000..3a5d317 Binary files /dev/null and b/public/demo/images/blocks/about/about-1.png differ diff --git a/public/demo/images/blocks/ad/icon-blocks.svg b/public/demo/images/blocks/ad/icon-blocks.svg new file mode 100644 index 0000000..f3d5592 --- /dev/null +++ b/public/demo/images/blocks/ad/icon-blocks.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/demo/images/blocks/hero/hero-1.png b/public/demo/images/blocks/hero/hero-1.png new file mode 100644 index 0000000..18835ad Binary files /dev/null and b/public/demo/images/blocks/hero/hero-1.png differ diff --git a/public/demo/images/blocks/logos/hyper.svg b/public/demo/images/blocks/logos/hyper.svg new file mode 100644 index 0000000..acf30bc --- /dev/null +++ b/public/demo/images/blocks/logos/hyper.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/public/demo/images/blocks/logos/visa.png b/public/demo/images/blocks/logos/visa.png new file mode 100644 index 0000000..37198c3 Binary files /dev/null and b/public/demo/images/blocks/logos/visa.png differ diff --git a/public/demo/images/blocks/team/team-1.png b/public/demo/images/blocks/team/team-1.png new file mode 100644 index 0000000..c2dc98f Binary files /dev/null and b/public/demo/images/blocks/team/team-1.png differ diff --git a/public/demo/images/blocks/team/team-2.png b/public/demo/images/blocks/team/team-2.png new file mode 100644 index 0000000..88b5fbc Binary files /dev/null and b/public/demo/images/blocks/team/team-2.png differ diff --git a/public/demo/images/blocks/team/team-3.png b/public/demo/images/blocks/team/team-3.png new file mode 100644 index 0000000..33c8089 Binary files /dev/null and b/public/demo/images/blocks/team/team-3.png differ diff --git a/public/demo/images/blocks/team/team-4.png b/public/demo/images/blocks/team/team-4.png new file mode 100644 index 0000000..6c79eed Binary files /dev/null and b/public/demo/images/blocks/team/team-4.png differ diff --git a/public/demo/images/blog/blog-1.png b/public/demo/images/blog/blog-1.png new file mode 100644 index 0000000..8a029e5 Binary files /dev/null and b/public/demo/images/blog/blog-1.png differ diff --git a/public/demo/images/blog/blog-2.png b/public/demo/images/blog/blog-2.png new file mode 100644 index 0000000..3b0bc82 Binary files /dev/null and b/public/demo/images/blog/blog-2.png differ diff --git a/public/demo/images/blog/blog-3.png b/public/demo/images/blog/blog-3.png new file mode 100644 index 0000000..49c00d0 Binary files /dev/null and b/public/demo/images/blog/blog-3.png differ diff --git a/public/demo/images/blog/blog-4.png b/public/demo/images/blog/blog-4.png new file mode 100644 index 0000000..08458f5 Binary files /dev/null and b/public/demo/images/blog/blog-4.png differ diff --git a/public/demo/images/blog/blog-5.png b/public/demo/images/blog/blog-5.png new file mode 100644 index 0000000..c98d7f8 Binary files /dev/null and b/public/demo/images/blog/blog-5.png differ diff --git a/public/demo/images/blog/blog-6.png b/public/demo/images/blog/blog-6.png new file mode 100644 index 0000000..14598ae Binary files /dev/null and b/public/demo/images/blog/blog-6.png differ diff --git a/public/demo/images/blog/blogdetail.png b/public/demo/images/blog/blogdetail.png new file mode 100644 index 0000000..349f99d Binary files /dev/null and b/public/demo/images/blog/blogdetail.png differ diff --git a/public/demo/images/contact/map-dark.svg b/public/demo/images/contact/map-dark.svg new file mode 100644 index 0000000..3583dc6 --- /dev/null +++ b/public/demo/images/contact/map-dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/demo/images/contact/map-light.svg b/public/demo/images/contact/map-light.svg new file mode 100644 index 0000000..4d2c999 --- /dev/null +++ b/public/demo/images/contact/map-light.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/demo/images/ecommerce-dashboard/angel.png b/public/demo/images/ecommerce-dashboard/angel.png new file mode 100644 index 0000000..85b8300 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/angel.png differ diff --git a/public/demo/images/ecommerce-dashboard/ann.png b/public/demo/images/ecommerce-dashboard/ann.png new file mode 100644 index 0000000..4f28ff3 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/ann.png differ diff --git a/public/demo/images/ecommerce-dashboard/beats.png b/public/demo/images/ecommerce-dashboard/beats.png new file mode 100644 index 0000000..71939fe Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/beats.png differ diff --git a/public/demo/images/ecommerce-dashboard/bmw.png b/public/demo/images/ecommerce-dashboard/bmw.png new file mode 100644 index 0000000..f963175 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/bmw.png differ diff --git a/public/demo/images/ecommerce-dashboard/cristofer.png b/public/demo/images/ecommerce-dashboard/cristofer.png new file mode 100644 index 0000000..97f691d Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/cristofer.png differ diff --git a/public/demo/images/ecommerce-dashboard/dell.png b/public/demo/images/ecommerce-dashboard/dell.png new file mode 100644 index 0000000..4ae13d4 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/dell.png differ diff --git a/public/demo/images/ecommerce-dashboard/deloitte.png b/public/demo/images/ecommerce-dashboard/deloitte.png new file mode 100644 index 0000000..eb91763 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/deloitte.png differ diff --git a/public/demo/images/ecommerce-dashboard/gene.png b/public/demo/images/ecommerce-dashboard/gene.png new file mode 100644 index 0000000..8e3aa63 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/gene.png differ diff --git a/public/demo/images/ecommerce-dashboard/gopro.png b/public/demo/images/ecommerce-dashboard/gopro.png new file mode 100644 index 0000000..b27fdc0 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/gopro.png differ diff --git a/public/demo/images/ecommerce-dashboard/kaylynn.png b/public/demo/images/ecommerce-dashboard/kaylynn.png new file mode 100644 index 0000000..1b75508 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/kaylynn.png differ diff --git a/public/demo/images/ecommerce-dashboard/mc.png b/public/demo/images/ecommerce-dashboard/mc.png new file mode 100644 index 0000000..1ebbf87 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/mc.png differ diff --git a/public/demo/images/ecommerce-dashboard/miracle.png b/public/demo/images/ecommerce-dashboard/miracle.png new file mode 100644 index 0000000..4565e97 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/miracle.png differ diff --git a/public/demo/images/ecommerce-dashboard/nasa.png b/public/demo/images/ecommerce-dashboard/nasa.png new file mode 100644 index 0000000..5b98b9a Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/nasa.png differ diff --git a/public/demo/images/ecommerce-dashboard/netflix.png b/public/demo/images/ecommerce-dashboard/netflix.png new file mode 100644 index 0000000..ad90c00 Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/netflix.png differ diff --git a/public/demo/images/ecommerce-dashboard/north.png b/public/demo/images/ecommerce-dashboard/north.png new file mode 100644 index 0000000..593011f Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/north.png differ diff --git a/public/demo/images/ecommerce-dashboard/pepsi.png b/public/demo/images/ecommerce-dashboard/pepsi.png new file mode 100644 index 0000000..a339e6f Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/pepsi.png differ diff --git a/public/demo/images/ecommerce-dashboard/pg.png b/public/demo/images/ecommerce-dashboard/pg.png new file mode 100644 index 0000000..625ccdc Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/pg.png differ diff --git a/public/demo/images/ecommerce-dashboard/quantity.svg b/public/demo/images/ecommerce-dashboard/quantity.svg new file mode 100644 index 0000000..af6f3a8 --- /dev/null +++ b/public/demo/images/ecommerce-dashboard/quantity.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/demo/images/ecommerce-dashboard/rate.svg b/public/demo/images/ecommerce-dashboard/rate.svg new file mode 100644 index 0000000..a1a8fb2 --- /dev/null +++ b/public/demo/images/ecommerce-dashboard/rate.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/demo/images/ecommerce-dashboard/value.svg b/public/demo/images/ecommerce-dashboard/value.svg new file mode 100644 index 0000000..6e08c42 --- /dev/null +++ b/public/demo/images/ecommerce-dashboard/value.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/demo/images/ecommerce-dashboard/wwf.png b/public/demo/images/ecommerce-dashboard/wwf.png new file mode 100644 index 0000000..8e1e60f Binary files /dev/null and b/public/demo/images/ecommerce-dashboard/wwf.png differ diff --git a/public/demo/images/ecommerce/order-history/orderhistory-1.png b/public/demo/images/ecommerce/order-history/orderhistory-1.png new file mode 100644 index 0000000..9e21686 Binary files /dev/null and b/public/demo/images/ecommerce/order-history/orderhistory-1.png differ diff --git a/public/demo/images/ecommerce/order-history/orderhistory-2.png b/public/demo/images/ecommerce/order-history/orderhistory-2.png new file mode 100644 index 0000000..967afee Binary files /dev/null and b/public/demo/images/ecommerce/order-history/orderhistory-2.png differ diff --git a/public/demo/images/ecommerce/order-history/orderhistory-3.png b/public/demo/images/ecommerce/order-history/orderhistory-3.png new file mode 100644 index 0000000..b0a0d0a Binary files /dev/null and b/public/demo/images/ecommerce/order-history/orderhistory-3.png differ diff --git a/public/demo/images/ecommerce/order-history/orderhistory-4.png b/public/demo/images/ecommerce/order-history/orderhistory-4.png new file mode 100644 index 0000000..8ea8895 Binary files /dev/null and b/public/demo/images/ecommerce/order-history/orderhistory-4.png differ diff --git a/public/demo/images/ecommerce/order-history/orderhistory-5.png b/public/demo/images/ecommerce/order-history/orderhistory-5.png new file mode 100644 index 0000000..f9d40e0 Binary files /dev/null and b/public/demo/images/ecommerce/order-history/orderhistory-5.png differ diff --git a/public/demo/images/ecommerce/order-history/orderhistory-6.png b/public/demo/images/ecommerce/order-history/orderhistory-6.png new file mode 100644 index 0000000..67dab21 Binary files /dev/null and b/public/demo/images/ecommerce/order-history/orderhistory-6.png differ diff --git a/public/demo/images/ecommerce/ordersummary/order-summary-1-1.png b/public/demo/images/ecommerce/ordersummary/order-summary-1-1.png new file mode 100644 index 0000000..2ba5227 Binary files /dev/null and b/public/demo/images/ecommerce/ordersummary/order-summary-1-1.png differ diff --git a/public/demo/images/ecommerce/ordersummary/order-summary-1-2.png b/public/demo/images/ecommerce/ordersummary/order-summary-1-2.png new file mode 100644 index 0000000..229d740 Binary files /dev/null and b/public/demo/images/ecommerce/ordersummary/order-summary-1-2.png differ diff --git a/public/demo/images/ecommerce/ordersummary/order-summary-2-1.png b/public/demo/images/ecommerce/ordersummary/order-summary-2-1.png new file mode 100644 index 0000000..d772a2e Binary files /dev/null and b/public/demo/images/ecommerce/ordersummary/order-summary-2-1.png differ diff --git a/public/demo/images/ecommerce/ordersummary/visa.png b/public/demo/images/ecommerce/ordersummary/visa.png new file mode 100644 index 0000000..37198c3 Binary files /dev/null and b/public/demo/images/ecommerce/ordersummary/visa.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-2-1.png b/public/demo/images/ecommerce/product-list/product-list-2-1.png new file mode 100644 index 0000000..010b567 Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-2-1.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-2-2.png b/public/demo/images/ecommerce/product-list/product-list-2-2.png new file mode 100644 index 0000000..0a33f15 Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-2-2.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-2-3.png b/public/demo/images/ecommerce/product-list/product-list-2-3.png new file mode 100644 index 0000000..6a36a6d Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-2-3.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-2-4.png b/public/demo/images/ecommerce/product-list/product-list-2-4.png new file mode 100644 index 0000000..d67ce13 Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-2-4.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-4-1.png b/public/demo/images/ecommerce/product-list/product-list-4-1.png new file mode 100644 index 0000000..2e4aa2c Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-4-1.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-4-2.png b/public/demo/images/ecommerce/product-list/product-list-4-2.png new file mode 100644 index 0000000..8a64c9a Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-4-2.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-4-3.png b/public/demo/images/ecommerce/product-list/product-list-4-3.png new file mode 100644 index 0000000..608d05a Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-4-3.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-4-4.png b/public/demo/images/ecommerce/product-list/product-list-4-4.png new file mode 100644 index 0000000..185de67 Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-4-4.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-4-5.png b/public/demo/images/ecommerce/product-list/product-list-4-5.png new file mode 100644 index 0000000..08d0e2d Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-4-5.png differ diff --git a/public/demo/images/ecommerce/product-list/product-list-4-6.png b/public/demo/images/ecommerce/product-list/product-list-4-6.png new file mode 100644 index 0000000..729029e Binary files /dev/null and b/public/demo/images/ecommerce/product-list/product-list-4-6.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-1-1.png b/public/demo/images/ecommerce/productoverview/product-overview-1-1.png new file mode 100644 index 0000000..7ddad83 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-1-1.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-1-2.png b/public/demo/images/ecommerce/productoverview/product-overview-1-2.png new file mode 100644 index 0000000..319bc77 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-1-2.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-1-3.png b/public/demo/images/ecommerce/productoverview/product-overview-1-3.png new file mode 100644 index 0000000..057fd56 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-1-3.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-2-1.png b/public/demo/images/ecommerce/productoverview/product-overview-2-1.png new file mode 100644 index 0000000..65f84c3 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-2-1.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-2-2.png b/public/demo/images/ecommerce/productoverview/product-overview-2-2.png new file mode 100644 index 0000000..16b4768 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-2-2.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-2-3.png b/public/demo/images/ecommerce/productoverview/product-overview-2-3.png new file mode 100644 index 0000000..ff1706c Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-2-3.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-2-4.png b/public/demo/images/ecommerce/productoverview/product-overview-2-4.png new file mode 100644 index 0000000..e743346 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-2-4.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-3-1.png b/public/demo/images/ecommerce/productoverview/product-overview-3-1.png new file mode 100644 index 0000000..1f7098f Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-3-1.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-3-2.png b/public/demo/images/ecommerce/productoverview/product-overview-3-2.png new file mode 100644 index 0000000..561d1c8 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-3-2.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-3-3.png b/public/demo/images/ecommerce/productoverview/product-overview-3-3.png new file mode 100644 index 0000000..bbcc30f Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-3-3.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-3-4.png b/public/demo/images/ecommerce/productoverview/product-overview-3-4.png new file mode 100644 index 0000000..98c23b5 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-3-4.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-4-1.png b/public/demo/images/ecommerce/productoverview/product-overview-4-1.png new file mode 100644 index 0000000..3f0eeb7 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-4-1.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-4-2.png b/public/demo/images/ecommerce/productoverview/product-overview-4-2.png new file mode 100644 index 0000000..86e9425 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-4-2.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-overview-4-3.png b/public/demo/images/ecommerce/productoverview/product-overview-4-3.png new file mode 100644 index 0000000..d5dbd9e Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-overview-4-3.png differ diff --git a/public/demo/images/ecommerce/productoverview/product-suggestion.png b/public/demo/images/ecommerce/productoverview/product-suggestion.png new file mode 100644 index 0000000..baa3be4 Binary files /dev/null and b/public/demo/images/ecommerce/productoverview/product-suggestion.png differ diff --git a/public/demo/images/ecommerce/shop/flag.png b/public/demo/images/ecommerce/shop/flag.png new file mode 100644 index 0000000..2ef2aef Binary files /dev/null and b/public/demo/images/ecommerce/shop/flag.png differ diff --git a/public/demo/images/ecommerce/shop/shop-1.png b/public/demo/images/ecommerce/shop/shop-1.png new file mode 100644 index 0000000..d7b3840 Binary files /dev/null and b/public/demo/images/ecommerce/shop/shop-1.png differ diff --git a/public/demo/images/ecommerce/shop/shop-2.png b/public/demo/images/ecommerce/shop/shop-2.png new file mode 100644 index 0000000..6169b35 Binary files /dev/null and b/public/demo/images/ecommerce/shop/shop-2.png differ diff --git a/public/demo/images/ecommerce/shop/shop-3.png b/public/demo/images/ecommerce/shop/shop-3.png new file mode 100644 index 0000000..2f0cced Binary files /dev/null and b/public/demo/images/ecommerce/shop/shop-3.png differ diff --git a/public/demo/images/ecommerce/shop/shop-4.png b/public/demo/images/ecommerce/shop/shop-4.png new file mode 100644 index 0000000..c552617 Binary files /dev/null and b/public/demo/images/ecommerce/shop/shop-4.png differ diff --git a/public/demo/images/ecommerce/shop/shop-5.png b/public/demo/images/ecommerce/shop/shop-5.png new file mode 100644 index 0000000..b506563 Binary files /dev/null and b/public/demo/images/ecommerce/shop/shop-5.png differ diff --git a/public/demo/images/ecommerce/shop/shop-6.png b/public/demo/images/ecommerce/shop/shop-6.png new file mode 100644 index 0000000..c91c21f Binary files /dev/null and b/public/demo/images/ecommerce/shop/shop-6.png differ diff --git a/public/demo/images/ecommerce/shopping-cart/shopping-cart-2-1.png b/public/demo/images/ecommerce/shopping-cart/shopping-cart-2-1.png new file mode 100644 index 0000000..a6a16e4 Binary files /dev/null and b/public/demo/images/ecommerce/shopping-cart/shopping-cart-2-1.png differ diff --git a/public/demo/images/ecommerce/shopping-cart/shopping-cart-2-2.png b/public/demo/images/ecommerce/shopping-cart/shopping-cart-2-2.png new file mode 100644 index 0000000..d5ff0b7 Binary files /dev/null and b/public/demo/images/ecommerce/shopping-cart/shopping-cart-2-2.png differ diff --git a/public/demo/images/flag/flag_placeholder.png b/public/demo/images/flag/flag_placeholder.png new file mode 100644 index 0000000..febd524 Binary files /dev/null and b/public/demo/images/flag/flag_placeholder.png differ diff --git a/public/demo/images/galleria/galleria1.jpg b/public/demo/images/galleria/galleria1.jpg new file mode 100644 index 0000000..e36b801 Binary files /dev/null and b/public/demo/images/galleria/galleria1.jpg differ diff --git a/public/demo/images/galleria/galleria10.jpg b/public/demo/images/galleria/galleria10.jpg new file mode 100644 index 0000000..2120049 Binary files /dev/null and b/public/demo/images/galleria/galleria10.jpg differ diff --git a/public/demo/images/galleria/galleria10s.jpg b/public/demo/images/galleria/galleria10s.jpg new file mode 100644 index 0000000..fce806c Binary files /dev/null and b/public/demo/images/galleria/galleria10s.jpg differ diff --git a/public/demo/images/galleria/galleria11.jpg b/public/demo/images/galleria/galleria11.jpg new file mode 100644 index 0000000..98200b5 Binary files /dev/null and b/public/demo/images/galleria/galleria11.jpg differ diff --git a/public/demo/images/galleria/galleria11s.jpg b/public/demo/images/galleria/galleria11s.jpg new file mode 100644 index 0000000..8c2ec99 Binary files /dev/null and b/public/demo/images/galleria/galleria11s.jpg differ diff --git a/public/demo/images/galleria/galleria12.jpg b/public/demo/images/galleria/galleria12.jpg new file mode 100644 index 0000000..c11a2d6 Binary files /dev/null and b/public/demo/images/galleria/galleria12.jpg differ diff --git a/public/demo/images/galleria/galleria12s.jpg b/public/demo/images/galleria/galleria12s.jpg new file mode 100644 index 0000000..932fe79 Binary files /dev/null and b/public/demo/images/galleria/galleria12s.jpg differ diff --git a/public/demo/images/galleria/galleria13.jpg b/public/demo/images/galleria/galleria13.jpg new file mode 100644 index 0000000..7f9258a Binary files /dev/null and b/public/demo/images/galleria/galleria13.jpg differ diff --git a/public/demo/images/galleria/galleria13s.jpg b/public/demo/images/galleria/galleria13s.jpg new file mode 100644 index 0000000..ec0a1bc Binary files /dev/null and b/public/demo/images/galleria/galleria13s.jpg differ diff --git a/public/demo/images/galleria/galleria14.jpg b/public/demo/images/galleria/galleria14.jpg new file mode 100644 index 0000000..6ad39ac Binary files /dev/null and b/public/demo/images/galleria/galleria14.jpg differ diff --git a/public/demo/images/galleria/galleria14s.jpg b/public/demo/images/galleria/galleria14s.jpg new file mode 100644 index 0000000..c13c4f7 Binary files /dev/null and b/public/demo/images/galleria/galleria14s.jpg differ diff --git a/public/demo/images/galleria/galleria15.jpg b/public/demo/images/galleria/galleria15.jpg new file mode 100644 index 0000000..773e0f8 Binary files /dev/null and b/public/demo/images/galleria/galleria15.jpg differ diff --git a/public/demo/images/galleria/galleria15s.jpg b/public/demo/images/galleria/galleria15s.jpg new file mode 100644 index 0000000..ecd518e Binary files /dev/null and b/public/demo/images/galleria/galleria15s.jpg differ diff --git a/public/demo/images/galleria/galleria1s.jpg b/public/demo/images/galleria/galleria1s.jpg new file mode 100644 index 0000000..fdef61d Binary files /dev/null and b/public/demo/images/galleria/galleria1s.jpg differ diff --git a/public/demo/images/galleria/galleria2.jpg b/public/demo/images/galleria/galleria2.jpg new file mode 100644 index 0000000..f015d16 Binary files /dev/null and b/public/demo/images/galleria/galleria2.jpg differ diff --git a/public/demo/images/galleria/galleria2s.jpg b/public/demo/images/galleria/galleria2s.jpg new file mode 100644 index 0000000..f06145d Binary files /dev/null and b/public/demo/images/galleria/galleria2s.jpg differ diff --git a/public/demo/images/galleria/galleria3.jpg b/public/demo/images/galleria/galleria3.jpg new file mode 100644 index 0000000..dfe588d Binary files /dev/null and b/public/demo/images/galleria/galleria3.jpg differ diff --git a/public/demo/images/galleria/galleria3s.jpg b/public/demo/images/galleria/galleria3s.jpg new file mode 100644 index 0000000..c53d6d8 Binary files /dev/null and b/public/demo/images/galleria/galleria3s.jpg differ diff --git a/public/demo/images/galleria/galleria4.jpg b/public/demo/images/galleria/galleria4.jpg new file mode 100644 index 0000000..fc8ed45 Binary files /dev/null and b/public/demo/images/galleria/galleria4.jpg differ diff --git a/public/demo/images/galleria/galleria4s.jpg b/public/demo/images/galleria/galleria4s.jpg new file mode 100644 index 0000000..58c04a5 Binary files /dev/null and b/public/demo/images/galleria/galleria4s.jpg differ diff --git a/public/demo/images/galleria/galleria5.jpg b/public/demo/images/galleria/galleria5.jpg new file mode 100644 index 0000000..de544fa Binary files /dev/null and b/public/demo/images/galleria/galleria5.jpg differ diff --git a/public/demo/images/galleria/galleria5s.jpg b/public/demo/images/galleria/galleria5s.jpg new file mode 100644 index 0000000..35c04c9 Binary files /dev/null and b/public/demo/images/galleria/galleria5s.jpg differ diff --git a/public/demo/images/galleria/galleria6.jpg b/public/demo/images/galleria/galleria6.jpg new file mode 100644 index 0000000..a13c395 Binary files /dev/null and b/public/demo/images/galleria/galleria6.jpg differ diff --git a/public/demo/images/galleria/galleria6s.jpg b/public/demo/images/galleria/galleria6s.jpg new file mode 100644 index 0000000..fe9a3f1 Binary files /dev/null and b/public/demo/images/galleria/galleria6s.jpg differ diff --git a/public/demo/images/galleria/galleria7.jpg b/public/demo/images/galleria/galleria7.jpg new file mode 100644 index 0000000..1871130 Binary files /dev/null and b/public/demo/images/galleria/galleria7.jpg differ diff --git a/public/demo/images/galleria/galleria7s.jpg b/public/demo/images/galleria/galleria7s.jpg new file mode 100644 index 0000000..e4bf005 Binary files /dev/null and b/public/demo/images/galleria/galleria7s.jpg differ diff --git a/public/demo/images/galleria/galleria8.jpg b/public/demo/images/galleria/galleria8.jpg new file mode 100644 index 0000000..c346a49 Binary files /dev/null and b/public/demo/images/galleria/galleria8.jpg differ diff --git a/public/demo/images/galleria/galleria8s.jpg b/public/demo/images/galleria/galleria8s.jpg new file mode 100644 index 0000000..1786d91 Binary files /dev/null and b/public/demo/images/galleria/galleria8s.jpg differ diff --git a/public/demo/images/galleria/galleria9.jpg b/public/demo/images/galleria/galleria9.jpg new file mode 100644 index 0000000..62326d1 Binary files /dev/null and b/public/demo/images/galleria/galleria9.jpg differ diff --git a/public/demo/images/galleria/galleria9s.jpg b/public/demo/images/galleria/galleria9s.jpg new file mode 100644 index 0000000..ca8ca50 Binary files /dev/null and b/public/demo/images/galleria/galleria9s.jpg differ diff --git a/public/demo/images/nature/nature9.jpg b/public/demo/images/nature/nature9.jpg new file mode 100644 index 0000000..b39b46c Binary files /dev/null and b/public/demo/images/nature/nature9.jpg differ diff --git a/public/demo/images/product/bamboo-watch.jpg b/public/demo/images/product/bamboo-watch.jpg new file mode 100644 index 0000000..dbff9ed Binary files /dev/null and b/public/demo/images/product/bamboo-watch.jpg differ diff --git a/public/demo/images/product/black-watch.jpg b/public/demo/images/product/black-watch.jpg new file mode 100644 index 0000000..03f8bd4 Binary files /dev/null and b/public/demo/images/product/black-watch.jpg differ diff --git a/public/demo/images/product/blue-band.jpg b/public/demo/images/product/blue-band.jpg new file mode 100644 index 0000000..3b84a9a Binary files /dev/null and b/public/demo/images/product/blue-band.jpg differ diff --git a/public/demo/images/product/blue-t-shirt.jpg b/public/demo/images/product/blue-t-shirt.jpg new file mode 100644 index 0000000..3287ead Binary files /dev/null and b/public/demo/images/product/blue-t-shirt.jpg differ diff --git a/public/demo/images/product/bracelet.jpg b/public/demo/images/product/bracelet.jpg new file mode 100644 index 0000000..6177665 Binary files /dev/null and b/public/demo/images/product/bracelet.jpg differ diff --git a/public/demo/images/product/brown-purse.jpg b/public/demo/images/product/brown-purse.jpg new file mode 100644 index 0000000..0411571 Binary files /dev/null and b/public/demo/images/product/brown-purse.jpg differ diff --git a/public/demo/images/product/chakra-bracelet.jpg b/public/demo/images/product/chakra-bracelet.jpg new file mode 100644 index 0000000..29f4771 Binary files /dev/null and b/public/demo/images/product/chakra-bracelet.jpg differ diff --git a/public/demo/images/product/galaxy-earrings.jpg b/public/demo/images/product/galaxy-earrings.jpg new file mode 100644 index 0000000..ad0b1b1 Binary files /dev/null and b/public/demo/images/product/galaxy-earrings.jpg differ diff --git a/public/demo/images/product/game-controller.jpg b/public/demo/images/product/game-controller.jpg new file mode 100644 index 0000000..6d309ee Binary files /dev/null and b/public/demo/images/product/game-controller.jpg differ diff --git a/public/demo/images/product/gaming-set.jpg b/public/demo/images/product/gaming-set.jpg new file mode 100644 index 0000000..9fdbe6c Binary files /dev/null and b/public/demo/images/product/gaming-set.jpg differ diff --git a/public/demo/images/product/gold-phone-case.jpg b/public/demo/images/product/gold-phone-case.jpg new file mode 100644 index 0000000..7671968 Binary files /dev/null and b/public/demo/images/product/gold-phone-case.jpg differ diff --git a/public/demo/images/product/green-earbuds.jpg b/public/demo/images/product/green-earbuds.jpg new file mode 100644 index 0000000..7813105 Binary files /dev/null and b/public/demo/images/product/green-earbuds.jpg differ diff --git a/public/demo/images/product/green-t-shirt.jpg b/public/demo/images/product/green-t-shirt.jpg new file mode 100644 index 0000000..fdb70a7 Binary files /dev/null and b/public/demo/images/product/green-t-shirt.jpg differ diff --git a/public/demo/images/product/grey-t-shirt.jpg b/public/demo/images/product/grey-t-shirt.jpg new file mode 100644 index 0000000..5b6d78a Binary files /dev/null and b/public/demo/images/product/grey-t-shirt.jpg differ diff --git a/public/demo/images/product/headphones.jpg b/public/demo/images/product/headphones.jpg new file mode 100644 index 0000000..5f9f31d Binary files /dev/null and b/public/demo/images/product/headphones.jpg differ diff --git a/public/demo/images/product/light-green-t-shirt.jpg b/public/demo/images/product/light-green-t-shirt.jpg new file mode 100644 index 0000000..2fb6219 Binary files /dev/null and b/public/demo/images/product/light-green-t-shirt.jpg differ diff --git a/public/demo/images/product/lime-band.jpg b/public/demo/images/product/lime-band.jpg new file mode 100644 index 0000000..5627c6b Binary files /dev/null and b/public/demo/images/product/lime-band.jpg differ diff --git a/public/demo/images/product/mini-speakers.jpg b/public/demo/images/product/mini-speakers.jpg new file mode 100644 index 0000000..8883aa2 Binary files /dev/null and b/public/demo/images/product/mini-speakers.jpg differ diff --git a/public/demo/images/product/painted-phone-case.jpg b/public/demo/images/product/painted-phone-case.jpg new file mode 100644 index 0000000..5da5f00 Binary files /dev/null and b/public/demo/images/product/painted-phone-case.jpg differ diff --git a/public/demo/images/product/pink-band.jpg b/public/demo/images/product/pink-band.jpg new file mode 100644 index 0000000..50124ad Binary files /dev/null and b/public/demo/images/product/pink-band.jpg differ diff --git a/public/demo/images/product/pink-purse.jpg b/public/demo/images/product/pink-purse.jpg new file mode 100644 index 0000000..a5e864f Binary files /dev/null and b/public/demo/images/product/pink-purse.jpg differ diff --git a/public/demo/images/product/product-placeholder.svg b/public/demo/images/product/product-placeholder.svg new file mode 100644 index 0000000..714f105 --- /dev/null +++ b/public/demo/images/product/product-placeholder.svg @@ -0,0 +1,10 @@ + + + Artboard + + + + + + + \ No newline at end of file diff --git a/public/demo/images/product/purple-band.jpg b/public/demo/images/product/purple-band.jpg new file mode 100644 index 0000000..17523fe Binary files /dev/null and b/public/demo/images/product/purple-band.jpg differ diff --git a/public/demo/images/product/purple-gemstone-necklace.jpg b/public/demo/images/product/purple-gemstone-necklace.jpg new file mode 100644 index 0000000..a40d4b3 Binary files /dev/null and b/public/demo/images/product/purple-gemstone-necklace.jpg differ diff --git a/public/demo/images/product/purple-t-shirt.jpg b/public/demo/images/product/purple-t-shirt.jpg new file mode 100644 index 0000000..12d75f1 Binary files /dev/null and b/public/demo/images/product/purple-t-shirt.jpg differ diff --git a/public/demo/images/product/shoes.jpg b/public/demo/images/product/shoes.jpg new file mode 100644 index 0000000..efc7aca Binary files /dev/null and b/public/demo/images/product/shoes.jpg differ diff --git a/public/demo/images/product/sneakers.jpg b/public/demo/images/product/sneakers.jpg new file mode 100644 index 0000000..53f66dc Binary files /dev/null and b/public/demo/images/product/sneakers.jpg differ diff --git a/public/demo/images/product/teal-t-shirt.jpg b/public/demo/images/product/teal-t-shirt.jpg new file mode 100644 index 0000000..749ae9d Binary files /dev/null and b/public/demo/images/product/teal-t-shirt.jpg differ diff --git a/public/demo/images/product/yellow-earbuds.jpg b/public/demo/images/product/yellow-earbuds.jpg new file mode 100644 index 0000000..1bfc87a Binary files /dev/null and b/public/demo/images/product/yellow-earbuds.jpg differ diff --git a/public/demo/images/product/yoga-mat.jpg b/public/demo/images/product/yoga-mat.jpg new file mode 100644 index 0000000..18d9564 Binary files /dev/null and b/public/demo/images/product/yoga-mat.jpg differ diff --git a/public/demo/images/product/yoga-set.jpg b/public/demo/images/product/yoga-set.jpg new file mode 100644 index 0000000..734ba58 Binary files /dev/null and b/public/demo/images/product/yoga-set.jpg differ diff --git a/public/layout/images/avatar/avatar-m-1.jpg b/public/layout/images/avatar/avatar-m-1.jpg new file mode 100644 index 0000000..9ea6466 Binary files /dev/null and b/public/layout/images/avatar/avatar-m-1.jpg differ diff --git a/public/layout/images/avatar/gene.png b/public/layout/images/avatar/gene.png new file mode 100644 index 0000000..8e3aa63 Binary files /dev/null and b/public/layout/images/avatar/gene.png differ diff --git a/public/layout/images/landing/atlantis-dark.png b/public/layout/images/landing/atlantis-dark.png new file mode 100644 index 0000000..0761719 Binary files /dev/null and b/public/layout/images/landing/atlantis-dark.png differ diff --git a/public/layout/images/landing/chart-widget.png b/public/layout/images/landing/chart-widget.png new file mode 100644 index 0000000..7de8bbe Binary files /dev/null and b/public/layout/images/landing/chart-widget.png differ diff --git a/public/layout/images/landing/ellipse-1.png b/public/layout/images/landing/ellipse-1.png new file mode 100644 index 0000000..275b726 Binary files /dev/null and b/public/layout/images/landing/ellipse-1.png differ diff --git a/public/layout/images/landing/ellipse-2.png b/public/layout/images/landing/ellipse-2.png new file mode 100644 index 0000000..4508a2c Binary files /dev/null and b/public/layout/images/landing/ellipse-2.png differ diff --git a/public/layout/images/landing/ellipse-3.png b/public/layout/images/landing/ellipse-3.png new file mode 100644 index 0000000..d5f05a3 Binary files /dev/null and b/public/layout/images/landing/ellipse-3.png differ diff --git a/public/layout/images/landing/ellipse-4.png b/public/layout/images/landing/ellipse-4.png new file mode 100644 index 0000000..3c4d1aa Binary files /dev/null and b/public/layout/images/landing/ellipse-4.png differ diff --git a/public/layout/images/landing/landing-header-2x.jpg b/public/layout/images/landing/landing-header-2x.jpg new file mode 100644 index 0000000..3f0d184 Binary files /dev/null and b/public/layout/images/landing/landing-header-2x.jpg differ diff --git a/public/layout/images/landing/landing-header.jpg b/public/layout/images/landing/landing-header.jpg new file mode 100644 index 0000000..e666c60 Binary files /dev/null and b/public/layout/images/landing/landing-header.jpg differ diff --git a/public/layout/images/landing/meet-atlantis.png b/public/layout/images/landing/meet-atlantis.png new file mode 100644 index 0000000..7d6a7c6 Binary files /dev/null and b/public/layout/images/landing/meet-atlantis.png differ diff --git a/public/layout/images/landing/progressbar-widget.png b/public/layout/images/landing/progressbar-widget.png new file mode 100644 index 0000000..6b7fc83 Binary files /dev/null and b/public/layout/images/landing/progressbar-widget.png differ diff --git a/public/layout/images/logo/appname-dark.png b/public/layout/images/logo/appname-dark.png new file mode 100644 index 0000000..aafd04a Binary files /dev/null and b/public/layout/images/logo/appname-dark.png differ diff --git a/public/layout/images/logo/appname-gray.png b/public/layout/images/logo/appname-gray.png new file mode 100644 index 0000000..b4a425e Binary files /dev/null and b/public/layout/images/logo/appname-gray.png differ diff --git a/public/layout/images/logo/appname-light.png b/public/layout/images/logo/appname-light.png new file mode 100644 index 0000000..5cc7bd3 Binary files /dev/null and b/public/layout/images/logo/appname-light.png differ diff --git a/public/layout/images/logo/btpxpress-logo-backup.png b/public/layout/images/logo/btpxpress-logo-backup.png new file mode 100644 index 0000000..b8af773 Binary files /dev/null and b/public/layout/images/logo/btpxpress-logo-backup.png differ diff --git a/public/layout/images/logo/btpxpress-logo-old.png b/public/layout/images/logo/btpxpress-logo-old.png new file mode 100644 index 0000000..3a09556 Binary files /dev/null and b/public/layout/images/logo/btpxpress-logo-old.png differ diff --git a/public/layout/images/logo/btpxpress-logo.png b/public/layout/images/logo/btpxpress-logo.png new file mode 100644 index 0000000..c860afe Binary files /dev/null and b/public/layout/images/logo/btpxpress-logo.png differ diff --git a/public/layout/images/logo/logo-cfa.png b/public/layout/images/logo/logo-cfa.png new file mode 100644 index 0000000..4e83c5d Binary files /dev/null and b/public/layout/images/logo/logo-cfa.png differ diff --git a/public/layout/images/logo/logo-dark.png b/public/layout/images/logo/logo-dark.png new file mode 100644 index 0000000..b8af773 Binary files /dev/null and b/public/layout/images/logo/logo-dark.png differ diff --git a/public/layout/images/logo/logo-gray.png b/public/layout/images/logo/logo-gray.png new file mode 100644 index 0000000..b8af773 Binary files /dev/null and b/public/layout/images/logo/logo-gray.png differ diff --git a/public/layout/images/logo/logo-light.png b/public/layout/images/logo/logo-light.png new file mode 100644 index 0000000..b8af773 Binary files /dev/null and b/public/layout/images/logo/logo-light.png differ diff --git a/public/layout/images/logo/logo-white-lions.png b/public/layout/images/logo/logo-white-lions.png new file mode 100644 index 0000000..c160810 Binary files /dev/null and b/public/layout/images/logo/logo-white-lions.png differ diff --git a/public/layout/images/pages/avatar.png b/public/layout/images/pages/avatar.png new file mode 100644 index 0000000..1e46ed5 Binary files /dev/null and b/public/layout/images/pages/avatar.png differ diff --git a/public/layout/images/pages/effect-ondark.png b/public/layout/images/pages/effect-ondark.png new file mode 100644 index 0000000..486b2c3 Binary files /dev/null and b/public/layout/images/pages/effect-ondark.png differ diff --git a/public/layout/images/pages/effect-ondark@2x.png b/public/layout/images/pages/effect-ondark@2x.png new file mode 100644 index 0000000..3d649fb Binary files /dev/null and b/public/layout/images/pages/effect-ondark@2x.png differ diff --git a/public/layout/images/pages/effect-onlight.png b/public/layout/images/pages/effect-onlight.png new file mode 100644 index 0000000..3b14516 Binary files /dev/null and b/public/layout/images/pages/effect-onlight.png differ diff --git a/public/layout/images/pages/effect-onlight@2x.png b/public/layout/images/pages/effect-onlight@2x.png new file mode 100644 index 0000000..10dbba9 Binary files /dev/null and b/public/layout/images/pages/effect-onlight@2x.png differ diff --git a/public/layout/images/pages/exception-ondark.png b/public/layout/images/pages/exception-ondark.png new file mode 100644 index 0000000..5d06ecc Binary files /dev/null and b/public/layout/images/pages/exception-ondark.png differ diff --git a/public/layout/images/pages/exception-onlight.png b/public/layout/images/pages/exception-onlight.png new file mode 100644 index 0000000..b664a20 Binary files /dev/null and b/public/layout/images/pages/exception-onlight.png differ diff --git a/public/layout/images/pages/forgot-password-ondark.png b/public/layout/images/pages/forgot-password-ondark.png new file mode 100644 index 0000000..b1e0b1a Binary files /dev/null and b/public/layout/images/pages/forgot-password-ondark.png differ diff --git a/public/layout/images/pages/forgot-password-onlight.png b/public/layout/images/pages/forgot-password-onlight.png new file mode 100644 index 0000000..cbe64c2 Binary files /dev/null and b/public/layout/images/pages/forgot-password-onlight.png differ diff --git a/public/layout/images/pages/lock-ondark.png b/public/layout/images/pages/lock-ondark.png new file mode 100644 index 0000000..08bd916 Binary files /dev/null and b/public/layout/images/pages/lock-ondark.png differ diff --git a/public/layout/images/pages/lock-onlight.png b/public/layout/images/pages/lock-onlight.png new file mode 100644 index 0000000..9bb3593 Binary files /dev/null and b/public/layout/images/pages/lock-onlight.png differ diff --git a/public/layout/images/pages/login-ondark.png b/public/layout/images/pages/login-ondark.png new file mode 100644 index 0000000..cf6a3b9 Binary files /dev/null and b/public/layout/images/pages/login-ondark.png differ diff --git a/public/layout/images/pages/login-onlight.png b/public/layout/images/pages/login-onlight.png new file mode 100644 index 0000000..e2cd9f3 Binary files /dev/null and b/public/layout/images/pages/login-onlight.png differ diff --git a/public/layout/images/pages/newpassword-ondark.png b/public/layout/images/pages/newpassword-ondark.png new file mode 100644 index 0000000..7e3389e Binary files /dev/null and b/public/layout/images/pages/newpassword-ondark.png differ diff --git a/public/layout/images/pages/newpassword-onlight.png b/public/layout/images/pages/newpassword-onlight.png new file mode 100644 index 0000000..5d9da57 Binary files /dev/null and b/public/layout/images/pages/newpassword-onlight.png differ diff --git a/public/layout/images/pages/register-ondark.png b/public/layout/images/pages/register-ondark.png new file mode 100644 index 0000000..4fa04ff Binary files /dev/null and b/public/layout/images/pages/register-ondark.png differ diff --git a/public/layout/images/pages/register-onlight.png b/public/layout/images/pages/register-onlight.png new file mode 100644 index 0000000..f8cc242 Binary files /dev/null and b/public/layout/images/pages/register-onlight.png differ diff --git a/public/layout/images/pages/verification-ondark.png b/public/layout/images/pages/verification-ondark.png new file mode 100644 index 0000000..6ed68f0 Binary files /dev/null and b/public/layout/images/pages/verification-ondark.png differ diff --git a/public/layout/images/pages/verification-onlight.png b/public/layout/images/pages/verification-onlight.png new file mode 100644 index 0000000..29511b3 Binary files /dev/null and b/public/layout/images/pages/verification-onlight.png differ diff --git a/public/layout/preloading.css b/public/layout/preloading.css new file mode 100644 index 0000000..309502d --- /dev/null +++ b/public/layout/preloading.css @@ -0,0 +1,81 @@ +body { + margin: 0; +} + +.layout-preloader-container { + display: flex; + align-items: center; + justify-content: center; + height: 100vh; + width: 100vw; + background-color: #111417; +} +.layout-preloader-container .layout-preloader { + position: relative; + width: 75px; + height: 75px; + background: transparent; + border: 3px solid #161a1f; + border-radius: 50%; + text-align: center; + line-height: 150px; + font-family: sans-serif; + font-size: 20px; + color: #6366f1; + letter-spacing: 4px; + text-transform: uppercase; + text-shadow: 0 0 10px #6366f1; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); +} +.layout-preloader-container .layout-preloader:before { + content: ''; + position: absolute; + top: -3px; + left: -3px; + width: 100%; + height: 100%; + border: 3px solid transparent; + border-top: 3px solid #6366f1; + border-right: 3px solid #6366f1; + border-radius: 50%; + animation: preloader-rotate-c 1s linear infinite; +} +.layout-preloader-container .layout-preloader span { + display: block; + position: absolute; + top: calc(50% - 2px); + left: 50%; + width: 50%; + height: 4px; + background: transparent; + transform-origin: left; + animation: preloader-rotate 1s linear infinite; +} +.layout-preloader-container .layout-preloader span:before { + content: ''; + position: absolute; + width: 16px; + height: 16px; + border-radius: 50%; + background: #6366f1; + top: -6px; + right: -8px; + box-shadow: 0 0 20px #6366f1; +} + +@keyframes preloader-rotate-c { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +@keyframes preloader-rotate { + 0% { + transform: rotate(45deg); + } + 100% { + transform: rotate(405deg); + } +} diff --git a/public/layout/preloading.scss b/public/layout/preloading.scss new file mode 100644 index 0000000..c076abd --- /dev/null +++ b/public/layout/preloading.scss @@ -0,0 +1,84 @@ +.layout-preloader-container { + display: flex; + align-items: center; + justify-content: center; + height: 100vh; + width: 100vw; + background-color: #111417; + + .layout-preloader { + position: relative; + width: 75px; + height: 75px; + background: transparent; + border: 3px solid #161a1f; + border-radius: 50%; + text-align: center; + line-height: 150px; + font-family: sans-serif; + font-size: 20px; + color: #6366F1; + letter-spacing: 4px; + text-transform: uppercase; + text-shadow: 0 0 10px #6366F1; + box-shadow: 0 0 20px rgba(0, 0, 0, .5); + + &:before { + content: ''; + position: absolute; + top: -3px; + left: -3px; + width: 100%; + height: 100%; + border: 3px solid transparent; + border-top: 3px solid #6366F1; + border-right: 3px solid #6366F1; + border-radius: 50%; + animation: preloader-rotate-c 1s linear infinite; + } + + span { + display: block; + position: absolute; + top: calc(50% - 2px); + left: 50%; + width: 50%; + height: 4px; + background: transparent; + transform-origin: left; + animation: preloader-rotate 1s linear infinite; + } + + span:before { + content: ''; + position: absolute; + width: 16px; + height: 16px; + border-radius: 50%; + background: #6366F1; + top: -6px; + right: -8px; + box-shadow: 0 0 20px #6366F1; + } + } +} + +@keyframes preloader-rotate-c { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +@keyframes preloader-rotate { + 0% { + transform: rotate(45deg); + } + + 100% { + transform: rotate(405deg); + } +} \ No newline at end of file diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..bbd247b --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,80 @@ +{ + "name": "BTP Xpress - Plateforme de Gestion BTP", + "short_name": "BTP Xpress", + "description": "Solution complète de gestion pour les entreprises du BTP", + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#f97316", + "orientation": "portrait-primary", + "categories": ["business", "productivity", "utilities"], + "lang": "fr", + "icons": [ + { + "src": "/icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "/icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable any" + } + ], + "screenshots": [ + { + "src": "/screenshot-desktop.png", + "sizes": "1280x720", + "type": "image/png", + "form_factor": "wide", + "label": "Dashboard BTP Xpress" + }, + { + "src": "/screenshot-mobile.png", + "sizes": "390x844", + "type": "image/png", + "form_factor": "narrow", + "label": "Application mobile BTP Xpress" + } + ], + "shortcuts": [ + { + "name": "Dashboard", + "short_name": "Dashboard", + "description": "Accéder au tableau de bord", + "url": "/dashboard", + "icons": [ + { + "src": "/icon-dashboard.png", + "sizes": "96x96" + } + ] + }, + { + "name": "Chantiers", + "short_name": "Chantiers", + "description": "Gérer les chantiers", + "url": "/chantiers", + "icons": [ + { + "src": "/icon-chantiers.png", + "sizes": "96x96" + } + ] + }, + { + "name": "Planning", + "short_name": "Planning", + "description": "Consulter le planning", + "url": "/planning", + "icons": [ + { + "src": "/icon-planning.png", + "sizes": "96x96" + } + ] + } + ] +} diff --git a/public/theme/_compact.scss b/public/theme/_compact.scss new file mode 100644 index 0000000..9f5eb79 --- /dev/null +++ b/public/theme/_compact.scss @@ -0,0 +1,99 @@ +$actionIconWidth:2rem; +$actionIconHeight:2rem; + +$inputPadding: .75rem .75rem; +$inputListItemPadding: .75rem .75rem; +$inputListHeaderPadding:.75rem; + +$multiselectHeaderIconWidth:2.25rem; +$multiselectHeaderIconHeight:.2.25rem; + +$buttonPadding:0.571rem .75rem; +$buttonIconOnlyWidth:2.25rem; +$buttonIconOnlyPadding:0.571rem; + +$ratingIconFontSize:1rem; + +$calendarCellDateWidth:2.25rem; +$calendarCellDateHeight:2.25rem; + +$calendarActionIconWidth:2.25rem; +$calendarActionIconHeight:2.25rem; + +$calendarButtonBarPadding:.75rem 0; + +$panelHeaderPadding:.75rem; +$panelContentPadding:.75rem; +$panelFooterPadding:.75rem .75rem; + +$accordionHeaderPadding:1.25rem; +$accordionContentPadding:.75rem 1.25rem; + +$tabviewHeaderPadding:.75rem 1.25rem; +$tabviewContentPadding:.75rem; + +$cardBodyPadding:.75rem; +$cardContentPadding:.75rem 0; +$cardFooterPadding:.75rem 0 0 0; +$paginatorPadding:.375rem .75rem; + +$tableHeaderPadding:.75rem .75rem; +$tableHeaderCellPadding:.75rem .75rem; +$tableBodyCellPadding:.75rem .75rem; +$tableFooterCellPadding:.75rem .75rem; +$tableFooterPadding:.75rem .75rem; + +$dataViewContentPadding:.75rem; +$treeNodeContentPadding:.25rem; + +$messageMargin:.75rem 0; +$messagePadding: 1rem 1.25rem; +$messageIconFontSize:1.5rem; +$messageCloseIconWidth:2.25rem; +$messageCloseIconHeight:2.25rem; +$inlineMessagePadding:.75rem .75rem; + +$toastPadding:1.25rem; + +$toastCloseIconWidth:1.5rem; +$toastCloseIconHeight:1.5rem; + +$dialogHeaderPadding:1.25rem; +$dialogContentPadding:0 1.25rem 1.25rem 1.25rem; +$dialogFooterPadding:.75rem 1.25rem; + +$dialogHeaderActionIconWidth:2.25rem; +$dialogHeaderActionIconHeight:2.25rem; + +$confirmPopupContentPadding:1.25rem; +$confirmPopupFooterPadding:0 1.25rem .75rem 1.25rem; + +$sidebarCloseIconWidth:2.25rem; +$sidebarCloseIconHeight:2.25rem; + +$overlayPanelCloseIconWidth:2.25rem; +$overlayPanelCloseIconHeight:2.25rem; + +$menuitemPadding:.75rem .75rem; +$submenuHeaderPadding:.75rem; + +$breadcrumbPadding:.75rem; + +$horizontalMenuPadding:.75rem; + +$horizontalMenuRootMenuitemPadding:.75rem; + +$menubarButtonWidth:2.25rem; +$menubarButtonHeight:2.25rem; + +$carouselNavIconWidth:2.25rem; +$carouselNavIconHeight:2.25rem; + +$dividerHorizontalMargin:1rem 0; +$dividerHorizontalPadding:0 1rem; +$dividerVerticalMargin:0 1rem; +$dividerVerticalPadding:1rem 0; + +$scrollTopWidth:2.75rem; +$scrollTopHeight:2.75rem; +$scrollTopFontSize:1.15rem; \ No newline at end of file diff --git a/public/theme/extensions/_accordion.scss b/public/theme/extensions/_accordion.scss new file mode 100644 index 0000000..35f02b5 --- /dev/null +++ b/public/theme/extensions/_accordion.scss @@ -0,0 +1,55 @@ +.p-accordion { + .p-accordion-tab { + box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12); + margin-bottom: 0; + border-radius: 0; + position: relative; + transition: margin-bottom 225ms; + + &:first-child { + border-top-left-radius: $borderRadius; + border-top-right-radius: $borderRadius; + } + + &:last-child { + border-bottom-left-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + + .p-accordion-toggle-icon { + order: 1; + margin-left: auto; + transition: transform $transitionDuration; + } + + &:not(.p-accordion-tab-active) { + .p-accordion-header-link { + &:focus { + background: $accordionHeaderHoverBg; + } + } + + .p-accordion-toggle-icon { + transform: rotate(-270deg); + } + } + + &.p-accordion-tab-active { + margin-bottom: 1rem; + + .p-accordion-toggle-icon { + transform: rotate(-180deg); + } + } + + .p-accordion-header { + &.p-disabled { + opacity: 1; + + .p-accordion-header-link > * { + opacity: $disabledOpacity; + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_autocomplete.scss b/public/theme/extensions/_autocomplete.scss new file mode 100644 index 0000000..b8a4423 --- /dev/null +++ b/public/theme/extensions/_autocomplete.scss @@ -0,0 +1,72 @@ +.p-autocomplete { + &.p-autocomplete-multiple { + .p-autocomplete-multiple-container { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } + } + } +} + +.p-input-filled { + .p-autocomplete { + &.p-autocomplete-multiple { + .p-autocomplete-multiple-container { + @include filled-input-wrapper(); + } + } + } +} + +.p-float-label { + .p-autocomplete-multiple-container { + .p-autocomplete-token { + padding: .25rem 1rem; + } + } +} + +.p-input-filled { + .p-float-label { + .p-autocomplete { + .p-autocomplete-multiple-container { + .p-autocomplete-token { + padding-top: 0; + padding-bottom: 0; + + .p-autocomplete-token-icon { + font-size: 75%; + } + } + + .p-autocomplete-input-token { + padding: 0; + } + } + } + } + + .p-autocomplete.p-invalid { + > .p-inputtext { + @include invalid-filled-input(); + } + + > .p-autocomplete-multiple-container { + @include invalid-filled-input-wrapper(); + } + } +} + +.p-autocomplete.p-invalid { + > .p-inputtext { + &:enabled:focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } + + > .p-autocomplete-multiple-container { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_breadcrumb.scss b/public/theme/extensions/_breadcrumb.scss new file mode 100644 index 0000000..9591f86 --- /dev/null +++ b/public/theme/extensions/_breadcrumb.scss @@ -0,0 +1,10 @@ + +.p-breadcrumb { + .p-menuitem-link { + &:focus { + background: $emphasis-lower; + } + + padding: 0.25rem 0.5rem; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_button.scss b/public/theme/extensions/_button.scss new file mode 100644 index 0000000..e248442 --- /dev/null +++ b/public/theme/extensions/_button.scss @@ -0,0 +1,218 @@ +.p-button { + font-weight: 500; + min-width: 4rem; + + &.p-button-icon-only { + min-width: auto; + } + + &:enabled:focus { + background: rgba($buttonBg, .76); + } + + &:enabled:active { + background: rgba($buttonBg, .68); + } + + .p-ink { + background-color: rgba(255,255,255, .32); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($buttonBg, .12); + } + + &:enabled:active { + background: rgba($buttonBg, .16); + } + + .p-ink { + background-color: rgba($buttonBg, .16); + } + } + + &.p-button-outlined { + box-shadow: inset 0 0 0 1px; + + &:enabled:focus { + box-shadow: inset 0 0 0 1px; + } + + &:enabled:active { + box-shadow: inset 0 0 0 1px; + } + } + + &:disabled { + background-color: $emphasis-lower !important; + color: $emphasis-low !important; + opacity: 1; + + &.p-button-text { + background-color: transparent !important; + color: $emphasis-low !important; + } + + &.p-button-outlined { + background-color: transparent !important; + color: $emphasis-low !important; + border-color: $emphasis-low !important; + } + } + + &.p-button-raised:enabled:focus { + box-shadow: $raisedButtonShadow; + } +} + +.p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button { + &:enabled:focus { + background: rgba($secondaryButtonBg, .76); + } + + &:enabled:active { + background: rgba($secondaryButtonBg, .68); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($secondaryButtonBg, .12); + } + + &:enabled:active { + background: rgba($secondaryButtonBg, .16); + } + + .p-ink { + background-color: rgba($secondaryButtonBg, .16); + } + } +} + +.p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button { + &:enabled:focus { + background: rgba($infoButtonBg, .76); + } + + &:enabled:active { + background: rgba($infoButtonBg, .68); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($infoButtonBg, .12); + } + + &:enabled:active { + background: rgba($infoButtonBg, .16); + } + + .p-ink { + background-color: rgba($infoButtonBg, .16); + } + } +} + +.p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button { + &:enabled:focus { + background: rgba($successButtonBg, .76); + } + + &:enabled:active { + background: rgba($successButtonBg, .68); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($successButtonBg, .12); + } + + &:enabled:active { + background: rgba($successButtonBg, .16); + } + + .p-ink { + background-color: rgba($successButtonBg, .16); + } + } +} + +.p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button { + &:enabled:focus { + background: rgba($warningButtonBg, .76); + } + + &:enabled:active { + background: rgba($warningButtonBg, .68); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($warningButtonBg, .12); + } + + &:enabled:active { + background: rgba($warningButtonBg, .16); + } + + .p-ink { + background-color: rgba($warningButtonBg, .16); + } + } +} + +.p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button { + &:enabled:focus { + background: rgba($helpButtonBg, .76); + } + + &:enabled:active { + background: rgba($helpButtonBg, .68); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($helpButtonBg, .12); + } + + &:enabled:active { + background: rgba($helpButtonBg, .16); + } + + .p-ink { + background-color: rgba($helpButtonBg, .16); + } + } +} + +.p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button { + &:enabled:focus { + background: rgba($dangerButtonBg, .76); + } + + &:enabled:active { + background: rgba($dangerButtonBg, .68); + } + + &.p-button-text, + &.p-button-outlined { + &:enabled:focus { + background: rgba($dangerButtonBg, .12); + } + + &:enabled:active { + background: rgba($dangerButtonBg, .16); + } + + .p-ink { + background-color: rgba($dangerButtonBg, .16); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_calendar.scss b/public/theme/extensions/_calendar.scss new file mode 100644 index 0000000..108372a --- /dev/null +++ b/public/theme/extensions/_calendar.scss @@ -0,0 +1,163 @@ +.p-calendar-w-btn { + border: $inputBorder; + background: $inputBg; + border-radius: $borderRadius; + transition: $formElementTransition; + + .p-inputtext { + background-image: none; + background-color: transparent; + border: 0 none; + + &:enabled:focus { + box-shadow: none; + } + } + + .p-datepicker-trigger.p-button { + background-color: transparent; + border: 0 none; + + span { + color: $inputIconColor; + } + + &:enabled:hover { + background: rgba($overlayColor, .04); + } + + &:enabled:active, + &:focus { + background: rgba($overlayColor, .12); + } + + &:disabled { + background-color: transparent !important; + } + } + + &:not(.p-calendar-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-calendar-disabled).p-inputwrapper-focus { + border-color: $inputFocusBorderColor; + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } + + &.p-calendar-disabled { + opacity: $disabledOpacity; + + .p-inputtext { + opacity: 1; + } + } +} + +.p-datepicker { + .p-datepicker-header { + border-bottom: 0 none; + + .p-datepicker-title { + margin: 0 auto 0 0; + order: 1; + + .p-datepicker-year:focus, + .p-datepicker-month:focus { + background: $emphasis-lower; + } + } + + .p-datepicker-prev { + order: 2; + } + + .p-datepicker-next { + order: 3; + } + + .p-datepicker-prev:focus, + .p-datepicker-next:focus { + background: $emphasis-lower; + } + } + + table { + th { + border-bottom: $calendarHeaderBorder; + color: $emphasis-low(); + font-weight: 400; + font-size: .875rem; + } + + + td { + > span { + &:focus { + background: $emphasis-lower; + } + } + + &.p-datepicker-today { + > span { + box-shadow: 0 0 0 1px rgba($overlayColor,.38); + } + + &.p-highlight { + box-shadow: 0 0 0 1px $highlightBg; + } + } + } + } +} + +.p-calendar.p-invalid { + .p-inputtext { + &:enabled:focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } + + &.p-calendar-w-btn { + border-color: $inputErrorBorderColor; + + .p-inputtext { + &:enabled:focus { + box-shadow: none; + } + } + + &:not(.p-disabled).p-inputwrapper-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } +} + +.p-input-filled { + .p-calendar-w-btn { + @include filled-input-wrapper-default(); + + &:not(.p-calendar-disabled) { + @include filled-input-wrapper-interaction(); + } + + .p-inputtext { + border: 0 none; + } + } + + .p-calendar.p-invalid { + .p-inputtext { + @include invalid-filled-input(); + } + + &.p-calendar-w-btn { + @include invalid-filled-input-wrapper(); + + .p-inputtext { + border: 0 none; + background-image: none; + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_carousel.scss b/public/theme/extensions/_carousel.scss new file mode 100644 index 0000000..bd0e368 --- /dev/null +++ b/public/theme/extensions/_carousel.scss @@ -0,0 +1,13 @@ +.p-carousel { + .p-carousel-indicators { + + .p-carousel-indicator { + &.p-highlight { + button { + background: $accentColor; + color: $accentTextColor; + } + } + } + } +} diff --git a/public/theme/extensions/_cascadeselect.scss b/public/theme/extensions/_cascadeselect.scss new file mode 100644 index 0000000..5e14f1c --- /dev/null +++ b/public/theme/extensions/_cascadeselect.scss @@ -0,0 +1,61 @@ +.p-cascadeselect { + .p-cascadeselect-label, .p-dropdown-trigger { + background-image: none; + background: transparent; + } + + .p-cascadeselect-label { + border: 0 none; + } + + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } +} + +.p-cascadeselect-item-content { + .p-ink { + background-color: rgba($primaryColor, .16); + } +} + +.p-input-filled { + .p-cascadeselect { + @include filled-input-wrapper(); + + .p-cascadeselect-label { + &:hover { + background-image: none; + background: transparent; + } + } + } +} + +.p-input-filled { + .p-float-label { + .p-cascadeselect { + .p-cascadeselect-label { + @include filled-input-float-label(); + } + } + + .p-inputwrapper-filled { + &.p-cascadeselect { + .p-cascadeselect-label { + @include filled-input-float-label(); + } + } + } + } + + .p-cascadeselect.p-invalid { + @include invalid-filled-input-wrapper(); + } +} + +.p-cascadeselect.p-invalid { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_checkbox.scss b/public/theme/extensions/_checkbox.scss new file mode 100644 index 0000000..095e88b --- /dev/null +++ b/public/theme/extensions/_checkbox.scss @@ -0,0 +1,86 @@ +.p-checkbox { + border-radius: 50%; + transition: box-shadow $transitionDuration; + + .p-checkbox-box { + border-color: nth($checkboxBorder, 3); + border-radius: 2px; + position: relative; + + &:not(.p-disabled):hover { + border-color: nth($checkboxBorder, 3); + } + + &:not(.p-disabled).p-focus { + border-color: nth($checkboxBorder, 3); + } + + &.p-highlight { + &:not(.p-disabled).p-focus { + border-color: $checkboxActiveBorderColor; + } + + .p-checkbox-icon.pi-check:before { + content: ""; + position: absolute; + top: 6px; + left: 1px; + border-right: 2px solid transparent; + border-bottom: 2px solid transparent; + transform: rotate(45deg); + transform-origin: 0% 100%; + animation: checkbox-check 125ms 50ms linear forwards; + } + } + } + + &:not(.p-checkbox-disabled):hover { + box-shadow: 0 0 1px 10px rgba($overlayColor, .04); + } + + &:not(.p-checkbox-disabled).p-checkbox-focused { + box-shadow: 0 0 1px 10px rgba($overlayColor, .12); + } + + &.p-checkbox-checked { + &:not(.p-checkbox-disabled):hover { + box-shadow: 0 0 1px 10px rgba($checkboxActiveBg, .04); + } + + &:not(.p-checkbox-disabled).p-checkbox-focused { + box-shadow: 0 0 1px 10px rgba($checkboxActiveBg, .12); + } + } +} + +.p-input-filled { + .p-checkbox { + .p-checkbox-box { + background-color: $inputBg; + + &:not(.p-disabled):hover { + background-color: $inputBg; + } + } + } +} + +@keyframes checkbox-check{ + 0%{ + width: 0; + height: 0; + border-color: $checkboxIconActiveColor; + transform: translate3d(0,0,0) rotate(45deg); + } + 33%{ + width: 4px; + height: 0; + transform: translate3d(0,0,0) rotate(45deg); + } + 100%{ + width: 4px; + height: 10px; + border-color: $checkboxIconActiveColor; + transform: translate3d(0,-10px,0) rotate(45deg); + } + } \ No newline at end of file diff --git a/public/theme/extensions/_chips.scss b/public/theme/extensions/_chips.scss new file mode 100644 index 0000000..7fd9927 --- /dev/null +++ b/public/theme/extensions/_chips.scss @@ -0,0 +1,54 @@ +.p-chips { + .p-chips-multiple-container { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } + } +} + +.p-input-filled { + .p-chips-multiple-container { + @include filled-input-wrapper(); + } +} + +.p-float-label { + .p-chips-multiple-container { + .p-chips-token { + padding: .25rem 1rem; + } + } +} + +.p-input-filled { + .p-float-label { + .p-chips { + .p-chips-multiple-container { + .p-chips-token { + padding-top: 0; + padding-bottom: 0; + + .p-chips-token-icon { + font-size: 75%; + } + } + + .p-chips-input-token { + padding: 0; + } + } + } + } + + .p-chips.p-invalid { + .p-chips-multiple-container { + @include invalid-filled-input-wrapper(); + } + } +} + +.p-chips.p-invalid .p-chips-multiple-container { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_contextmenu.scss b/public/theme/extensions/_contextmenu.scss new file mode 100644 index 0000000..5471b85 --- /dev/null +++ b/public/theme/extensions/_contextmenu.scss @@ -0,0 +1,19 @@ +.p-contextmenu { + .p-menuitem { + &.p-highlight { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + + &:not(.p-highlight):not(.p-disabled) { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + } +} diff --git a/public/theme/extensions/_datatable.scss b/public/theme/extensions/_datatable.scss new file mode 100644 index 0000000..4c08aa4 --- /dev/null +++ b/public/theme/extensions/_datatable.scss @@ -0,0 +1,33 @@ +.p-datatable { + .p-sortable-column { + outline: 0 none; + + &:focus { + background-color: rgba($overlayColor, 0.03); + } + } + + .p-datatable-tbody { + > tr { + outline: 0 none; + + &:not(.p-highlight):focus { + background-color: rgba($overlayColor, 0.03); + } + } + } +} + +.p-datatable { + .p-datatable-tbody { + > tr { + &.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 $primaryColor; + } + + &.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 $primaryColor; + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_dropdown.scss b/public/theme/extensions/_dropdown.scss new file mode 100644 index 0000000..7069628 --- /dev/null +++ b/public/theme/extensions/_dropdown.scss @@ -0,0 +1,40 @@ +.p-dropdown { + .p-inputtext, .p-dropdown-trigger { + background-image: none; + background: transparent; + } + + .p-inputtext { + border: 0 none; + } + + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } +} + +.p-dropdown-item { + .p-ink { + background-color: rgba($primaryColor, .16); + } +} + +.p-input-filled { + .p-dropdown { + @include filled-input-wrapper(); + + .p-inputtext { + border: 0 none; + } + } + + .p-dropdown.p-invalid { + @include invalid-filled-input-wrapper(); + } +} + +.p-dropdown.p-invalid { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_fieldset.scss b/public/theme/extensions/_fieldset.scss new file mode 100644 index 0000000..7657627 --- /dev/null +++ b/public/theme/extensions/_fieldset.scss @@ -0,0 +1,15 @@ +.p-fieldset { + .p-fieldset-legend { + border: 0 none; + } + + &.p-fieldset-toggleable { + .p-fieldset-legend { + a { + &:focus { + background: $emphasis-lower; + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_float_label.scss b/public/theme/extensions/_float_label.scss new file mode 100644 index 0000000..5dc29ac --- /dev/null +++ b/public/theme/extensions/_float_label.scss @@ -0,0 +1,41 @@ +.p-float-label input:focus ~ label, +.p-float-label input.p-filled ~ label, +.p-float-label textarea:focus ~ label, +.p-float-label textarea.p-filled ~ label, +.p-float-label .p-inputwrapper-focus ~ label, +.p-float-label .p-inputwrapper-filled ~ label { + top: -.5rem !important; + background-color: $inputBg; + padding: 2px 4px; + margin-left: -4px; + margin-top: 0; +} + +.p-float-label textarea ~ label { + margin-top: 0; +} + +.p-float-label input:focus ~ label, +.p-float-label textarea:focus ~ label, +.p-float-label .p-inputwrapper-focus ~ label { + color: $inputFocusBorderColor; +} + +.p-input-filled { + .p-float-label { + .p-inputtext { + @include filled-input-float-label(); + } + + input:focus ~ label, + input.p-filled ~ label, + textarea:focus ~ label, + textarea.p-filled ~ label, + .p-inputwrapper-focus ~ label, + .p-inputwrapper-filled ~ label { + top: .25rem !important; + margin-top: 0; + background: transparent; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_fullcalendar.scss b/public/theme/extensions/_fullcalendar.scss new file mode 100644 index 0000000..6e897ec --- /dev/null +++ b/public/theme/extensions/_fullcalendar.scss @@ -0,0 +1,84 @@ +.fc { + /* FullCalendar 4 */ + &.fc-unthemed { + + .fc-toolbar { + .fc-button { + &:focus { + background: rgba($buttonBg, .76); + } + + &:active { + background: rgba($buttonBg, .68); + } + } + + .fc-button-group { + .fc-button { + &:focus { + background: rgba($buttonBg, .76); + } + + &:active { + background: rgba($buttonBg, .68); + } + + &.fc-dayGridMonth-button, + &.fc-timeGridWeek-button, + &.fc-timeGridDay-button { + &:focus { + background: $toggleButtonActiveBg; + border-color: $toggleButtonActiveBorderColor; + + &.p-highlight { + background: $toggleButtonActiveHoverBg; + border-color: $toggleButtonActiveHoverBorderColor; + } + } + } + } + } + } + } + + /* FullCalendar 5 */ + &.fc-theme-standard { + .fc-toolbar { + .fc-button { + &:focus { + background: rgba($buttonBg, .76); + } + + &:active { + background: rgba($buttonBg, .68); + } + } + + .fc-button-group { + .fc-button { + &:focus { + background: rgba($buttonBg, .76); + } + + &:active { + background: rgba($buttonBg, .68); + } + + &.fc-dayGridMonth-button, + &.fc-timeGridWeek-button, + &.fc-timeGridDay-button { + &:focus { + background: $toggleButtonActiveBg; + border-color: $toggleButtonActiveBorderColor; + + &.p-highlight { + background: $toggleButtonActiveHoverBg; + border-color: $toggleButtonActiveHoverBorderColor; + } + } + } + } + } + } + } +} diff --git a/public/theme/extensions/_galleria.scss b/public/theme/extensions/_galleria.scss new file mode 100644 index 0000000..8fe0c77 --- /dev/null +++ b/public/theme/extensions/_galleria.scss @@ -0,0 +1,27 @@ +.p-galleria { + .p-galleria-indicators { + padding: $galleriaIndicatorsPadding; + + .p-galleria-indicator { + &.p-highlight { + button { + background: $accentColor; + color: $accentTextColor; + } + } + } + } + + &.p-galleria-indicator-onitem { + .p-galleria-indicators { + .p-galleria-indicator { + &.p-highlight { + button { + background: rgba($accentColor, .68); + color: $accentTextColor; + } + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_input.scss b/public/theme/extensions/_input.scss new file mode 100644 index 0000000..865b149 --- /dev/null +++ b/public/theme/extensions/_input.scss @@ -0,0 +1,15 @@ +.p-inputtext { + &:enabled:focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + + &.p-invalid { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } +} + +.p-input-filled { + .p-inputtext { + @include filled-input(); + } +} \ No newline at end of file diff --git a/public/theme/extensions/_inputgroup.scss b/public/theme/extensions/_inputgroup.scss new file mode 100644 index 0000000..77a3894 --- /dev/null +++ b/public/theme/extensions/_inputgroup.scss @@ -0,0 +1,32 @@ +.p-input-filled { + .p-inputgroup { + .p-inputgroup-addon { + @include filled-input-default(); + + &:last-child { + border-right-color: transparent; + } + } + } + + .p-inputgroup-addon:first-child, + .p-inputgroup button:first-child, + .p-inputgroup input:first-child { + border-bottom-left-radius: 0; + } + + .p-inputgroup .p-float-label:first-child input { + border-bottom-left-radius: 0; + } + + .p-inputgroup-addon:last-child, + .p-inputgroup button:last-child, + .p-inputgroup input:last-child { + border-bottom-right-radius: 0; + } + + .p-inputgroup .p-float-label:last-child input { + border-bottom-right-radius: 0; + } +} + diff --git a/public/theme/extensions/_inputmask.scss b/public/theme/extensions/_inputmask.scss new file mode 100644 index 0000000..eb4779c --- /dev/null +++ b/public/theme/extensions/_inputmask.scss @@ -0,0 +1,15 @@ +p-inputmask.ng-dirty.ng-invalid { + .p-inputtext { + &:enabled:focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } +} + +.p-input-filled { + p-inputmask.ng-dirty.ng-invalid { + .p-inputtext { + @include invalid-filled-input(); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_inputnumber.scss b/public/theme/extensions/_inputnumber.scss new file mode 100644 index 0000000..2fb73ad --- /dev/null +++ b/public/theme/extensions/_inputnumber.scss @@ -0,0 +1,15 @@ +.p-inputnumber.p-invalid { + .p-inputtext { + &:enabled:focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } +} + +.p-input-filled { + .p-inputnumber.p-invalid { + .p-inputtext { + @include invalid-filled-input(); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_inputswitch.scss b/public/theme/extensions/_inputswitch.scss new file mode 100644 index 0000000..85686fb --- /dev/null +++ b/public/theme/extensions/_inputswitch.scss @@ -0,0 +1,32 @@ +.p-inputswitch { + .p-inputswitch-slider:before { + transition-property: box-shadow transform; + box-shadow: 0px 3px 1px -2px rgba($overlayColor, 0.2), 0px 2px 2px 0px rgba($overlayColor, 0.14), 0px 1px 5px 0px rgba($overlayColor,.12); + } + + &:not(.p-disabled):hover { + .p-inputswitch-slider:before { + box-shadow: 0px 3px 1px -2px rgba($overlayColor, 0.2), 0px 2px 2px 0px rgba($overlayColor, 0.14), 0px 1px 5px 0px rgba($overlayColor,.12), 0 0 1px 10px rgba($overlayColor, .04), + } + } + + &.p-focus, + &.p-focus:not(.p-disabled):hover { + .p-inputswitch-slider:before { + box-shadow: 0 0 1px 10px rgba($overlayColor, .12), 0px 3px 1px -2px rgba($overlayColor, 0.2), 0px 2px 2px 0px rgba($overlayColor, 0.14), 0px 1px 5px 0px rgba($overlayColor,.12); + } + } + + &.p-inputswitch-checked:not(.p-disabled):hover { + .p-inputswitch-slider:before { + box-shadow: 0 0 1px 10px rgba($inputSwitchHandleOnBg, .04), 0px 3px 1px -2px rgba($overlayColor, 0.2), 0px 2px 2px 0px rgba($overlayColor, 0.14), 0px 1px 5px 0px rgba($overlayColor,.12); + } + } + + &.p-inputswitch-checked.p-focus, + &.p-inputswitch-checked.p-focus:not(.p-disabled):hover { + .p-inputswitch-slider:before { + box-shadow: 0 0 1px 10px rgba($inputSwitchHandleOnBg, .12), 0px 3px 1px -2px rgba($overlayColor, 0.2), 0px 2px 2px 0px rgba($overlayColor, 0.14), 0px 1px 5px 0px rgba($overlayColor,.12); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_listbox.scss b/public/theme/extensions/_listbox.scss new file mode 100644 index 0000000..d3446f3 --- /dev/null +++ b/public/theme/extensions/_listbox.scss @@ -0,0 +1,17 @@ +.p-listbox { + .p-listbox-list { + .p-listbox-item { + .p-ink { + background-color: rgba($primaryColor, .16); + } + + &:focus { + background: $emphasis-lower; + + &.p-highlight { + background: rgba($primaryColor, .24); + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_megamenu.scss b/public/theme/extensions/_megamenu.scss new file mode 100644 index 0000000..c95a46c --- /dev/null +++ b/public/theme/extensions/_megamenu.scss @@ -0,0 +1,19 @@ +.p-megamenu { + .p-menuitem { + &.p-highlight { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + + &:not(.p-highlight):not(.p-disabled) { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_menu.scss b/public/theme/extensions/_menu.scss new file mode 100644 index 0000000..09a8018 --- /dev/null +++ b/public/theme/extensions/_menu.scss @@ -0,0 +1,19 @@ +.p-menu { + .p-menuitem { + &.p-highlight { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + + &:not(.p-highlight):not(.p-disabled) { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + } +} diff --git a/public/theme/extensions/_menubar.scss b/public/theme/extensions/_menubar.scss new file mode 100644 index 0000000..07e64a1 --- /dev/null +++ b/public/theme/extensions/_menubar.scss @@ -0,0 +1,19 @@ +.p-menubar { + .p-menuitem { + &.p-highlight { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + + &:not(.p-highlight):not(.p-disabled) { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + } +} diff --git a/public/theme/extensions/_mixins.scss b/public/theme/extensions/_mixins.scss new file mode 100644 index 0000000..8d71366 --- /dev/null +++ b/public/theme/extensions/_mixins.scss @@ -0,0 +1,113 @@ +@mixin filled-input() { + @include filled-input-default(); + @include filled-input-interaction(); +} + +@mixin filled-input-wrapper() { + @include filled-input-wrapper-default(); + @include filled-input-wrapper-interaction(); +} + +@mixin filled-input-default() { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border: 1px solid transparent; + background: $inputFilledBg no-repeat; + background-image: linear-gradient(to bottom, $inputFocusBorderColor, $inputFocusBorderColor), linear-gradient(to bottom, nth($inputBorder, 3), nth($inputBorder, 3)); + background-size: 0 2px, 100% 1px; + background-position: 50% 100%, 50% 100%; + background-origin: border-box; +} + +@mixin invalid-filled-input() { + border-color: transparent; + background-image: linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor), linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor); + + &:enabled:hover { + border-color: transparent; + background-image: linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor), linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor); + } + + &:enabled:focus { + box-shadow: none; + border-color: transparent; + } +} + +@mixin filled-input-interaction() { + &:enabled:hover { + background-color: $inputFilledHoverBg; + border-color: transparent; + background-image: linear-gradient(to bottom, $inputFocusBorderColor, $inputFocusBorderColor), linear-gradient(to bottom, $inputHoverBorderColor, $inputHoverBorderColor); + } + + &:enabled:focus { + box-shadow: none; + background-color: $inputFilledFocusBg; + border-color: transparent; + background-size: 100% 2px, 100% 1px; + } + + &.p-invalid.p-component { + @include invalid-filled-input(); + } +} + +@mixin filled-input-wrapper-default() { + @include filled-input-default(); + + .p-inputtext { + background-image: none; + background: transparent; + } +} + +@mixin invalid-filled-input-wrapper() { + border-color: transparent; + background-image: linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor), linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor); + + &:not(.p-disabled):hover { + background-image: linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor), linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor); + } + + &:not(.p-disabled).p-focus, + &:not(.p-disabled).p-inputwrapper-focus { + box-shadow: none; + background-image: linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor), linear-gradient(to bottom, $inputErrorBorderColor, $inputErrorBorderColor); + } +} + +@mixin filled-input-wrapper-interaction() { + &:not(.p-disabled):hover { + background-color: $inputFilledHoverBg; + border-color: transparent; + background-image: linear-gradient(to bottom, $inputFocusBorderColor, $inputFocusBorderColor), linear-gradient(to bottom, $emphasis-high, $emphasis-high); + } + + &:not(.p-disabled).p-focus, + &:not(.p-disabled).p-inputwrapper-focus { + box-shadow: none; + background-color: $inputFilledFocusBg; + border-color: transparent; + background-size: 100% 2px, 100% 1px; + } + + .p-inputtext { + &:enabled:hover, + &:enabled:focus { + background-image: none; + background: transparent; + } + } +} + +@mixin filled-input-float-label() { + @if (nth($inputPadding, 1) == 1rem) { + padding-top: 1.5rem; + padding-bottom: .5rem; + } + @else if (nth($inputPadding, 1) == .75rem) { + padding-top: 1.25rem; + padding-bottom: .25rem; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_multiselect.scss b/public/theme/extensions/_multiselect.scss new file mode 100644 index 0000000..19b6f0f --- /dev/null +++ b/public/theme/extensions/_multiselect.scss @@ -0,0 +1,102 @@ +.p-multiselect { + .p-multiselect-label, .p-multiselect-trigger { + background-image: none; + background: transparent; + } + + .p-multiselect-label { + border: 0 none; + } + + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } +} + +.p-multiselect-panel { + .p-multiselect-items { + .p-multiselect-item { + .p-ink { + background-color: rgba($primaryColor, .16); + } + + &:focus { + background: $emphasis-lower; + + &.p-highlight { + background: rgba($primaryColor, .24); + } + } + } + } + + .p-multiselect-close { + &:focus { + background: $emphasis-lower; + } + } +} + +.p-input-filled { + .p-multiselect { + @include filled-input-wrapper(); + + .p-multiselect-label { + &:hover { + background-image: none; + background: transparent; + } + } + } +} + +.p-float-label { + .p-multiselect-label { + .p-multiselect-token { + padding: .25rem 1rem; + margin-top: .25rem; + margin-bottom: .25rem; + } + } +} + +.p-input-filled { + .p-float-label { + .p-multiselect { + .p-multiselect-label { + @include filled-input-float-label(); + } + } + + .p-inputwrapper-filled { + &.p-multiselect { + .p-multiselect-label { + @include filled-input-float-label(); + } + + &.p-multiselect-chip { + .p-multiselect-token { + padding-top: 0; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + + .p-multiselect-token-icon { + font-size: 75%; + } + } + } + } + } + } + + .p-multiselect.p-invalid { + @include invalid-filled-input-wrapper(); + } +} + +.p-multiselect.p-invalid { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_orderlist.scss b/public/theme/extensions/_orderlist.scss new file mode 100644 index 0000000..26bf6f6 --- /dev/null +++ b/public/theme/extensions/_orderlist.scss @@ -0,0 +1,13 @@ +.p-orderlist { + .p-orderlist-list { + .p-orderlist-item { + &.p-focus { + background: $emphasis-lower; + + &.p-highlight { + background: rgba($primaryColor, .24); + } + } + } + } +} diff --git a/public/theme/extensions/_overlaypanel.scss b/public/theme/extensions/_overlaypanel.scss new file mode 100644 index 0000000..994b9e6 --- /dev/null +++ b/public/theme/extensions/_overlaypanel.scss @@ -0,0 +1,5 @@ +.p-overlaypanel { + .p-overlaypanel-content { + padding: 1.5rem; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_paginator.scss b/public/theme/extensions/_paginator.scss new file mode 100644 index 0000000..f7ed4c8 --- /dev/null +++ b/public/theme/extensions/_paginator.scss @@ -0,0 +1,13 @@ +.p-paginator { + justify-content: flex-end; + + .p-paginator-element { + &:focus { + background: $emphasis-lower; + + &.p-highlight { + background: rgba($primaryColor, .24); + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_panel.scss b/public/theme/extensions/_panel.scss new file mode 100644 index 0000000..9e84f13 --- /dev/null +++ b/public/theme/extensions/_panel.scss @@ -0,0 +1,24 @@ +.p-panel { + border-radius: $borderRadius; + box-shadow: $cardShadow; + + .p-panel-header, + .p-panel-content, + .p-panel-footer { + border: 0 none; + } + + .p-panel-content { + padding-top: 0; + } + + .p-panel-title { + font-size: 1.25rem; + } + + .p-panel-header-icon { + &:focus { + background: $emphasis-lower; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_panelmenu.scss b/public/theme/extensions/_panelmenu.scss new file mode 100644 index 0000000..0664552 --- /dev/null +++ b/public/theme/extensions/_panelmenu.scss @@ -0,0 +1,66 @@ +.p-panelmenu { + .p-panelmenu-header { + .p-panelmenu-header-content { + .p-panelmenu-header-action { + .p-submenu-icon { + order: 1; + margin-left: auto; + margin-right: 0; + } + } + } + + &.p-disabled { + opacity: 1; + + .p-panelmenu-header-content > * { + opacity: $disabledOpacity; + } + } + + &:focus, + &.p-highlight:focus { + .p-panelmenu-header-content { + background: $accordionHeaderHoverBg; + } + } + } + + .p-panelmenu-content { + .p-menuitem { + &.p-highlight { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + + &:not(.p-highlight):not(.p-disabled) { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + } + } + + .p-panelmenu-panel { + box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12); + margin-bottom: 0; + border-radius: 0; + position: relative; + transition: margin-bottom 225ms; + + &:first-child { + border-top-left-radius: $borderRadius; + border-top-right-radius: $borderRadius; + } + + &:last-child { + border-bottom-left-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_password.scss b/public/theme/extensions/_password.scss new file mode 100644 index 0000000..81d6902 --- /dev/null +++ b/public/theme/extensions/_password.scss @@ -0,0 +1,15 @@ +.p-input-filled { + .p-password.p-invalid { + > .p-inputtext { + @include invalid-filled-input(); + } + } +} + +.p-password.p-invalid { + > .p-inputtext { + &:enabled:focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_picklist.scss b/public/theme/extensions/_picklist.scss new file mode 100644 index 0000000..442dfec --- /dev/null +++ b/public/theme/extensions/_picklist.scss @@ -0,0 +1,13 @@ +.p-picklist { + .p-picklist-list { + .p-picklist-item { + &.p-focus { + background: $emphasis-lower; + + &.p-highlight { + background: rgba($primaryColor, .24); + } + } + } + } +} diff --git a/public/theme/extensions/_progressbar.scss b/public/theme/extensions/_progressbar.scss new file mode 100644 index 0000000..e808491 --- /dev/null +++ b/public/theme/extensions/_progressbar.scss @@ -0,0 +1,9 @@ +.p-progressbar { + border-radius: 0; + + &.p-progressbar-determinate { + .p-progressbar-label { + display: none; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_radiobutton.scss b/public/theme/extensions/_radiobutton.scss new file mode 100644 index 0000000..592cb34 --- /dev/null +++ b/public/theme/extensions/_radiobutton.scss @@ -0,0 +1,50 @@ +.p-radiobutton { + border-radius: 50%; + transition: box-shadow $transitionDuration; + + .p-radiobutton-box { + &:not(.p-disabled):not(.p-highlight):hover { + border: $radiobuttonBorder; + } + + &:not(.p-disabled).p-focus { + border: $radiobuttonBorder; + } + + &.p-highlight { + &:not(.p-disabled).p-focus { + border-color: $radiobuttonActiveBorderColor; + } + } + } + + &:not(.p-radiobutton-disabled):hover { + box-shadow: 0 0 1px 10px rgba($overlayColor, .04); + } + + &:not(.p-radiobutton-disabled).p-radiobutton-focused { + box-shadow: 0 0 1px 10px rgba($overlayColor, .12); + } + + &.p-radiobutton-checked { + &:not(.p-radiobutton-disabled):hover { + box-shadow: 0 0 1px 10px rgba($radiobuttonActiveBorderColor, .04); + } + + &:not(.p-radiobutton-disabled).p-radiobutton-focused { + box-shadow: 0 0 1px 10px rgba($radiobuttonActiveBorderColor, .12); + } + } +} + +.p-input-filled { + .p-radiobutton { + .p-radiobutton-box { + background-color: $inputBg; + + &:not(.p-disabled):hover { + background-color: $inputBg; + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_rating.scss b/public/theme/extensions/_rating.scss new file mode 100644 index 0000000..54ece9d --- /dev/null +++ b/public/theme/extensions/_rating.scss @@ -0,0 +1,30 @@ +.p-rating { + gap: 0; + + .p-rating-item { + border-radius: 50%; + width: 2rem; + height: 2rem; + justify-content: center; + + &.p-focus { + background: rgba($primaryColor, .12); + + &.p-rating-cancel-item { + background: rgba($ratingCancelIconColor, .12); + } + } + } + + &:not(.p-disabled):not(.p-readonly) { + .p-rating-item { + &:hover { + background-color: rgba(0,0,0,.04); + + &.p-rating-cancel-item { + background: rgba($ratingCancelIconColor, .04); + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_scrollpanel.scss b/public/theme/extensions/_scrollpanel.scss new file mode 100644 index 0000000..a8acb4e --- /dev/null +++ b/public/theme/extensions/_scrollpanel.scss @@ -0,0 +1,7 @@ +.p-scrollpanel { + .p-scrollpanel-bar { + &:focus { + box-shadow: 0 0 1px 4px rgba($accentColor, .2); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_selectbutton.scss b/public/theme/extensions/_selectbutton.scss new file mode 100644 index 0000000..7f2b360 --- /dev/null +++ b/public/theme/extensions/_selectbutton.scss @@ -0,0 +1,13 @@ +.p-selectbutton { + .p-button { + &:focus { + background: $toggleButtonActiveBg; + border-color: $toggleButtonActiveBorderColor; + + &.p-highlight { + background: $toggleButtonActiveHoverBg; + border-color: $toggleButtonActiveHoverBorderColor; + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_slidemenu.scss b/public/theme/extensions/_slidemenu.scss new file mode 100644 index 0000000..5f907c9 --- /dev/null +++ b/public/theme/extensions/_slidemenu.scss @@ -0,0 +1,7 @@ +.p-slidemenu { + .p-menuitem-link { + &:focus { + background: $emphasis-lower; + } + } +} diff --git a/public/theme/extensions/_slider.scss b/public/theme/extensions/_slider.scss new file mode 100644 index 0000000..bc94aad --- /dev/null +++ b/public/theme/extensions/_slider.scss @@ -0,0 +1,16 @@ +.p-slider { + .p-slider-handle { + transition: transform $transitionDuration, box-shadow $transitionDuration; + transform: scale(.7); + + &:focus { + box-shadow: 0 0 1px 10px rgba($accentColor, .2); + } + } + + &.p-slider-sliding { + .p-slider-handle { + transform: scale(1); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_speeddial.scss b/public/theme/extensions/_speeddial.scss new file mode 100644 index 0000000..c326369 --- /dev/null +++ b/public/theme/extensions/_speeddial.scss @@ -0,0 +1,5 @@ +.p-speeddial-item { + &.p-focus > .p-speeddial-action { + background: rgba($speedDialActionHoverBg, .76); + } +} \ No newline at end of file diff --git a/public/theme/extensions/_splitbutton.scss b/public/theme/extensions/_splitbutton.scss new file mode 100644 index 0000000..faff010 --- /dev/null +++ b/public/theme/extensions/_splitbutton.scss @@ -0,0 +1,164 @@ +.p-splitbutton { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($buttonBg, .12); + } + + &:active { + background: rgba($buttonBg, .16); + } + } + } + } + + &.p-button-outlined { + > .p-button { + box-shadow: inset 0 0 0 1px; + + &:enabled:focus { + box-shadow: inset 0 0 0 1px; + } + + &:enabled:active { + box-shadow: inset 0 0 0 1px; + } + + &.p-splitbutton-menubutton { + margin-left: -1px; + width: calc(#{$buttonIconOnlyWidth} + 1px); + } + } + } + + &.p-disabled { + &.p-button-text { + > .p-button { + background-color: transparent !important; + color: $emphasis-low !important; + } + } + + &.p-button-outlined { + > .p-button { + background-color: transparent !important; + color: $emphasis-low !important; + border-color: $emphasis-low !important; + } + } + } + + &.p-button-raised { + > .p-button { + @include button-states { + &:focus { + box-shadow: $raisedButtonShadow; + } + } + } + } +} + +.p-splitbutton.p-button-secondary { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($secondaryButtonBg, .12); + } + + &:active { + background: rgba($secondaryButtonBg, .16); + } + } + } + } +} + +.p-splitbutton.p-button-info > .p-button { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($infoButtonBg, .12); + } + + &:active { + background: rgba($infoButtonBg, .16); + } + } + } + } +} + +.p-splitbutton.p-button-success { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($successButtonBg, .12); + } + + &:active { + background: rgba($successButtonBg, .16); + } + } + } + } +} + +.p-splitbutton.p-button-warning { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($warningButtonBg, .12); + } + + &:active { + background: rgba($warningButtonBg, .16); + } + } + } + } +} + +.p-splitbutton.p-button-help { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($helpButtonBg, .12); + } + + &:active { + background: rgba($helpButtonBg, .16); + } + } + } + } +} + +.p-splitbutton.p-button-danger { + &.p-button-text, + &.p-button-outlined { + > .p-button { + @include button-states { + &:focus { + background: rgba($dangerButtonBg, .12); + } + + &:active { + background: rgba($dangerButtonBg, .16); + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_splitter.scss b/public/theme/extensions/_splitter.scss new file mode 100644 index 0000000..d00abfe --- /dev/null +++ b/public/theme/extensions/_splitter.scss @@ -0,0 +1,18 @@ +.p-splitter { + .p-splitter-gutter { + .p-splitter-gutter-handle { + transition: transform $transitionDuration, box-shadow $transitionDuration; + transform: scale(.7); + + &:focus { + box-shadow: 0 0 1px 6px rgba($accentColor, .2); + } + } + + &.p-splitter-gutter-resizing { + .p-splitter-gutter-handle { + transform: scale(1); + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_steps.scss b/public/theme/extensions/_steps.scss new file mode 100644 index 0000000..42fb457 --- /dev/null +++ b/public/theme/extensions/_steps.scss @@ -0,0 +1,65 @@ +.p-steps { + padding: 1rem 0; + + .p-steps-item { + justify-content: flex-start; + flex-direction: row-reverse; + align-items: center; + + &:before { + position: static; + left: auto; + top: auto; + margin-top: 0; + } + + &:last-child { + flex-grow: 0; + + &:before { + display: none; + } + } + + .p-menuitem-link { + flex-direction: row; + flex: 1 1 auto; + overflow: visible; + padding: 1rem $inlineSpacing; + + .p-steps-number { + background-color: #9e9d9e; + color: #ffffff; + font-size: 0.857rem; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + } + + .p-steps-title { + margin: 0; + padding-left: $inlineSpacing; + } + + &:not(.p-disabled):focus { + background: $emphasis-lower; + } + } + + &.p-highlight { + .p-steps-number { + background-color: $primaryColor; + color: $primaryTextColor; + } + + .p-steps-title { + font-weight: 600; + color: $textColor; + } + } + + &.p-disabled { + opacity: 1; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_tabmenu.scss b/public/theme/extensions/_tabmenu.scss new file mode 100644 index 0000000..3771383 --- /dev/null +++ b/public/theme/extensions/_tabmenu.scss @@ -0,0 +1,37 @@ +.p-tabmenu { + .p-tabmenu-nav { + position: relative; + + li { + .p-menuitem-link { + transition: background-color $transitionDuration; + border-radius: 0; + + > .p-ink { + background-color: rgba($primaryColor, .16); + } + + &:focus { + background-color: rgba($primaryColor, .12); + } + } + + &.p-highlight { + .p-menuitem-link { + &:focus { + background-color: rgba($primaryColor, .12); + } + } + } + } + + .p-tabmenu-ink-bar { + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: $primaryColor; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_tabview.scss b/public/theme/extensions/_tabview.scss new file mode 100644 index 0000000..ccb58b5 --- /dev/null +++ b/public/theme/extensions/_tabview.scss @@ -0,0 +1,30 @@ +.p-tabview { + .p-tabview-nav { + position: relative; + + li { + .p-tabview-nav-link { + transition: background-color $transitionDuration; + border-radius: 0; + + > .p-ink { + background-color: rgba($primaryColor, .16); + } + + &:focus { + background-color: rgba($primaryColor, .12); + } + } + } + + .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: $primaryColor; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_tieredmenu.scss b/public/theme/extensions/_tieredmenu.scss new file mode 100644 index 0000000..ce4d00f --- /dev/null +++ b/public/theme/extensions/_tieredmenu.scss @@ -0,0 +1,19 @@ +.p-tieredmenu { + .p-menuitem { + &.p-highlight { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + + &:not(.p-highlight):not(.p-disabled) { + &.p-focus { + > .p-menuitem-content { + background: $emphasis-lower; + } + } + } + } +} diff --git a/public/theme/extensions/_timeline.scss b/public/theme/extensions/_timeline.scss new file mode 100644 index 0000000..0e7a874 --- /dev/null +++ b/public/theme/extensions/_timeline.scss @@ -0,0 +1,9 @@ +.p-timeline { + &.p-timeline-vertical .p-timeline-event-connector { + margin: .5rem 0; + } + + &.p-timeline-horizontal .p-timeline-event-connector { + margin: 0 .5rem; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_togglebutton.scss b/public/theme/extensions/_togglebutton.scss new file mode 100644 index 0000000..ba19ff4 --- /dev/null +++ b/public/theme/extensions/_togglebutton.scss @@ -0,0 +1,11 @@ +.p-togglebutton.p-button { + &:not(.p-disabled).p-focus { + background: $toggleButtonActiveBg; + border-color: $toggleButtonActiveBorderColor; + + &.p-highlight { + background: $toggleButtonActiveHoverBg; + border-color: $toggleButtonActiveHoverBorderColor; + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_toolbar.scss b/public/theme/extensions/_toolbar.scss new file mode 100644 index 0000000..bec3b3f --- /dev/null +++ b/public/theme/extensions/_toolbar.scss @@ -0,0 +1,3 @@ +.p-toolbar { + border: 0 none; +} \ No newline at end of file diff --git a/public/theme/extensions/_tooltip.scss b/public/theme/extensions/_tooltip.scss new file mode 100644 index 0000000..e8e64bf --- /dev/null +++ b/public/theme/extensions/_tooltip.scss @@ -0,0 +1,10 @@ +.p-tooltip { + .p-tooltip-text { + box-shadow: none; + font-size: .875rem; + } + + .p-tooltip-arrow { + display: none; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_tree.scss b/public/theme/extensions/_tree.scss new file mode 100644 index 0000000..c1b1db8 --- /dev/null +++ b/public/theme/extensions/_tree.scss @@ -0,0 +1,15 @@ +.p-tree { + .p-tree-container { + .p-treenode { + outline: 0 none; + + &:focus > .p-treenode-content { + background: $emphasis-lower; + + &.p-highlight { + background: rgba($primaryColor, .24); + } + } + } + } +} diff --git a/public/theme/extensions/_treeselect.scss b/public/theme/extensions/_treeselect.scss new file mode 100644 index 0000000..768abb0 --- /dev/null +++ b/public/theme/extensions/_treeselect.scss @@ -0,0 +1,84 @@ +.p-treeselect { + .p-treeselect-label, .p-treeselect-trigger { + background-image: none; + background: transparent; + } + + .p-treeselect-label { + border: 0 none; + } + + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor,inset 0 0 0 1px $inputFocusBorderColor; + } +} + +.p-treeselect-item { + .p-ink { + background-color: rgba($primaryColor, .16); + } +} + +.p-input-filled { + .p-treeselect { + @include filled-input-wrapper(); + + .p-treeselect-label { + &:hover { + background-image: none; + background: transparent; + } + } + } +} + +.p-float-label { + .p-treeselect-label { + .p-treeselect-token { + padding: .25rem 1rem; + margin-top: .25rem; + margin-bottom: .25rem; + } + } +} + +.p-input-filled { + .p-float-label { + .p-treeselect { + .p-treeselect-label { + @include filled-input-float-label(); + } + } + + .p-inputwrapper-filled { + &.p-treeselect { + .p-treeselect-label { + @include filled-input-float-label(); + } + + &.p-treeselect-chip { + .p-treeselect-token { + padding-top: 0; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + + .p-treeselect-token-icon { + font-size: 75%; + } + } + } + } + } + } + + .p-treeselect.p-invalid { + @include invalid-filled-input-wrapper(); + } +} + +.p-treeselect.p-invalid { + &:not(.p-disabled).p-focus { + box-shadow: inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor,inset 0 0 0 1px $inputErrorBorderColor; + } +} \ No newline at end of file diff --git a/public/theme/extensions/_treetable.scss b/public/theme/extensions/_treetable.scss new file mode 100644 index 0000000..07fabe7 --- /dev/null +++ b/public/theme/extensions/_treetable.scss @@ -0,0 +1,19 @@ +.p-treetable { + .p-sortable-column { + outline: 0 none; + + &:focus { + background-color: rgba($overlayColor, 0.03); + } + } + + .p-treetable-tbody { + > tr { + outline: 0 none; + + &:not(.p-highlight):focus { + background-color: rgba($overlayColor, 0.03); + } + } + } +} \ No newline at end of file diff --git a/public/theme/extensions/_vendor_extensions.scss b/public/theme/extensions/_vendor_extensions.scss new file mode 100644 index 0000000..326094c --- /dev/null +++ b/public/theme/extensions/_vendor_extensions.scss @@ -0,0 +1,52 @@ +@import './_mixins'; +@import './_accordion'; +@import './_autocomplete'; +@import './_breadcrumb'; +@import './_button'; +@import './_calendar'; +@import './_carousel'; +@import './_cascadeselect'; +@import './_checkbox'; +@import './_chips'; +@import './_contextmenu'; +@import './_datatable'; +@import './_dropdown'; +@import './_fullcalendar'; +@import './_galleria'; +@import './_input'; +@import './_inputgroup'; +@import './_inputnumber'; +@import './_inputswitch'; +@import './_fieldset'; +@import './_float_label'; +@import './_listbox'; +@import './_megamenu'; +@import './_menu'; +@import './_menubar'; +@import './_multiselect'; +@import './_orderlist'; +@import './_overlaypanel'; +@import './_paginator'; +@import './_password'; +@import './_panel'; +@import './_panelmenu'; +@import './_picklist'; +@import './_progressbar'; +@import './_rating'; +@import './_radiobutton'; +@import './_scrollpanel'; +@import './_selectbutton'; +@import './_slider'; +@import './_speeddial'; +@import './_splitbutton'; +@import './_splitter'; +@import './_steps'; +@import './_tabview'; +@import './_tieredmenu'; +@import './_toolbar'; +@import './_tooltip'; +@import './_tree'; +@import './_treeselect'; +@import './_treetable'; +@import './_tabmenu'; +@import './_togglebutton'; \ No newline at end of file diff --git a/public/theme/theme-base/_colors.scss b/public/theme/theme-base/_colors.scss new file mode 100644 index 0000000..076c683 --- /dev/null +++ b/public/theme/theme-base/_colors.scss @@ -0,0 +1,18 @@ +:root { + @if variable-exists(colors) { + @each $name, $color in $colors { + @for $i from 0 through 5 { + @if ($i == 0) { + --#{$name}-50:#{tint($color, (5 - $i) * 19%)}; + } + @else { + --#{$name}-#{$i * 100}:#{tint($color, (5 - $i) * 19%)}; + } + } + + @for $i from 1 through 4 { + --#{$name}-#{($i + 5) * 100}:#{shade($color, $i * 15%)}; + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/_common.scss b/public/theme/theme-base/_common.scss new file mode 100644 index 0000000..a8236a0 --- /dev/null +++ b/public/theme/theme-base/_common.scss @@ -0,0 +1,75 @@ +* { + box-sizing: border-box; +} + +.p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $fontSize; + font-weight: $fontWeight; +} + +.p-component-overlay { + background-color: $maskBg; + transition-duration: $transitionDuration; +} + +.p-disabled, .p-component:disabled { + opacity: $disabledOpacity; +} + +.p-error { + color: $errorColor; +} + +.p-text-secondary { + color: $textSecondaryColor; +} + +.pi { + font-size: $primeIconFontSize; +} + +.p-icon { + width: $primeIconFontSize; + height: $primeIconFontSize; +} + +.p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $fontSize; + border-radius: $borderRadius; + + &:focus-visible { + @include focused(); + } +} + +.p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; +} + +.p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; +} + +.p-component-overlay { + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/_components.scss b/public/theme/theme-base/_components.scss new file mode 100644 index 0000000..3c0249f --- /dev/null +++ b/public/theme/theme-base/_components.scss @@ -0,0 +1,105 @@ +@import '_mixins'; +@import '_colors'; + +@import './components/input/_editor'; + +@layer primereact { + @import '_common'; + + //Input + @import './components/input/_autocomplete'; + @import './components/input/_calendar'; + @import './components/input/_cascadeselect'; + @import './components/input/_checkbox'; + @import './components/input/_chips'; + @import './components/input/_colorpicker'; + @import './components/input/_dropdown'; + @import './components/input/_inputgroup'; + @import './components/input/_inputnumber'; + @import './components/input/_inputswitch'; + @import './components/input/_inputtext'; + @import './components/input/_listbox'; + @import './components/input/_mention'; + @import './components/input/_multiselect'; + @import './components/input/_password'; + @import './components/input/_radiobutton'; + @import './components/input/_rating'; + @import './components/input/_selectbutton'; + @import './components/input/_slider'; + @import './components/input/_treeselect'; + @import './components/input/_togglebutton'; + + //Button + @import './components/button/_button'; + @import './components/button/_splitbutton'; + @import './components/button/_speeddial'; + + //Data + @import './components/data/_carousel'; + @import './components/data/_datatable'; + @import './components/data/_dataview'; + @import './components/data/_datascroller'; + @import './components/data/_filter'; + @import './components/data/_orderlist'; + @import './components/data/_organizationchart'; + @import './components/data/_paginator'; + @import './components/data/_picklist'; + @import './components/data/_tree'; + @import './components/data/_treetable'; + @import './components/data/_timeline'; + + //Panel + @import './components/panel/_accordion'; + @import './components/panel/_card'; + @import './components/panel/_fieldset'; + @import './components/panel/_divider'; + @import './components/panel/_panel'; + @import './components/panel/_splitter'; + @import './components/panel/_scrollpanel'; + @import './components/panel/_tabview'; + @import './components/panel/_toolbar'; + + //Overlay + @import './components/overlay/_confirmpopup'; + @import './components/overlay/_dialog'; + @import './components/overlay/_overlaypanel'; + @import './components/overlay/_sidebar'; + @import './components/overlay/_tooltip'; + + //File + @import './components/file/_fileupload'; + + //Menu + @import './components/menu/_breadcrumb'; + @import './components/menu/_contextmenu'; + @import './components/menu/_dock'; + @import './components/menu/_megamenu'; + @import './components/menu/_menu'; + @import './components/menu/_menubar'; + @import './components/menu/_panelmenu'; + @import './components/menu/_slidemenu'; + @import './components/menu/_steps'; + @import './components/menu/_tabmenu'; + @import './components/menu/_tieredmenu'; + + //Messages + @import './components/messages/_inlinemessage'; + @import './components/messages/_message'; + @import 'components/messages/toast'; + + //MultiMedia + @import './components/multimedia/_galleria'; + @import './components/multimedia/_image'; + + //Misc + @import './components/misc/_avatar'; + @import './components/misc/_chip'; + @import './components/misc/_scrolltop'; + @import './components/misc/_skeleton'; + @import './components/misc/_tag'; + @import './components/misc/_inplace'; + @import './components/misc/_progressbar'; + @import './components/misc/_terminal'; + @import './components/misc/_blockui'; + @import './components/misc/_badge'; +} diff --git a/public/theme/theme-base/_mixins.scss b/public/theme/theme-base/_mixins.scss new file mode 100644 index 0000000..751690f --- /dev/null +++ b/public/theme/theme-base/_mixins.scss @@ -0,0 +1,190 @@ +@mixin icon-override($icon) { + &:before { + content: $icon; + } +} + +@mixin focused() { + outline: $focusOutline; + outline-offset: $focusOutlineOffset; + box-shadow: $focusShadow; +} + +@mixin focused-inset() { + outline: $focusOutline; + outline-offset: $focusOutlineOffset; + box-shadow: inset $focusShadow; +} + +@mixin focused-input() { + @include focused(); + border-color: $inputFocusBorderColor; +} + +@mixin focused-listitem() { + outline: $focusOutline; + outline-offset: $focusOutlineOffset; + box-shadow: $inputListItemFocusShadow; +} + +@mixin invalid-input() { + border-color: $inputErrorBorderColor; +} + +@mixin menuitem-link { + padding: $menuitemPadding; + color: $menuitemTextColor; + border-radius: $menuitemBorderRadius; + transition: $listItemTransition; + user-select: none; + + .p-menuitem-text { + color: $menuitemTextColor; + } + + .p-menuitem-icon { + color: $menuitemIconColor; + margin-right: $inlineSpacing; + } + + .p-submenu-icon { + color: $menuitemIconColor; + } + + &:not(.p-disabled):hover { + background: $menuitemHoverBg; + + .p-menuitem-text { + color: $menuitemTextHoverColor; + } + + .p-menuitem-icon { + color: $menuitemIconHoverColor; + } + + .p-submenu-icon { + color: $menuitemIconHoverColor; + } + } + + &:focus { + @include focused-listitem(); + } +} + +@mixin horizontal-rootmenuitem-link { + padding: $horizontalMenuRootMenuitemPadding; + color: $horizontalMenuRootMenuitemTextColor; + border-radius: $horizontalMenuRootMenuitemBorderRadius; + transition: $listItemTransition; + user-select: none; + + .p-menuitem-text { + color: $horizontalMenuRootMenuitemTextColor; + } + + .p-menuitem-icon { + color: $horizontalMenuRootMenuitemIconColor; + margin-right: $inlineSpacing; + } + + .p-submenu-icon { + color: $horizontalMenuRootMenuitemIconColor; + margin-left: $inlineSpacing; + } + + &:not(.p-disabled):hover { + background: $horizontalMenuRootMenuitemHoverBg; + + .p-menuitem-text { + color: $horizontalMenuRootMenuitemTextHoverColor; + } + + .p-menuitem-icon { + color: $horizontalMenuRootMenuitemIconHoverColor; + } + + .p-submenu-icon { + color: $horizontalMenuRootMenuitemIconHoverColor; + } + } + + &:focus { + @include focused-listitem(); + } +} + +@mixin placeholder { + ::-webkit-input-placeholder { + @content + } + :-moz-placeholder { + @content + } + ::-moz-placeholder { + @content + } + :-ms-input-placeholder { + @content + } +} + +@mixin scaledPadding($val, $scale) { + padding: nth($val, 1) * $scale nth($val, 2) * $scale; +} + +@mixin scaledFontSize($val, $scale) { + font-size: $val * $scale; +} + +@mixin nested-submenu-indents($val, $index, $length) { + ul { + li { + a { + padding-left: $val * ($index + 1); + } + + @if $index < $length { + @include nested-submenu-indents($val, $index + 2, $length); + } + } + } +} + +@mixin action-icon($enabled: true) { + width: $actionIconWidth; + height: $actionIconHeight; + color: $actionIconColor; + border: $actionIconBorder; + background: $actionIconBg; + border-radius: $actionIconBorderRadius; + transition: $actionIconTransition; + + @if $enabled { + &:enabled:hover { + @include action-icon-hover(); + } + } @else { + &:hover { + @include action-icon-hover(); + } + } + + &:focus-visible { + @include focused(); + } +} + +@mixin action-icon-hover() { + color: $actionIconHoverColor; + border-color: $actionIconHoverBorderColor; + background: $actionIconHoverBg; +} + +@function tint($color, $percentage) { + @return mix(#fff, $color, $percentage); +} + +@function shade($color, $percentage) { + @return mix(#000, $color, $percentage); +} \ No newline at end of file diff --git a/public/theme/theme-base/components/button/_button.scss b/public/theme/theme-base/components/button/_button.scss new file mode 100644 index 0000000..fe7c22d --- /dev/null +++ b/public/theme/theme-base/components/button/_button.scss @@ -0,0 +1,584 @@ +.p-button { + color: $buttonTextColor; + background: $buttonBg; + border: $buttonBorder; + padding: $buttonPadding; + font-size: $fontSize; + transition: $formElementTransition; + border-radius: $borderRadius; + + &:not(:disabled):hover { + background: $buttonHoverBg; + color: $buttonTextHoverColor; + border-color: $buttonHoverBorderColor; + } + + &:not(:disabled):active { + background: $buttonActiveBg; + color: $buttonTextActiveColor; + border-color: $buttonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $buttonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($buttonBg, $textButtonHoverBgOpacity); + color: $buttonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($buttonBg, $textButtonActiveBgOpacity); + color: $buttonBg; + border: $outlinedButtonBorder; + } + + &.p-button-plain { + color: $plainButtonTextColor; + border-color: $plainButtonTextColor; + + &:not(:disabled):hover { + background: $plainButtonHoverBgColor; + color: $plainButtonTextColor; + } + + &:not(:disabled):active { + background: $plainButtonActiveBgColor; + color: $plainButtonTextColor; + } + } + } + + &.p-button-text { + background-color: transparent; + color: $buttonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($buttonBg, $textButtonHoverBgOpacity); + color: $buttonBg; + border-color: transparent; + } + + &:not(:disabled):active { + background: rgba($buttonBg, $textButtonActiveBgOpacity); + color: $buttonBg; + border-color: transparent; + } + + &.p-button-plain { + color: $plainButtonTextColor; + + &:not(:disabled):hover { + background: $plainButtonHoverBgColor; + color: $plainButtonTextColor; + } + + &:not(:disabled):active { + background: $plainButtonActiveBgColor; + color: $plainButtonTextColor; + } + } + } + + &:focus { + @include focused(); + } + + .p-button-label { + transition-duration: $transitionDuration; + } + + .p-button-icon-left { + margin-right: $inlineSpacing; + } + + .p-button-icon-right { + margin-left: $inlineSpacing; + } + + .p-button-icon-bottom { + margin-top: $inlineSpacing; + } + + .p-button-icon-top { + margin-bottom: $inlineSpacing; + } + + .p-badge { + margin-left: $inlineSpacing; + min-width: $fontSize; + height: $fontSize; + line-height: $fontSize; + color: $buttonBg; + background-color: $buttonTextColor; + } + + &.p-button-raised { + box-shadow: $raisedButtonShadow; + } + + &.p-button-rounded { + border-radius: $roundedButtonBorderRadius; + } + + &.p-button-icon-only { + width: $buttonIconOnlyWidth; + padding: $buttonIconOnlyPadding; + + .p-button-icon-left, + .p-button-icon-right { + margin: 0; + } + + &.p-button-rounded { + border-radius: 50%; + height: $buttonIconOnlyWidth; + } + } + + &.p-button-sm { + @include scaledFontSize($fontSize, $scaleSM); + @include scaledPadding($buttonPadding, $scaleSM); + + .p-button-icon { + @include scaledFontSize($primeIconFontSize, $scaleSM); + } + } + + &.p-button-lg { + @include scaledFontSize($fontSize, $scaleLG); + @include scaledPadding($buttonPadding, $scaleLG); + + .p-button-icon { + @include scaledFontSize($primeIconFontSize, $scaleLG); + } + } + + &.p-button-loading-label-only { + &.p-button-loading-left { + .p-button-label { + margin-left: $inlineSpacing; + } + } + + &.p-button-loading-right { + .p-button-label { + margin-right: $inlineSpacing; + } + } + + &.p-button-loading-top { + .p-button-label { + margin-top: $inlineSpacing; + } + } + + &.p-button-loading-bottom { + .p-button-label { + margin-bottom: $inlineSpacing; + } + } + + .p-button-loading-icon { + margin: 0; + } + } +} + +.p-fluid { + .p-button { + width: 100%; + } + + .p-button-icon-only { + width: $buttonIconOnlyWidth; + } + + .p-buttonset { + display: flex; + + .p-button { + flex: 1; + } + } +} + +.p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: $secondaryButtonTextColor; + background: $secondaryButtonBg; + border: $secondaryButtonBorder; + + &:not(:disabled):hover { + background: $secondaryButtonHoverBg; + color: $secondaryButtonTextHoverColor; + border-color: $secondaryButtonHoverBorderColor; + } + + &:not(:disabled):focus { + box-shadow: $secondaryButtonFocusShadow; + } + + &:not(:disabled):active { + background: $secondaryButtonActiveBg; + color: $secondaryButtonTextActiveColor; + border-color: $secondaryButtonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $secondaryButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity); + color: $secondaryButtonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity); + color: $secondaryButtonBg; + border: $outlinedButtonBorder; + } + } + + &.p-button-text { + background-color: transparent; + color: $secondaryButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $secondaryButtonBg; + } + + &:not(:disabled):active { + background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $secondaryButtonBg; + } + } +} + +.p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: $infoButtonTextColor; + background: $infoButtonBg; + border: $infoButtonBorder; + + &:not(:disabled):hover { + background: $infoButtonHoverBg; + color: $infoButtonTextHoverColor; + border-color: $infoButtonHoverBorderColor; + } + + &:not(:disabled):focus { + box-shadow: $infoButtonFocusShadow; + } + + &:not(:disabled):active { + background: $infoButtonActiveBg; + color: $infoButtonTextActiveColor; + border-color: $infoButtonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $infoButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($infoButtonBg, $textButtonHoverBgOpacity); + color: $infoButtonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($infoButtonBg, $textButtonActiveBgOpacity); + color: $infoButtonBg; + border: $outlinedButtonBorder; + } + } + + &.p-button-text { + background-color: transparent; + color: $infoButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($infoButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $infoButtonBg; + } + + &:not(:disabled):active { + background: rgba($infoButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $infoButtonBg; + } + } +} + +.p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: $successButtonTextColor; + background: $successButtonBg; + border: $successButtonBorder; + + &:not(:disabled):hover { + background: $successButtonHoverBg; + color: $successButtonTextHoverColor; + border-color: $successButtonHoverBorderColor; + } + + &:not(:disabled):focus { + box-shadow: $successButtonFocusShadow; + } + + &:not(:disabled):active { + background: $successButtonActiveBg; + color: $successButtonTextActiveColor; + border-color: $successButtonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $successButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($successButtonBg, $textButtonHoverBgOpacity); + color: $successButtonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($successButtonBg, $textButtonActiveBgOpacity); + color: $successButtonBg; + border: $outlinedButtonBorder; + } + } + + &.p-button-text { + background-color: transparent; + color: $successButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($successButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $successButtonBg; + } + + &:not(:disabled):active { + background: rgba($successButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $successButtonBg; + } + } +} + +.p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: $warningButtonTextColor; + background: $warningButtonBg; + border: $warningButtonBorder; + + &:not(:disabled):hover { + background: $warningButtonHoverBg; + color: $warningButtonTextHoverColor; + border-color: $warningButtonHoverBorderColor; + } + + &:not(:disabled):focus { + box-shadow: $warningButtonFocusShadow; + } + + &:not(:disabled):active { + background: $warningButtonActiveBg; + color: $warningButtonTextActiveColor; + border-color: $warningButtonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $warningButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($warningButtonBg, $textButtonHoverBgOpacity); + color: $warningButtonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($warningButtonBg, $textButtonActiveBgOpacity); + color: $warningButtonBg; + border: $outlinedButtonBorder; + } + } + + &.p-button-text { + background-color: transparent; + color: $warningButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($warningButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $warningButtonBg; + } + + &:not(:disabled):active { + background: rgba($warningButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $warningButtonBg; + } + } +} + +.p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: $helpButtonTextColor; + background: $helpButtonBg; + border: $helpButtonBorder; + + &:not(:disabled):hover { + background: $helpButtonHoverBg; + color: $helpButtonTextHoverColor; + border-color: $helpButtonHoverBorderColor; + } + + &:not(:disabled):focus { + box-shadow: $helpButtonFocusShadow; + } + + &:not(:disabled):active { + background: $helpButtonActiveBg; + color: $helpButtonTextActiveColor; + border-color: $helpButtonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $helpButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($helpButtonBg, $textButtonHoverBgOpacity); + color: $helpButtonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($helpButtonBg, $textButtonActiveBgOpacity); + color: $helpButtonBg; + border: $outlinedButtonBorder; + } + } + + &.p-button-text { + background-color: transparent; + color: $helpButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($helpButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $helpButtonBg; + } + + &:not(:disabled):active { + background: rgba($helpButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $helpButtonBg; + } + } +} + +.p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: $dangerButtonTextColor; + background: $dangerButtonBg; + border: $dangerButtonBorder; + + &:not(:disabled):hover { + background: $dangerButtonHoverBg; + color: $dangerButtonTextHoverColor; + border-color: $dangerButtonHoverBorderColor; + } + + &:not(:disabled):focus { + box-shadow: $dangerButtonFocusShadow; + } + + &:not(:disabled):active { + background: $dangerButtonActiveBg; + color: $dangerButtonTextActiveColor; + border-color: $dangerButtonActiveBorderColor; + } + + &.p-button-outlined { + background-color: transparent; + color: $dangerButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($dangerButtonBg, $textButtonHoverBgOpacity); + color: $dangerButtonBg; + border: $outlinedButtonBorder; + } + + &:not(:disabled):active { + background: rgba($dangerButtonBg, $textButtonActiveBgOpacity); + color: $dangerButtonBg; + border: $outlinedButtonBorder; + } + } + + &.p-button-text { + background-color: transparent; + color: $dangerButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($dangerButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $dangerButtonBg; + } + + &:not(:disabled):active { + background: rgba($dangerButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $dangerButtonBg; + } + } +} + +.p-button.p-button-link { + color: $linkButtonColor; + background: transparent; + border: transparent; + + &:not(:disabled):hover { + background: transparent; + color: $linkButtonHoverColor; + border-color: transparent; + + .p-button-label { + text-decoration: $linkButtonTextHoverDecoration; + } + } + + &:not(:disabled):focus { + background: transparent; + box-shadow: $linkButtonFocusShadow; + border-color: transparent; + } + + &:not(:disabled):active { + background: transparent; + color: $linkButtonColor; + border-color: transparent; + } +} diff --git a/public/theme/theme-base/components/button/_speeddial.scss b/public/theme/theme-base/components/button/_speeddial.scss new file mode 100644 index 0000000..bf6d5b6 --- /dev/null +++ b/public/theme/theme-base/components/button/_speeddial.scss @@ -0,0 +1,87 @@ +@use 'sass:math'; + +.p-speeddial-button { + &.p-button.p-button-icon-only { + width: $speedDialButtonWidth; + height: $speedDialButtonHeight; + + .p-button-icon { + font-size: $speedDialButtonIconFontSize; + + &.p-icon { + width: $speedDialButtonIconFontSize; + height: $speedDialButtonIconFontSize; + } + } + } +} + +.p-speeddial-action { + width: $speedDialActionWidth; + height: $speedDialActionHeight; + background: $speedDialActionBg; + color: $speedDialActionTextColor; + + &:hover { + background: $speedDialActionHoverBg; + color: $speedDialActionTextHoverColor; + } +} + +.p-speeddial-direction-up { + .p-speeddial-item { + margin: math.div($inlineSpacing, 2); + + &:first-child { + margin-bottom: $inlineSpacing; + } + } +} + +.p-speeddial-direction-down { + .p-speeddial-item { + margin: math.div($inlineSpacing, 2); + + &:first-child { + margin-top: $inlineSpacing; + } + } +} + +.p-speeddial-direction-left { + .p-speeddial-item { + margin: 0 math.div($inlineSpacing, 2); + + &:first-child { + margin-right: $inlineSpacing; + } + } +} + +.p-speeddial-direction-right { + .p-speeddial-item { + margin: 0 math.div($inlineSpacing, 2); + + &:first-child { + margin-left: $inlineSpacing; + } + } +} + +.p-speeddial-circle, +.p-speeddial-semi-circle, +.p-speeddial-quarter-circle { + .p-speeddial-item { + margin: 0; + + &:first-child, + &:last-child { + margin: 0; + } + } +} + +.p-speeddial-mask { + background-color: $maskBg; + border-radius: $borderRadius; +} \ No newline at end of file diff --git a/public/theme/theme-base/components/button/_splitbutton.scss b/public/theme/theme-base/components/button/_splitbutton.scss new file mode 100644 index 0000000..b548385 --- /dev/null +++ b/public/theme/theme-base/components/button/_splitbutton.scss @@ -0,0 +1,359 @@ +.p-splitbutton { + border-radius: $borderRadius; + + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $buttonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($buttonBg, $textButtonHoverBgOpacity); + color: $buttonBg; + } + + &:not(:disabled):active { + background: rgba($buttonBg, $textButtonActiveBgOpacity); + color: $buttonBg; + } + } + + &.p-button-plain { + > .p-button { + color: $plainButtonTextColor; + border-color: $plainButtonTextColor; + + &:not(:disabled):hover { + background: $plainButtonHoverBgColor; + color: $plainButtonTextColor; + } + + &:not(:disabled):active { + background: $plainButtonActiveBgColor; + color: $plainButtonTextColor; + } + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $buttonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($buttonBg, $textButtonHoverBgOpacity); + color: $buttonBg; + border-color: transparent; + } + + &:not(:disabled):active { + background: rgba($buttonBg, $textButtonActiveBgOpacity); + color: $buttonBg; + border-color: transparent; + } + } + + &.p-button-plain { + > .p-button { + color: $plainButtonTextColor; + + &:not(:disabled):hover { + background: $plainButtonHoverBgColor; + color: $plainButtonTextColor; + } + + &:not(:disabled):active { + background: $plainButtonActiveBgColor; + color: $plainButtonTextColor; + } + } + } + } + + &.p-button-raised { + box-shadow: $raisedButtonShadow; + } + + &.p-button-rounded { + border-radius: $roundedButtonBorderRadius; + + > .p-button { + border-radius: $roundedButtonBorderRadius; + } + } + + &.p-button-sm { + > .p-button { + @include scaledFontSize($fontSize, $scaleSM); + @include scaledPadding($buttonPadding, $scaleSM); + + .p-button-icon { + @include scaledFontSize($primeIconFontSize, $scaleSM); + } + } + } + + &.p-button-lg { + > .p-button { + @include scaledFontSize($fontSize, $scaleLG); + @include scaledPadding($buttonPadding, $scaleLG); + + &.p-button-icon-only { + width: auto; + } + + .p-button-icon { + @include scaledFontSize($primeIconFontSize, $scaleLG); + } + } + } + + .p-splitbutton-menubutton, + .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, + .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } +} + +.p-splitbutton.p-button-secondary { + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $secondaryButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity); + color: $secondaryButtonBg; + } + + &:not(:disabled):active { + background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity); + color: $secondaryButtonBg; + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $secondaryButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $secondaryButtonBg; + } + + &:not(:disabled):active { + background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $secondaryButtonBg; + } + } + } +} + +.p-splitbutton.p-button-info { + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $infoButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($infoButtonBg, $textButtonHoverBgOpacity); + color: $infoButtonBg; + } + + &:not(:disabled):active { + background: rgba($infoButtonBg, $textButtonActiveBgOpacity); + color: $infoButtonBg; + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $infoButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($infoButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $infoButtonBg; + } + + &:not(:disabled):active { + background: rgba($infoButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $infoButtonBg; + } + } + } +} + +.p-splitbutton.p-button-success { + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $successButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($successButtonBg, $textButtonHoverBgOpacity); + color: $successButtonBg; + } + + &:not(:disabled):active { + background: rgba($successButtonBg, $textButtonActiveBgOpacity); + color: $successButtonBg; + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $successButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($successButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $successButtonBg; + } + + &:not(:disabled):active { + background: rgba($successButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $successButtonBg; + } + } + } +} + +.p-splitbutton.p-button-warning { + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $warningButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($warningButtonBg, $textButtonHoverBgOpacity); + color: $warningButtonBg; + } + + &:not(:disabled):active { + background: rgba($warningButtonBg, $textButtonActiveBgOpacity); + color: $warningButtonBg; + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $warningButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($warningButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $warningButtonBg; + } + + &:not(:disabled):active { + background: rgba($warningButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $warningButtonBg; + } + } + } +} + +.p-splitbutton.p-button-help { + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $helpButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($helpButtonBg, $textButtonHoverBgOpacity); + color: $helpButtonBg; + } + + &:not(:disabled):active { + background: rgba($helpButtonBg, $textButtonActiveBgOpacity); + color: $helpButtonBg; + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $helpButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($helpButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $helpButtonBg; + } + + &:not(:disabled):active { + background: rgba($helpButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $helpButtonBg; + } + } + } +} + +.p-splitbutton.p-button-danger { + &.p-button-outlined { + > .p-button { + background-color: transparent; + color: $dangerButtonBg; + border: $outlinedButtonBorder; + + &:not(:disabled):hover { + background: rgba($dangerButtonBg, $textButtonHoverBgOpacity); + color: $dangerButtonBg; + } + + &:not(:disabled):active { + background: rgba($dangerButtonBg, $textButtonActiveBgOpacity); + color: $dangerButtonBg; + } + } + } + + &.p-button-text { + > .p-button { + background-color: transparent; + color: $dangerButtonBg; + border-color: transparent; + + &:not(:disabled):hover { + background: rgba($dangerButtonBg, $textButtonHoverBgOpacity); + border-color: transparent; + color: $dangerButtonBg; + } + + &:not(:disabled):active { + background: rgba($dangerButtonBg, $textButtonActiveBgOpacity); + border-color: transparent; + color: $dangerButtonBg; + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/data/_carousel.scss b/public/theme/theme-base/components/data/_carousel.scss new file mode 100644 index 0000000..87c5653 --- /dev/null +++ b/public/theme/theme-base/components/data/_carousel.scss @@ -0,0 +1,37 @@ +.p-carousel { + .p-carousel-content { + .p-carousel-prev, + .p-carousel-next { + @include action-icon(); + margin: $inlineSpacing; + } + } + + .p-carousel-indicators { + padding: $carouselIndicatorsPadding; + + .p-carousel-indicator { + margin-right: $inlineSpacing; + margin-bottom: $inlineSpacing; + + button { + background-color: $carouselIndicatorBg; + width: $carouselIndicatorWidth; + height: $carouselIndicatorHeight; + transition: $actionIconTransition; + border-radius: $carouselIndicatorBorderRadius; + + &:hover { + background: $carouselIndicatorHoverBg; + } + } + + &.p-highlight { + button { + background: $highlightBg; + color: $highlightTextColor; + } + } + } + } +} diff --git a/public/theme/theme-base/components/data/_datascroller.scss b/public/theme/theme-base/components/data/_datascroller.scss new file mode 100644 index 0000000..71bf78d --- /dev/null +++ b/public/theme/theme-base/components/data/_datascroller.scss @@ -0,0 +1,47 @@ +.p-datascroller { + .p-paginator-top { + border-width: $tableTopPaginatorBorderWidth; + border-radius: 0; + } + + .p-paginator-bottom { + border-width: $tableBottomPaginatorBorderWidth; + border-radius: 0; + } + + .p-datascroller-header { + background: $tableHeaderBg; + color: $tableHeaderTextColor; + border: $tableHeaderBorder; + border-width: $tableHeaderBorderWidth; + padding: $tableHeaderPadding; + font-weight: $tableHeaderFontWeight; + } + + .p-datascroller-content { + background: $tableBodyRowBg; + color: $tableBodyRowTextColor; + border: $dataViewContentBorder; + padding: $dataViewContentPadding; + } + + &.p-datascroller-inline { + .p-datascroller-list { + > li { + border: $dataViewListItemBorder; + border-width: $dataViewListItemBorderWidth; + } + } + } + + .p-datascroller-footer { + background: $tableFooterBg; + color: $tableFooterTextColor; + border: $tableFooterBorder; + border-width: $tableFooterBorderWidth; + padding: $tableFooterPadding; + font-weight: $tableFooterFontWeight; + border-bottom-left-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } +} diff --git a/public/theme/theme-base/components/data/_datatable.scss b/public/theme/theme-base/components/data/_datatable.scss new file mode 100644 index 0000000..dc480f0 --- /dev/null +++ b/public/theme/theme-base/components/data/_datatable.scss @@ -0,0 +1,389 @@ +.p-datatable { + .p-paginator-top { + border-width: $tableTopPaginatorBorderWidth; + border-radius: 0; + } + + .p-paginator-bottom { + border-width: $tableBottomPaginatorBorderWidth; + border-radius: 0; + } + + .p-datatable-header { + background: $tableHeaderBg; + color: $tableHeaderTextColor; + border: $tableHeaderBorder; + border-width: $tableHeaderBorderWidth; + padding: $tableHeaderPadding; + font-weight: $tableHeaderFontWeight; + } + + .p-datatable-footer { + background: $tableFooterBg; + color: $tableFooterTextColor; + border: $tableFooterBorder; + border-width: $tableFooterBorderWidth; + padding: $tableFooterPadding; + font-weight: $tableFooterFontWeight; + } + + .p-datatable-thead > tr > th { + text-align: $tableCellContentAlignment; + padding: $tableHeaderCellPadding; + border: $tableHeaderCellBorder; + border-width: $tableHeaderCellBorderWidth; + font-weight: $tableHeaderCellFontWeight; + color: $tableHeaderCellTextColor; + background: $tableHeaderCellBg; + transition: $listItemTransition; + } + + .p-datatable-tfoot > tr > td { + text-align: $tableCellContentAlignment; + padding: $tableFooterCellPadding; + border: $tableFooterCellBorder; + border-width: $tableFooterCellBorderWidth; + font-weight: $tableFooterCellFontWeight; + color: $tableFooterCellTextColor; + background: $tableFooterCellBg; + } + + .p-sortable-column { + .p-sortable-column-icon { + color: $tableHeaderCellIconColor; + margin-left: $inlineSpacing; + } + + .p-sortable-column-badge { + border-radius: 50%; + height: $tableSortableColumnBadgeSize; + min-width: $tableSortableColumnBadgeSize; + line-height: $tableSortableColumnBadgeSize; + color: $highlightTextColor; + background: $highlightBg; + margin-left: $inlineSpacing; + } + + &:not(.p-highlight):not(.p-sortable-disabled):hover { + background: $tableHeaderCellHoverBg; + color: $tableHeaderCellTextHoverColor; + + .p-sortable-column-icon { + color: $tableHeaderCellIconHoverColor; + } + } + + &.p-highlight { + background: $tableHeaderCellHighlightBg; + color: $tableHeaderCellHighlightTextColor; + + .p-sortable-column-icon { + color: $tableHeaderCellHighlightTextColor; + } + + &:not(.p-sortable-disabled):hover { + background: $tableHeaderCellHighlightHoverBg; + color: $tableHeaderCellHighlightTextColor; + + .p-sortable-column-icon { + color: $tableHeaderCellHighlightTextColor; + } + } + } + + &:focus-visible { + box-shadow: $inputListItemFocusShadow; + outline: 0 none; + } + } + + .p-datatable-tbody { + > tr { + background: $tableBodyRowBg; + color: $tableBodyRowTextColor; + transition: $listItemTransition; + + > td { + text-align: $tableCellContentAlignment; + border: $tableBodyCellBorder; + border-width: $tableBodyCellBorderWidth; + padding: $tableBodyCellPadding; + + .p-row-toggler, + .p-row-editor-init, + .p-row-editor-save, + .p-row-editor-cancel { + @include action-icon(); + } + + .p-row-editor-save { + margin-right: $inlineSpacing; + } + + > .p-column-title { + font-weight: $tableHeaderCellFontWeight; + } + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + } + } + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + } + + &.p-highlight-contextmenu { + outline: 0.15rem solid $focusOutlineColor; + outline-offset: -0.15rem; + } + + &.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 $highlightBg; + } + + &.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 $highlightBg; + } + } + } + + &.p-datatable-selectable { + .p-datatable-tbody > tr.p-selectable-row { + &:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: $tableBodyRowHoverBg; + color: $tableBodyRowTextHoverColor; + } + + &:focus-visible { + outline: .15rem solid $focusOutlineColor; + outline-offset: -.15rem; + } + } + } + + &.p-datatable-selectable-cell { + .p-datatable-tbody > tr.p-selectable-row { + & > td.p-selectable-cell { + &:not(.p-highlight):hover { + background: $tableBodyRowHoverBg; + color: $tableBodyRowTextHoverColor; + } + + &:focus-visible { + outline: .15rem solid $focusOutlineColor; + outline-offset: -.15rem; + } + } + } + } + + &.p-datatable-hoverable-rows { + .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: $tableBodyRowHoverBg; + color: $tableBodyRowTextHoverColor; + } + } + + .p-column-resizer-helper { + background: $tableResizerHelperBg; + } + + .p-datatable-scrollable-header, + .p-datatable-scrollable-footer { + background: $panelHeaderBg; + } + + &.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table, + &.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table { + > .p-datatable-thead, + > .p-datatable-tfoot { + background-color: $tableHeaderCellBg; + } + } + + .p-datatable-loading-icon { + font-size: $loadingIconFontSize; + &.p-icon { + width: $loadingIconFontSize; + height: $loadingIconFontSize; + } + } + + &.p-datatable-gridlines { + .p-datatable-header { + border-width: 1px 1px 0 1px; + } + + .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + + .p-paginator-top { + border-width: 0 1px 0 1px; + } + + .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + + .p-datatable-thead { + > tr { + > th { + border-width: 1px 0 1px 1px; + + &:last-child { + border-width: 1px; + } + } + } + } + + .p-datatable-tbody { + > tr { + > td { + border-width: 1px 0 0 1px; + + &:last-child { + border-width: 1px 1px 0 1px; + } + } + + &:last-child { + > td { + border-width: 1px 0 1px 1px; + + &:last-child { + border-width: 1px; + } + } + } + } + } + + .p-datatable-tfoot { + > tr { + > td { + border-width: 1px 0 1px 1px; + + &:last-child { + border-width: 1px 1px 1px 1px; + } + } + } + } + + .p-datatable-thead + .p-datatable-tfoot { + > tr { + > td { + border-width: 0 0 1px 1px; + + &:last-child { + border-width: 0 1px 1px 1px; + } + } + } + } + + &:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody { + > tr { + > td { + border-width: 0 0 1px 1px; + + &:last-child { + border-width: 0 1px 1px 1px; + } + } + } + } + + &:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody { + > tr { + &:last-child { + > td { + border-width: 0 0 0 1px; + + &:last-child { + border-width: 0 1px 0 1px; + } + } + } + } + } + } + + &.p-datatable-striped { + .p-datatable-tbody { + > tr.p-row-odd { + background: $tableBodyRowEvenBg; + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + + .p-row-toggler { + color: $highlightTextColor; + + &:hover { + color: $highlightTextColor; + } + } + } + + & + .p-row-expanded { + background: $tableBodyRowEvenBg; + } + } + } + } + + &.p-datatable-sm { + .p-datatable-header { + @include scaledPadding($tableHeaderPadding, $tableScaleSM); + } + + .p-datatable-thead > tr > th { + @include scaledPadding($tableHeaderCellPadding, $tableScaleSM); + } + + .p-datatable-tbody > tr > td { + @include scaledPadding($tableBodyCellPadding, $tableScaleSM); + } + + .p-datatable-tfoot > tr > td { + @include scaledPadding($tableFooterPadding, $tableScaleSM); + } + + .p-datatable-footer { + @include scaledPadding($tableFooterPadding, $tableScaleSM); + } + } + + &.p-datatable-lg { + .p-datatable-header { + @include scaledPadding($tableHeaderPadding, $tableScaleLG); + } + + .p-datatable-thead > tr > th { + @include scaledPadding($tableHeaderCellPadding, $tableScaleLG); + } + + .p-datatable-tbody > tr > td { + @include scaledPadding($tableBodyCellPadding, $tableScaleLG); + } + + .p-datatable-tfoot > tr > td { + @include scaledPadding($tableFooterPadding, $tableScaleLG); + } + + .p-datatable-footer { + @include scaledPadding($tableFooterPadding, $tableScaleLG); + } + } +} + +.p-datatable-drag-selection-helper { + background: $tableDragHelperBg; +} \ No newline at end of file diff --git a/public/theme/theme-base/components/data/_dataview.scss b/public/theme/theme-base/components/data/_dataview.scss new file mode 100644 index 0000000..601c984 --- /dev/null +++ b/public/theme/theme-base/components/data/_dataview.scss @@ -0,0 +1,56 @@ +.p-dataview { + .p-paginator-top { + border-width: $tableTopPaginatorBorderWidth; + border-radius: 0; + } + + .p-paginator-bottom { + border-width: $tableBottomPaginatorBorderWidth; + border-radius: 0; + } + + .p-dataview-header { + background: $tableHeaderBg; + color: $tableHeaderTextColor; + border: $tableHeaderBorder; + border-width: $tableHeaderBorderWidth; + padding: $tableHeaderPadding; + font-weight: $tableHeaderFontWeight; + } + + .p-dataview-content { + background: $tableBodyRowBg; + color: $tableBodyRowTextColor; + border: $dataViewContentBorder; + padding: $dataViewContentPadding; + } + + &.p-dataview-list { + .p-dataview-content { + > .p-grid > div { + border: $dataViewListItemBorder; + border-width: $dataViewListItemBorderWidth; + } + } + } + + .p-dataview-footer { + background: $tableFooterBg; + color: $tableFooterTextColor; + border: $tableFooterBorder; + border-width: $tableFooterBorderWidth; + padding: $tableFooterPadding; + font-weight: $tableFooterFontWeight; + border-bottom-left-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + + .p-dataview-loading-icon { + font-size: $loadingIconFontSize; + + &.p-icon { + width: $loadingIconFontSize; + height: $loadingIconFontSize; + } + } +} diff --git a/public/theme/theme-base/components/data/_filter.scss b/public/theme/theme-base/components/data/_filter.scss new file mode 100644 index 0000000..8eb91b7 --- /dev/null +++ b/public/theme/theme-base/components/data/_filter.scss @@ -0,0 +1,138 @@ +.p-column-filter-row { + .p-column-filter-menu-button, + .p-column-filter-clear-button { + margin-left: $inlineSpacing; + } +} + +.p-column-filter-menu-button { + width: $actionIconWidth; + height: $actionIconHeight; + color: $actionIconColor; + border: $actionIconBorder; + background: $actionIconBg; + border-radius: $actionIconBorderRadius; + transition: $actionIconTransition; + + &:hover { + color: $actionIconHoverColor; + border-color: $actionIconHoverBorderColor; + background: $actionIconHoverBg; + } + + &.p-column-filter-menu-button-open, + &.p-column-filter-menu-button-open:hover { + background: $actionIconHoverBg; + color: $actionIconHoverColor; + } + + &.p-column-filter-menu-button-active, + &.p-column-filter-menu-button-active:hover { + background: $highlightBg; + color: $highlightTextColor; + } + + &:focus-visible { + @include focused(); + } + +} + +.p-column-filter-clear-button { + width: $actionIconWidth; + height: $actionIconHeight; + color: $actionIconColor; + border: $actionIconBorder; + background: $actionIconBg; + border-radius: $actionIconBorderRadius; + transition: $actionIconTransition; + + &:hover { + color: $actionIconHoverColor; + border-color: $actionIconHoverBorderColor; + background: $actionIconHoverBg; + } + + &:focus-visible { + @include focused(); + } +} + +.p-column-filter-overlay { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + min-width: $menuWidth; + + .p-column-filter-row-items { + padding: $inputListPadding; + + .p-column-filter-row-item { + margin: $inputListItemMargin; + padding: $inputListItemPadding; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + + &:not(.p-highlight):not(.p-disabled):hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + + &:focus-visible { + @include focused-listitem(); + } + } + + .p-column-filter-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + } +} + +.p-column-filter-overlay-menu { + .p-column-filter-operator { + padding: $inputListHeaderPadding; + border-bottom: $inputListHeaderBorder; + color: $inputListHeaderTextColor; + background: $inputOverlayHeaderBg; + margin: $inputListHeaderMargin; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + } + + .p-column-filter-constraint { + padding: $panelContentPadding; + border-bottom: $divider; + + .p-column-filter-matchmode-dropdown { + margin-bottom: $inlineSpacing; + } + + .p-column-filter-remove-button { + margin-top: $inlineSpacing; + } + + &:last-child { + border-bottom: 0 none; + } + } + + .p-column-filter-add-rule { + padding: $panelFooterPadding; + } + + .p-column-filter-buttonbar { + padding: $panelContentPadding; + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/data/_orderlist.scss b/public/theme/theme-base/components/data/_orderlist.scss new file mode 100644 index 0000000..783dace --- /dev/null +++ b/public/theme/theme-base/components/data/_orderlist.scss @@ -0,0 +1,80 @@ +.p-orderlist { + .p-orderlist-controls { + padding: $panelContentPadding; + + .p-button { + margin-bottom: $inlineSpacing; + } + } + + .p-orderlist-header { + background: $panelHeaderBg; + color: $panelHeaderTextColor; + border: $panelHeaderBorder; + padding: $panelHeaderPadding; + font-weight: $panelHeaderFontWeight; + border-bottom: 0 none; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + } + + .p-orderlist-filter-container { + padding: $panelHeaderPadding; + background: $panelContentBg; + border: $panelHeaderBorder; + border-bottom: 0 none; + + .p-orderlist-filter-input { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + + .p-orderlist-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + } + + .p-orderlist-list { + border: $panelContentBorder; + background: $panelContentBg; + color: $panelContentTextColor; + padding: $inputListPadding; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + + .p-orderlist-item { + padding: $inputListItemPadding; + margin: $inputListItemMargin; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: transform $transitionDuration, $listItemTransition; + + &:not(.p-highlight):hover { + background: $inputListItemHoverBg; + color: $inputListItemTextHoverColor; + } + + &:focus { + @include focused-listitem(); + } + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + } + + &.p-orderlist-striped { + .p-orderlist-list { + .p-orderlist-item:nth-child(even) { + background: $panelContentEvenRowBg; + + &:hover { + background: $inputListItemHoverBg; + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/data/_organizationchart.scss b/public/theme/theme-base/components/data/_organizationchart.scss new file mode 100644 index 0000000..776bbea --- /dev/null +++ b/public/theme/theme-base/components/data/_organizationchart.scss @@ -0,0 +1,50 @@ +.p-organizationchart { + .p-organizationchart-node-content { + &.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: $inputListItemHoverBg; + color: $inputListItemTextHoverColor; + } + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + + .p-node-toggler { + i { + color: darken($highlightBg, 25%); + } + } + } + } + + .p-organizationchart-line-down { + background: $organizationChartConnectorColor; + } + + .p-organizationchart-line-left { + border-right: $panelContentBorder; + border-color: $organizationChartConnectorColor; + } + + .p-organizationchart-line-top { + border-top: $panelContentBorder; + border-color: $organizationChartConnectorColor; + } + + .p-organizationchart-node-content { + border: $panelContentBorder; + background: $panelContentBg; + color: $panelContentTextColor; + padding: $panelContentPadding; + } + + .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + + &:focus-visible { + @include focused(); + } + } +} diff --git a/public/theme/theme-base/components/data/_paginator.scss b/public/theme/theme-base/components/data/_paginator.scss new file mode 100644 index 0000000..dab6bbc --- /dev/null +++ b/public/theme/theme-base/components/data/_paginator.scss @@ -0,0 +1,91 @@ +.p-paginator { + background: $paginatorBg; + color: $paginatorTextColor; + border: $paginatorBorder; + border-width: $paginatorBorderWidth; + padding: $paginatorPadding; + border-radius: $borderRadius; + + .p-paginator-first, + .p-paginator-prev, + .p-paginator-next, + .p-paginator-last { + background-color: $paginatorElementBg; + border: $paginatorElementBorder; + color: $paginatorElementIconColor; + min-width: $paginatorElementWidth; + height: $paginatorElementHeight; + margin: $paginatorElementMargin; + transition: $listItemTransition; + border-radius: $paginatorElementBorderRadius; + + &:not(.p-disabled):not(.p-highlight):hover { + background: $paginatorElementHoverBg; + border-color: $paginatorElementHoverBorderColor; + color: $paginatorElementIconHoverColor; + } + } + + .p-paginator-first { + border-top-left-radius: $paginatorElementBorderRadius; + border-bottom-left-radius: $paginatorElementBorderRadius; + } + + .p-paginator-last { + border-top-right-radius: $paginatorElementBorderRadius; + border-bottom-right-radius: $paginatorElementBorderRadius; + } + + .p-dropdown { + margin-left: $inlineSpacing; + height: $paginatorElementHeight; + + .p-dropdown-label { + padding-right: 0; + } + } + + .p-paginator-page-input { + margin-left: $inlineSpacing; + margin-right: $inlineSpacing; + + .p-inputtext { + max-width: $paginatorElementWidth; + } + } + + .p-paginator-current { + background-color: $paginatorElementBg; + border: $paginatorElementBorder; + color: $paginatorElementIconColor; + min-width: $paginatorElementWidth; + height: $paginatorElementHeight; + margin: $paginatorElementMargin; + padding: 0 $inlineSpacing; + } + + .p-paginator-pages { + .p-paginator-page { + background-color: $paginatorElementBg; + border: $paginatorElementBorder; + color: $paginatorElementIconColor; + min-width: $paginatorElementWidth; + height: $paginatorElementHeight; + margin: $paginatorElementMargin; + transition: $listItemTransition; + border-radius: $paginatorElementBorderRadius; + + &.p-highlight { + background: $highlightBg; + border-color: $highlightBg; + color: $highlightTextColor; + } + + &:not(.p-highlight):hover { + background: $paginatorElementHoverBg; + border-color: $paginatorElementHoverBorderColor; + color: $paginatorElementIconHoverColor; + } + } + } +} diff --git a/public/theme/theme-base/components/data/_picklist.scss b/public/theme/theme-base/components/data/_picklist.scss new file mode 100644 index 0000000..98d2134 --- /dev/null +++ b/public/theme/theme-base/components/data/_picklist.scss @@ -0,0 +1,68 @@ +.p-picklist { + .p-picklist-buttons { + padding: $panelContentPadding; + + .p-button { + margin-bottom: $inlineSpacing; + } + } + + .p-picklist-header { + background: $panelHeaderBg; + color: $panelHeaderTextColor; + border: $panelHeaderBorder; + padding: $panelHeaderPadding; + font-weight: $panelHeaderFontWeight; + border-bottom: 0 none; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + } + + .p-picklist-filter-container { + padding: $panelHeaderPadding; + background: $panelContentBg; + border: $panelHeaderBorder; + border-bottom: 0 none; + + .p-picklist-filter-input { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + + .p-picklist-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + } + + .p-picklist-list { + border: $panelContentBorder; + background: $panelContentBg; + color: $panelContentTextColor; + padding: $inputListPadding; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + + .p-picklist-item { + padding: $inputListItemPadding; + margin: $inputListItemMargin; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: transform $transitionDuration, $listItemTransition; + + &:not(.p-highlight):hover { + background: $inputListItemHoverBg; + color: $inputListItemTextHoverColor; + } + + &:focus { + @include focused-listitem(); + } + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/data/_timeline.scss b/public/theme/theme-base/components/data/_timeline.scss new file mode 100644 index 0000000..5767491 --- /dev/null +++ b/public/theme/theme-base/components/data/_timeline.scss @@ -0,0 +1,38 @@ +.p-timeline { + .p-timeline-event-marker { + border: $timelineEventMarkerBorder; + border-radius: $timelineEventMarkerBorderRadius; + width: $timelineEventMarkerWidth; + height: $timelineEventMarkerHeight; + background-color: $timelineEventMarkerBackground; + } + + .p-timeline-event-connector { + background-color: $timelineEventColor; + } + + &.p-timeline-vertical { + .p-timeline-event-opposite, + .p-timeline-event-content { + padding: $timelineVerticalEventContentPadding; + } + + .p-timeline-event-connector { + width: $timelineEventConnectorSize; + } + } + + &.p-timeline-horizontal { + .p-timeline-event-opposite, + .p-timeline-event-content { + padding: $timelineHorizontalEventContentPadding; + } + + .p-timeline-event-connector { + height: $timelineEventConnectorSize; + } + } +} + + + diff --git a/public/theme/theme-base/components/data/_tree.scss b/public/theme/theme-base/components/data/_tree.scss new file mode 100644 index 0000000..1ffecd2 --- /dev/null +++ b/public/theme/theme-base/components/data/_tree.scss @@ -0,0 +1,102 @@ +.p-tree { + border: $panelContentBorder; + background: $panelContentBg; + color: $panelContentTextColor; + padding: $panelContentPadding; + border-radius: $borderRadius; + + .p-tree-container { + .p-treenode { + padding: $treeNodePadding; + + .p-treenode-content { + border-radius: $borderRadius; + transition: $listItemTransition; + padding: $treeNodeContentPadding; + + .p-tree-toggler { + margin-right: $inlineSpacing; + @include action-icon(); + } + + .p-treenode-icon { + margin-right: $inlineSpacing; + color: $treeNodeIconColor; + } + + .p-checkbox { + margin-right: $inlineSpacing; + + .p-indeterminate { + .p-checkbox-icon { + color: $textColor; + } + } + } + + &:focus { + @include focused-listitem(); + } + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + + .p-tree-toggler, + .p-treenode-icon { + color: $highlightTextColor; + + &:hover { + color: $highlightTextColor; + } + } + } + + &.p-treenode-selectable:not(.p-highlight):hover { + background: $inputListItemHoverBg; + color: $inputListItemTextHoverColor; + } + + &.p-treenode-dragover { + background: $inputListItemHoverBg; + color: $inputListItemTextHoverColor; + } + } + } + } + + .p-tree-filter-container { + margin-bottom: $inlineSpacing; + + .p-tree-filter { + width: 100%; + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + + .p-tree-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + } + + .p-treenode-children { + padding: $treeNodeChildrenPadding; + } + + .p-tree-loading-icon { + font-size: $loadingIconFontSize; + + &.p-icon { + width: $loadingIconFontSize; + height: $loadingIconFontSize; + } + } + + .p-treenode-droppoint { + height: $inlineSpacing; + + &.p-treenode-droppoint-active { + background: scale-color($highlightBg, $lightness: -20%); + } + } +} diff --git a/public/theme/theme-base/components/data/_treetable.scss b/public/theme/theme-base/components/data/_treetable.scss new file mode 100644 index 0000000..003ab32 --- /dev/null +++ b/public/theme/theme-base/components/data/_treetable.scss @@ -0,0 +1,277 @@ +.p-treetable { + .p-paginator-top { + border-width: $tableTopPaginatorBorderWidth; + border-radius: 0; + } + + .p-paginator-bottom { + border-width: $tableBottomPaginatorBorderWidth; + border-radius: 0; + } + + .p-treetable-header { + background: $tableHeaderBg; + color: $tableHeaderTextColor; + border: $tableHeaderBorder; + border-width: $tableHeaderBorderWidth; + padding: $tableHeaderPadding; + font-weight: $tableHeaderFontWeight; + } + + .p-treetable-footer { + background: $tableFooterBg; + color: $tableFooterTextColor; + border: $tableFooterBorder; + border-width: $tableFooterBorderWidth; + padding: $tableFooterPadding; + font-weight: $tableFooterFontWeight; + } + + .p-treetable-thead > tr > th { + text-align: $tableCellContentAlignment; + padding: $tableHeaderCellPadding; + border: $tableHeaderCellBorder; + border-width: $tableHeaderCellBorderWidth; + font-weight: $tableHeaderCellFontWeight; + color: $tableHeaderCellTextColor; + background: $tableHeaderCellBg; + transition: $listItemTransition; + } + + .p-treetable-tfoot > tr > td { + text-align: $tableCellContentAlignment; + padding: $tableFooterCellPadding; + border: $tableFooterCellBorder; + border-width: $tableFooterCellBorderWidth; + font-weight: $tableFooterCellFontWeight; + color: $tableFooterCellTextColor; + background: $tableFooterCellBg; + } + + .p-sortable-column { + outline-color: $focusOutlineColor; + + .p-sortable-column-icon { + color: $tableHeaderCellIconColor; + margin-left: $inlineSpacing; + } + + .p-sortable-column-badge { + border-radius: 50%; + height: $tableSortableColumnBadgeSize; + min-width: $tableSortableColumnBadgeSize; + line-height: $tableSortableColumnBadgeSize; + color: $highlightTextColor; + background: $highlightBg; + margin-left: $inlineSpacing; + } + + &:not(.p-highlight):hover { + background: $tableHeaderCellHoverBg; + color: $tableHeaderCellTextHoverColor; + + .p-sortable-column-icon { + color: $tableHeaderCellIconHoverColor; + } + } + + &.p-highlight { + background: $tableHeaderCellHighlightBg; + color: $tableHeaderCellHighlightTextColor; + + .p-sortable-column-icon { + color: $tableHeaderCellHighlightTextColor; + } + } + } + + .p-treetable-tbody { + > tr { + background: $tableBodyRowBg; + color: $tableBodyRowTextColor; + transition: $listItemTransition; + + > td { + text-align: $tableCellContentAlignment; + border: $tableBodyCellBorder; + border-width: $tableBodyCellBorderWidth; + padding: $tableBodyCellPadding; + + .p-treetable-toggler { + @include action-icon(); + margin-right: $inlineSpacing; + + & + .p-checkbox { + margin-right: $inlineSpacing; + + .p-indeterminate { + .p-checkbox-icon { + color: $textColor; + } + } + } + } + } + + &:focus-visible { + outline: .15rem solid $focusOutlineColor; + outline-offset: -.15rem; + } + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + + .p-treetable-toggler { + color: $highlightTextColor; + + &:hover { + color: $highlightTextColor; + } + + } + } + } + } + + &.p-treetable-selectable, + &.p-treetable-hoverable-rows { + .p-treetable-tbody > tr:not(.p-highlight):hover { + background: $tableBodyRowHoverBg; + color: $tableBodyRowTextHoverColor; + + .p-treetable-toggler { + color: $tableBodyRowTextHoverColor; + } + } + } + + .p-column-resizer-helper { + background: $tableResizerHelperBg; + } + + .p-treetable-scrollable-header, + .p-treetable-scrollable-footer { + background: $panelHeaderBg; + } + + .p-treetable-loading-icon { + font-size: $loadingIconFontSize; + + &.p-icon { + width: $loadingIconFontSize; + height: $loadingIconFontSize; + } + } + + &.p-treetable-gridlines { + .p-treetable-header { + border-width: 1px 1px 0 1px; + } + + .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + + .p-treetable-top { + border-width: 0 1px 0 1px; + } + + .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + + .p-treetable-thead { + > tr { + > th { + border-width: 1px; + } + } + } + + .p-treetable-tbody { + > tr { + > td { + border-width: 1px; + } + } + } + + .p-treetable-tfoot { + > tr { + > td { + border-width: 1px; + } + } + } + } + + &.p-treetable-striped { + .p-treetable-tbody { + > tr.p-row-odd { + background: $tableBodyRowEvenBg; + + &.p-highlight { + background: $highlightBg; + color: $highlightTextColor; + + .p-row-toggler { + color: $highlightTextColor; + + &:hover { + color: $highlightTextColor; + } + } + } + + & + .p-row-expanded { + background: $tableBodyRowEvenBg; + } + } + } + } + + &.p-treetable-sm { + .p-treetable-header { + @include scaledPadding($tableHeaderPadding, $scaleSM); + } + + .p-treetable-thead > tr > th { + @include scaledPadding($tableHeaderCellPadding, $tableScaleSM); + } + + .p-treetable-tbody > tr > td { + @include scaledPadding($tableBodyCellPadding, $tableScaleSM); + } + + .p-treetable-tfoot > tr > td { + @include scaledPadding($tableFooterPadding, $tableScaleSM); + } + + .p-treetable-footer { + @include scaledPadding($tableFooterPadding, $tableScaleSM); + } + } + + &.p-treetable-lg { + .p-treetable-header { + @include scaledPadding($tableHeaderPadding, $tableScaleLG); + } + + .p-treetable-thead > tr > th { + @include scaledPadding($tableHeaderCellPadding, $tableScaleLG); + } + + .p-treetable-tbody > tr > td { + @include scaledPadding($tableBodyCellPadding, $tableScaleLG); + } + + .p-treetable-tfoot > tr > td { + @include scaledPadding($tableFooterPadding, $tableScaleLG); + } + + .p-treetable-footer { + @include scaledPadding($tableFooterPadding, $tableScaleLG); + } + } +} diff --git a/public/theme/theme-base/components/file/_fileupload.scss b/public/theme/theme-base/components/file/_fileupload.scss new file mode 100644 index 0000000..9632fe4 --- /dev/null +++ b/public/theme/theme-base/components/file/_fileupload.scss @@ -0,0 +1,41 @@ +.p-fileupload { + .p-fileupload-buttonbar { + background: $panelHeaderBg; + padding: $panelHeaderPadding; + border: $panelHeaderBorder; + color: $panelHeaderTextColor; + border-bottom: 0 none; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + gap: $inlineSpacing; + + .p-button { + margin-right: $inlineSpacing; + } + } + + .p-fileupload-content { + background: $panelContentBg; + padding: $fileUploadContentPadding; + border: $panelContentBorder; + color: $panelContentTextColor; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + + .p-progressbar { + height: $fileUploadProgressBarHeight; + } + + .p-fileupload-row { + > div { + padding: $tableBodyCellPadding; + } + } + + &.p-fileupload-advanced { + .p-message { + margin-top: 0; + } + } +} diff --git a/public/theme/theme-base/components/input/_autocomplete.scss b/public/theme/theme-base/components/input/_autocomplete.scss new file mode 100644 index 0000000..86057e8 --- /dev/null +++ b/public/theme/theme-base/components/input/_autocomplete.scss @@ -0,0 +1,95 @@ +@use 'sass:math'; + +.p-autocomplete { + .p-autocomplete-loader { + right: nth($inputPadding, 2); + } + + &.p-autocomplete-dd { + .p-autocomplete-loader { + right: nth($inputPadding, 2) + $buttonIconOnlyWidth; + } + } + + .p-autocomplete-multiple-container { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + gap: $inlineSpacing; + + &:not(.p-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + .p-autocomplete-input-token { + padding: math.div(nth($inputPadding, 1), 2) 0; + + input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; + color: $textColor; + padding: 0; + margin: 0; + } + } + + .p-autocomplete-token { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + margin-right: $inlineSpacing; + background: $highlightBg; + color: $highlightTextColor; + border-radius: $borderRadius; + + .p-autocomplete-token-icon { + margin-left: $inlineSpacing; + } + } + } + + &.p-invalid.p-component > .p-inputtext { + @include invalid-input(); + } +} + +.p-autocomplete-panel { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + + .p-autocomplete-items { + padding: $inputListPadding; + + .p-autocomplete-item { + margin: $inputListItemMargin; + padding: $inputListItemPadding; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + &:hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + + .p-autocomplete-item-group { + margin: $submenuHeaderMargin; + padding: $submenuHeaderPadding; + color: $submenuHeaderTextColor; + background: $submenuHeaderBg; + font-weight: $submenuHeaderFontWeight; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_calendar.scss b/public/theme/theme-base/components/input/_calendar.scss new file mode 100644 index 0000000..e3e1da9 --- /dev/null +++ b/public/theme/theme-base/components/input/_calendar.scss @@ -0,0 +1,246 @@ +.p-calendar { + &.p-invalid.p-component > .p-inputtext { + @include invalid-input(); + } +} + +.p-datepicker { + padding: $calendarPadding; + background: $calendarInlineBg; + color: $calendarTextColor; + border: $calendarBorder; + border-radius: $borderRadius; + + &:not(.p-datepicker-inline) { + background: $calendarBg; + border: $calendarOverlayBorder; + box-shadow: $inputOverlayShadow; + + .p-datepicker-header { + background: $calendarHeaderBg; + } + } + + .p-datepicker-header { + padding: $calendarHeaderPadding; + color: $calendarHeaderTextColor; + background: $calendarInlineHeaderBg; + font-weight: $calendarHeaderFontWeight; + margin: $inputListHeaderMargin; + border-bottom: $calendarHeaderBorder; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-datepicker-prev, + .p-datepicker-next { + @include action-icon(); + } + + .p-datepicker-title { + line-height: $actionIconHeight; + + .p-datepicker-year, + .p-datepicker-month { + color: $calendarHeaderTextColor; + transition: $actionIconTransition; + font-weight: $calendarHeaderFontWeight; + padding: $calendarHeaderCellPadding; + + &:enabled:hover { + color: $calendarMonthYearHeaderHoverTextColor; + } + } + + .p-datepicker-month { + margin-right: $inlineSpacing; + } + } + } + + table { + font-size: $fontSize; + margin: $calendarTableMargin; + + th { + padding: $calendarHeaderCellPadding; + + > span { + width: $calendarCellDateWidth; + height: $calendarCellDateHeight; + } + } + + td { + padding: $calendarCellDatePadding; + + > span { + width: $calendarCellDateWidth; + height: $calendarCellDateHeight; + border-radius: $calendarCellDateBorderRadius; + transition: $listItemTransition; + border: $calendarCellDateBorder; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + + &:focus { + @include focused(); + } + } + + &.p-datepicker-today { + > span { + background: $calendarCellDateTodayBg; + color: $calendarCellDateTodayTextColor; + border-color: $calendarCellDateTodayBorderColor; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + } + } + } + + .p-datepicker-buttonbar { + padding: $calendarButtonBarPadding; + border-top: $divider; + + .p-button { + width: auto; + } + } + + .p-timepicker { + border-top: $divider; + padding: $calendarTimePickerPadding; + + button { + @include action-icon(); + + &:last-child { + margin-top: .2em; + } + } + + span { + font-size: $calendarTimePickerTimeFontSize; + } + + > div { + padding: $calendarTimePickerElementPadding; + } + } + + &.p-datepicker-timeonly { + .p-timepicker { + border-top: 0 none; + } + } + + .p-monthpicker { + margin: $calendarTableMargin; + + .p-monthpicker-month { + padding: $calendarCellDatePadding; + transition: $listItemTransition; + border-radius: $borderRadius; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + } + + .p-yearpicker { + margin: $calendarTableMargin; + + .p-yearpicker-year { + padding: $calendarCellDatePadding; + transition: $listItemTransition; + border-radius: $borderRadius; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + } + + &.p-datepicker-multiple-month { + .p-datepicker-group { + border-left: $divider; + padding-right: $calendarPadding; + padding-left: $calendarPadding; + padding-top: 0; + padding-bottom: 0; + + &:first-child { + padding-left: 0; + } + + &:last-child { + padding-right: 0; + border-left: 0 none; } + } + } + + &:not(.p-disabled) { + table { + td { + span:not(.p-highlight):not(.p-disabled) { + &:hover { + background: $calendarCellDateHoverBg; + } + + &:focus { + @include focused(); + } + } + } + } + + .p-monthpicker { + .p-monthpicker-month { + &:not(.p-disabled) { + &:not(.p-highlight):hover { + background: $calendarCellDateHoverBg; + } + + &:focus { + @include focused(); + } + } + } + } + + .p-yearpicker { + .p-yearpicker-year { + &:not(.p-disabled) { + &:not(.p-highlight):hover { + background: $calendarCellDateHoverBg; + } + + &:focus { + @include focused(); + } + } + } + } + } + +} + +@media screen and (max-width: $calendarBreakpoint) { + .p-datepicker { + table { + th, td { + padding: $calendarCellDatePaddingSM; + } + } + } +} diff --git a/public/theme/theme-base/components/input/_cascadeselect.scss b/public/theme/theme-base/components/input/_cascadeselect.scss new file mode 100644 index 0000000..0f6c892 --- /dev/null +++ b/public/theme/theme-base/components/input/_cascadeselect.scss @@ -0,0 +1,103 @@ +.p-cascadeselect { + background: $inputBg; + border: $inputBorder; + transition: $formElementTransition; + border-radius: $borderRadius; + + &:not(.p-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: $inputPadding; + + &.p-placeholder { + color: $inputPlaceholderTextColor; + } + + &:enabled:focus { + outline: 0 none; + box-shadow: none; + } + } + + .p-cascadeselect-trigger { + background: transparent; + color: $inputIconColor; + width: $inputGroupAddOnMinWidth; + border-top-right-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + + &.p-invalid.p-component { + @include invalid-input(); + } +} + +.p-cascadeselect-panel { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + + .p-cascadeselect-items { + padding: $inputListPadding; + + .p-cascadeselect-item { + margin: $inputListItemMargin; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + .p-cascadeselect-item-content { + padding: $inputListItemPadding; + + &:focus { + @include focused-listitem(); + } + } + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + + &:not(.p-highlight):not(.p-disabled):hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + + .p-cascadeselect-group-icon { + font-size: $menuitemSubmenuIconFontSize; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } + } + } +} + +.p-input-filled { + .p-cascadeselect { + background: $inputFilledBg; + + &:not(.p-disabled):hover { + background-color: $inputFilledHoverBg; + } + + &:not(.p-disabled).p-focus { + background-color: $inputFilledFocusBg; + } + } +} diff --git a/public/theme/theme-base/components/input/_checkbox.scss b/public/theme/theme-base/components/input/_checkbox.scss new file mode 100644 index 0000000..e768c71 --- /dev/null +++ b/public/theme/theme-base/components/input/_checkbox.scss @@ -0,0 +1,92 @@ +.p-checkbox { + width: $checkboxWidth; + height: $checkboxHeight; + + .p-checkbox-box { + border: $checkboxBorder; + background: $inputBg; + width: $checkboxWidth; + height: $checkboxHeight; + color: $textColor; + border-radius: $borderRadius; + transition: $formElementTransition; + + .p-checkbox-icon { + transition-duration: $transitionDuration; + color: $checkboxIconActiveColor; + font-size: $checkboxIconFontSize; + + &.p-icon { + width: $checkboxIconFontSize; + height: $checkboxIconFontSize; + } + } + + &.p-highlight { + border-color: $checkboxActiveBorderColor; + background: $checkboxActiveBg; + + &:not(.p-disabled):hover { + border-color: $checkboxActiveHoverBorderColor; + background: $checkboxActiveHoverBg; + color: $checkboxIconActiveHoverColor; + } + } + } + + &:not(.p-checkbox-disabled) { + .p-checkbox-box { + &:hover { + border-color: $inputHoverBorderColor; + } + + &.p-focus { + @include focused-input(); + } + + &.p-highlight:hover { + border-color: $checkboxActiveHoverBorderColor; + background: $checkboxActiveHoverBg; + color: $checkboxIconActiveHoverColor; + } + } + } + + &.p-invalid > .p-checkbox-box { + @include invalid-input(); + } +} + +.p-input-filled { + .p-checkbox { + .p-checkbox-box { + background-color: $inputFilledBg; + + &.p-highlight { + background: $checkboxActiveBg; + } + } + + &:not(.p-checkbox-disabled) { + .p-checkbox-box { + &:hover { + background-color: $inputFilledHoverBg; + } + + &.p-highlight:hover { + background: $checkboxActiveHoverBg; + } + } + } + } +} + +@if ($highlightBg == $checkboxActiveBg) { + .p-highlight { + .p-checkbox { + .p-checkbox-box { + border-color: $checkboxIconActiveColor; + } + } + } +} diff --git a/public/theme/theme-base/components/input/_chips.scss b/public/theme/theme-base/components/input/_chips.scss new file mode 100644 index 0000000..4fa007e --- /dev/null +++ b/public/theme/theme-base/components/input/_chips.scss @@ -0,0 +1,45 @@ +@use 'sass:math'; + +.p-chips { + .p-chips-multiple-container { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + gap: $inlineSpacing; + + &:not(.p-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + .p-chips-token { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + margin-right: $inlineSpacing; + background: $highlightBg; + color: $chipTextColor; + border-radius: $chipBorderRadius; + + .p-chips-token-icon { + margin-left: $inlineSpacing; + } + } + + .p-chips-input-token { + padding: math.div(nth($inputPadding, 1), 2) 0; + + input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; + color: $textColor; + padding: 0; + margin: 0; + } + } + } + + &.p-invalid.p-component > .p-inputtext { + @include invalid-input(); + } +} diff --git a/public/theme/theme-base/components/input/_colorpicker.scss b/public/theme/theme-base/components/input/_colorpicker.scss new file mode 100644 index 0000000..be6d658 --- /dev/null +++ b/public/theme/theme-base/components/input/_colorpicker.scss @@ -0,0 +1,18 @@ +.p-colorpicker-preview { + width: $colorPickerPreviewWidth; + height: $colorPickerPreviewHeight; +} + +.p-colorpicker-panel { + background: $colorPickerBg; + border: $colorPickerBorder; + + .p-colorpicker-color-handle, + .p-colorpicker-hue-handle { + border-color: $colorPickerHandleColor; + } +} + +.p-colorpicker-overlay-panel { + box-shadow: $inputOverlayShadow; +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_dropdown.scss b/public/theme/theme-base/components/input/_dropdown.scss new file mode 100644 index 0000000..1d33de4 --- /dev/null +++ b/public/theme/theme-base/components/input/_dropdown.scss @@ -0,0 +1,146 @@ +.p-dropdown { + background: $inputBg; + border: $inputBorder; + transition: $formElementTransition; + border-radius: $borderRadius; + + &:not(.p-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + &.p-dropdown-clearable { + .p-dropdown-label { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + } + + .p-dropdown-label { + background: transparent; + border: 0 none; + + &.p-placeholder { + color: $inputPlaceholderTextColor; + } + + &:enabled:focus { + outline: 0 none; + box-shadow: none; + } + } + + .p-dropdown-trigger { + background: transparent; + color: $inputIconColor; + width: $inputGroupAddOnMinWidth; + border-top-right-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + + .p-dropdown-clear-icon { + color: $inputIconColor; + right: $inputGroupAddOnMinWidth; + } + + &.p-invalid.p-component { + @include invalid-input(); + } +} + +.p-dropdown-panel { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + + .p-dropdown-header { + padding: $inputListHeaderPadding; + border-bottom: $inputListHeaderBorder; + color: $inputListHeaderTextColor; + background: $inputOverlayHeaderBg; + margin: $inputListHeaderMargin; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-dropdown-filter { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + margin-right: -1 * (nth($inputPadding, 2) + $primeIconFontSize); + } + + .p-dropdown-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + + .p-dropdown-clearable-filter { + .p-dropdown-filter { + padding-right: 2 * (nth($inputPadding, 2) + $primeIconFontSize); + margin-right: -2 * (nth($inputPadding, 2) + $primeIconFontSize); + } + + .p-dropdown-filter-clear-icon { + right: (2 * nth($inputPadding, 2)) + $primeIconFontSize; + } + } + } + + .p-dropdown-items { + padding: $inputListPadding; + + .p-dropdown-item { + margin: $inputListItemMargin; + padding: $inputListItemPadding; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + + &:not(.p-highlight):not(.p-disabled):hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + } + + .p-dropdown-item-group { + margin: $submenuHeaderMargin; + padding: $submenuHeaderPadding; + color: $submenuHeaderTextColor; + background: $submenuHeaderBg; + font-weight: $submenuHeaderFontWeight; + } + + .p-dropdown-empty-message { + padding: $inputListItemPadding; + color: $inputListItemTextColor; + background: $inputListItemBg; + } + } +} + +.p-input-filled { + .p-dropdown { + background: $inputFilledBg; + + &:not(.p-disabled):hover { + background-color: $inputFilledHoverBg; + } + + &:not(.p-disabled).p-focus { + background-color: $inputFilledFocusBg; + + .p-inputtext { + background-color: transparent; + } + } + } +} diff --git a/public/theme/theme-base/components/input/_editor.scss b/public/theme/theme-base/components/input/_editor.scss new file mode 100644 index 0000000..b10b2fa --- /dev/null +++ b/public/theme/theme-base/components/input/_editor.scss @@ -0,0 +1,122 @@ +.p-editor-container { + .p-editor-toolbar { + background: $editorToolbarBg; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + &.ql-snow { + border: $editorToolbarBorder; + + .ql-stroke { + stroke: $editorToolbarIconColor; + } + + .ql-fill { + fill: $editorToolbarIconColor; + } + + .ql-picker { + .ql-picker-label { + border: 0 none; + color: $editorToolbarIconColor; + + &:hover { + color: $editorToolbarIconHoverColor; + + .ql-stroke { + stroke: $editorToolbarIconHoverColor; + } + + .ql-fill { + fill: $editorToolbarIconHoverColor; + } + } + } + + &.ql-expanded { + .ql-picker-label { + color: $editorToolbarIconHoverColor; + + .ql-stroke { + stroke: $editorToolbarIconHoverColor; + } + + .ql-fill { + fill: $editorToolbarIconHoverColor; + } + } + + .ql-picker-options { + background: $inputOverlayBg; + border:$inputOverlayBorder; + box-shadow:$inputOverlayShadow; + border-radius: $borderRadius; + padding: $inputListPadding; + + .ql-picker-item { + color: $inputListItemTextColor; + + &:hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + } + } + + &:not(.ql-icon-picker) { + .ql-picker-item { + padding: $inputListItemPadding; + } + } + } + } + } + } + + .p-editor-content { + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + + &.ql-snow { + border: $editorContentBorder; + } + + .ql-editor { + background: $inputBg; + color: $inputTextColor; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + } + + .ql-snow.ql-toolbar button:hover, + .ql-snow.ql-toolbar button:focus { + color: $editorToolbarIconHoverColor; + + .ql-stroke { + stroke: $editorToolbarIconHoverColor; + } + + .ql-fill { + fill: $editorToolbarIconHoverColor; + } + } + + .ql-snow.ql-toolbar button.ql-active, + .ql-snow.ql-toolbar .ql-picker-label.ql-active, + .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: $editorIconActiveColor; + + .ql-stroke { + stroke: $editorIconActiveColor; + } + + .ql-fill { + fill: $editorIconActiveColor; + } + + .ql-picker-label { + color: $editorIconActiveColor; + } + } +} diff --git a/public/theme/theme-base/components/input/_inputgroup.scss b/public/theme/theme-base/components/input/_inputgroup.scss new file mode 100644 index 0000000..ab4f8a0 --- /dev/null +++ b/public/theme/theme-base/components/input/_inputgroup.scss @@ -0,0 +1,74 @@ +.p-inputgroup-addon { + background: $inputGroupBg; + color: $inputGroupTextColor; + border-top: $inputBorder; + border-left: $inputBorder; + border-bottom: $inputBorder; + padding: $inputPadding; + min-width: $inputGroupAddOnMinWidth; + + &:last-child { + border-right: $inputBorder; + } +} + +.p-inputgroup { + > .p-component, + > .p-inputwrapper > .p-inputtext, + > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + + + .p-inputgroup-addon { + border-left: 0 none; + } + + &:focus { + z-index: 1; + + ~ label { + z-index: 1; + } + } + } +} + +.p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; +} + +.p-inputgroup .p-float-label:first-child input { + border-top-left-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; +} + +.p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; +} + +.p-inputgroup .p-float-label:last-child input { + border-top-right-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; +} + +.p-fluid { + .p-inputgroup { + .p-button { + width: auto; + + &.p-button-icon-only { + width: $buttonIconOnlyWidth; + } + } + } +} diff --git a/public/theme/theme-base/components/input/_inputnumber.scss b/public/theme/theme-base/components/input/_inputnumber.scss new file mode 100644 index 0000000..aa8beb7 --- /dev/null +++ b/public/theme/theme-base/components/input/_inputnumber.scss @@ -0,0 +1,5 @@ +.p-inputnumber { + &.p-invalid.p-component > .p-inputtext { + @include invalid-input(); + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_inputswitch.scss b/public/theme/theme-base/components/input/_inputswitch.scss new file mode 100644 index 0000000..dba7af2 --- /dev/null +++ b/public/theme/theme-base/components/input/_inputswitch.scss @@ -0,0 +1,62 @@ +@use 'sass:math'; + +.p-inputswitch { + width: $inputSwitchWidth; + height: $inputSwitchHeight; + + .p-inputswitch-slider { + background: $inputSwitchSliderOffBg; + transition: $formElementTransition; + border-radius: $inputSwitchBorderRadius; + + &:before { + background: $inputSwitchHandleOffBg; + width: $inputSwitchHandleWidth; + height: $inputSwitchHandleHeight; + left: $inputSwitchSliderPadding; + margin-top: math.div(-1 * $inputSwitchHandleHeight, 2); + border-radius: $inputSwitchHandleBorderRadius; + transition-duration: $transitionDuration; + } + } + + &.p-inputswitch-checked { + .p-inputswitch-slider:before { + transform: translateX($inputSwitchHandleWidth); + } + } + + &.p-focus { + .p-inputswitch-slider { + @include focused(); + } + } + + &:not(.p-disabled):hover { + .p-inputswitch-slider { + background: $inputSwitchSliderOffHoverBg; + } + } + + &.p-inputswitch-checked { + .p-inputswitch-slider { + background: $inputSwitchSliderOnBg; + + &:before { + background: $inputSwitchHandleOnBg; + } + } + + &:not(.p-disabled):hover { + .p-inputswitch-slider { + background: $inputSwitchSliderOnHoverBg; + } + } + } + + &.p-invalid { + .p-inputswitch-slider { + @include invalid-input(); + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_inputtext.scss b/public/theme/theme-base/components/input/_inputtext.scss new file mode 100644 index 0000000..8cf805e --- /dev/null +++ b/public/theme/theme-base/components/input/_inputtext.scss @@ -0,0 +1,102 @@ +.p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; + color: $inputTextColor; + background: $inputBg; + padding: $inputPadding; + border: $inputBorder; + transition: $formElementTransition; + appearance: none; + border-radius: $borderRadius; + + &:enabled:hover { + border-color: $inputHoverBorderColor; + } + + &:enabled:focus { + @include focused-input(); + } + + &.p-invalid.p-component { + @include invalid-input(); + } + + &.p-inputtext-sm { + @include scaledFontSize($inputTextFontSize, $scaleSM); + @include scaledPadding($inputPadding, $scaleSM); + } + + &.p-inputtext-lg { + @include scaledFontSize($inputTextFontSize, $scaleLG); + @include scaledPadding($inputPadding, $scaleLG); + } +} + +.p-float-label > label { + left: nth($inputPadding, 2); + color: $inputPlaceholderTextColor; + transition-duration: $transitionDuration; +} + +.p-float-label > label.p-error { + color: $errorColor; +} + +.p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: nth($inputPadding, 2); + color: $inputIconColor; +} + +.p-input-icon-left > .p-inputtext { + padding-left: nth($inputPadding, 2) * 2 + $primeIconFontSize; +} + +.p-input-icon-left.p-float-label > label { + left: nth($inputPadding, 2) * 2 + $primeIconFontSize; +} + +.p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: nth($inputPadding, 2); + color: $inputIconColor; +} + +.p-input-icon-right > .p-inputtext { + padding-right: nth($inputPadding, 2) * 2 + $primeIconFontSize; +} + +@include placeholder { + color: $inputPlaceholderTextColor +}; + +.p-input-filled { + .p-inputtext { + background-color: $inputFilledBg; + + &:enabled:hover { + background-color: $inputFilledHoverBg; + } + + &:enabled:focus { + background-color: $inputFilledFocusBg; + } + } +} + +.p-inputtext-sm { + .p-inputtext { + @include scaledFontSize($inputTextFontSize, $scaleSM); + @include scaledPadding($inputPadding, $scaleSM); + } +} + +.p-inputtext-lg { + .p-inputtext { + @include scaledFontSize($inputTextFontSize, $scaleLG); + @include scaledPadding($inputPadding, $scaleLG); + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_listbox.scss b/public/theme/theme-base/components/input/_listbox.scss new file mode 100644 index 0000000..9b0e78f --- /dev/null +++ b/public/theme/theme-base/components/input/_listbox.scss @@ -0,0 +1,74 @@ +.p-listbox { + background: $inputListBg; + color: $inputListTextColor; + border: $inputListBorder; + border-radius: $borderRadius; + + .p-listbox-header { + padding: $inputListHeaderPadding; + border-bottom: $inputListHeaderBorder; + color: $inputListHeaderTextColor; + background: $inputListHeaderBg; + margin: $inputListHeaderMargin; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-listbox-filter { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + + .p-listbox-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + } + + .p-listbox-list { + padding: $inputListPadding; + + .p-listbox-item { + margin: $inputListItemMargin; + padding: $inputListItemPadding; + border: $inputListItemBorder; + color: $inputListItemTextColor; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + + &:focus { + @include focused-listitem(); + } + } + + .p-listbox-item-group { + margin: $submenuHeaderMargin; + padding: $submenuHeaderPadding; + color: $submenuHeaderTextColor; + background: $submenuHeaderBg; + font-weight: $submenuHeaderFontWeight; + } + + .p-listbox-empty-message { + padding: $inputListItemPadding; + color: $inputListItemTextColor; + background: $inputListItemBg; + } + } + + &:not(.p-disabled) { + .p-listbox-item { + &:not(.p-highlight):not(.p-disabled):hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + } + } + + &.p-invalid { + @include invalid-input(); + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_mention.scss b/public/theme/theme-base/components/input/_mention.scss new file mode 100644 index 0000000..21ccf32 --- /dev/null +++ b/public/theme/theme-base/components/input/_mention.scss @@ -0,0 +1,31 @@ +.p-mention-panel { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + + .p-mention-items { + padding: $inputListPadding; + + .p-mention-item { + margin: $inputListItemMargin; + padding: $inputListItemPadding; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + &:hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_multiselect.scss b/public/theme/theme-base/components/input/_multiselect.scss new file mode 100644 index 0000000..d059bb0 --- /dev/null +++ b/public/theme/theme-base/components/input/_multiselect.scss @@ -0,0 +1,177 @@ +@use 'sass:math'; + +.p-multiselect { + background: $inputBg; + border: $inputBorder; + transition: $formElementTransition; + border-radius: $borderRadius; + + &:not(.p-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + &.p-multiselect-clearable { + .p-multiselect-label { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + } + + .p-multiselect-label { + padding: $inputPadding; + transition: $formElementTransition; + + &.p-placeholder { + color: $inputPlaceholderTextColor; + } + } + + &.p-multiselect-chip { + .p-multiselect-token { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + margin-right: $inlineSpacing; + background: $chipBg; + color: $chipTextColor; + border-radius: $chipBorderRadius; + + .p-multiselect-token-icon { + margin-left: $inlineSpacing; + } + } + } + + .p-multiselect-trigger { + background: transparent; + color: $inputIconColor; + width: $inputGroupAddOnMinWidth; + border-top-right-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + + .p-multiselect-clear-icon { + color: $inputIconColor; + right: $inputGroupAddOnMinWidth; + } + + &.p-invalid.p-component { + @include invalid-input(); + } +} + +.p-inputwrapper-filled { + &.p-multiselect { + &.p-multiselect-chip { + .p-multiselect-label { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + + &.p-multiselect-items-label { + padding: $inputPadding; + } + } + } + + &.p-multiselect-clearable { + .p-multiselect-label { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + } + } +} + +.p-multiselect-panel { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + + .p-multiselect-header { + padding: $inputListHeaderPadding; + border-bottom: $inputListHeaderBorder; + color: $inputListHeaderTextColor; + background: $inputOverlayHeaderBg; + margin: $inputListHeaderMargin; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-multiselect-filter-container { + margin: 0 $inlineSpacing; + + .p-inputtext { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + + .p-multiselect-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + } + + .p-multiselect-close { + @include action-icon(); + } + } + + .p-multiselect-items { + padding: $inputListPadding; + + .p-multiselect-item { + margin: $inputListItemMargin; + padding: $inputListItemPadding; + border: $inputListItemBorder; + color: $inputListItemTextColor; + background: $inputListItemBg; + transition: $listItemTransition; + border-radius: $inputListItemBorderRadius; + + &.p-highlight { + color: $highlightTextColor; + background: $highlightBg; + } + + &:not(.p-highlight):not(.p-disabled):hover { + color: $inputListItemTextHoverColor; + background: $inputListItemHoverBg; + } + + &:focus { + @include focused-listitem(); + } + + .p-checkbox { + margin-right: $inlineSpacing; + } + } + + .p-multiselect-item-group { + margin: $submenuHeaderMargin; + padding: $submenuHeaderPadding; + color: $submenuHeaderTextColor; + background: $submenuHeaderBg; + font-weight: $submenuHeaderFontWeight; + } + + .p-multiselect-empty-message { + padding: $inputListItemPadding; + color: $inputListItemTextColor; + background: $inputListItemBg; + } + } +} + +.p-input-filled { + .p-multiselect { + background: $inputFilledBg; + + &:not(.p-disabled):hover { + background-color: $inputFilledHoverBg; + } + + &:not(.p-disabled).p-focus { + background-color: $inputFilledFocusBg; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_password.scss b/public/theme/theme-base/components/input/_password.scss new file mode 100644 index 0000000..c226e4e --- /dev/null +++ b/public/theme/theme-base/components/input/_password.scss @@ -0,0 +1,33 @@ +.p-password { + &.p-invalid.p-component > .p-inputtext { + @include invalid-input(); + } +} + +.p-password-panel { + padding: $panelContentPadding; + background: $panelContentBg; + color: $panelContentTextColor; + border: $overlayContentBorder; + box-shadow: $inputOverlayShadow; + border-radius: $borderRadius; + + .p-password-meter { + margin-bottom: $inlineSpacing; + background: $passwordMeterBg; + + .p-password-strength { + &.weak { + background: $passwordWeakBg; + } + + &.medium { + background: $passwordMediumBg; + } + + &.strong { + background: $passwordStrongBg; + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_radiobutton.scss b/public/theme/theme-base/components/input/_radiobutton.scss new file mode 100644 index 0000000..157b5df --- /dev/null +++ b/public/theme/theme-base/components/input/_radiobutton.scss @@ -0,0 +1,78 @@ +.p-radiobutton { + width: $radiobuttonWidth; + height: $radiobuttonHeight; + + .p-radiobutton-box { + border: $radiobuttonBorder; + background: $inputBg; + width: $radiobuttonWidth; + height: $radiobuttonHeight; + color: $textColor; + border-radius: 50%; + transition: $formElementTransition; + + &:not(.p-disabled):not(.p-highlight):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + .p-radiobutton-icon { + width: $radiobuttonIconSize; + height: $radiobuttonIconSize; + transition-duration: $transitionDuration; + background-color: $radiobuttonIconActiveColor; + } + + &.p-highlight { + border-color: $radiobuttonActiveBorderColor; + background: $radiobuttonActiveBg; + + &:not(.p-disabled):hover { + border-color: $radiobuttonActiveHoverBorderColor; + background: $radiobuttonActiveHoverBg; + color: $radiobuttonIconActiveHoverColor; + } + } + } + + &.p-invalid > .p-radiobutton-box { + @include invalid-input(); + } + + &:focus { + outline: 0 none; + } +} + +.p-input-filled { + .p-radiobutton { + .p-radiobutton-box { + background-color: $inputFilledBg; + + &:not(.p-disabled):hover { + background-color: $inputFilledHoverBg; + } + + &.p-highlight { + background: $radiobuttonActiveBg; + + &:not(.p-disabled):hover { + background: $radiobuttonActiveHoverBg; + } + } + } + } +} + +@if ($highlightBg == $radiobuttonActiveBg) { + .p-highlight { + .p-radiobutton { + .p-radiobutton-box { + border-color: $radiobuttonIconActiveColor; + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_rating.scss b/public/theme/theme-base/components/input/_rating.scss new file mode 100644 index 0000000..2fae62e --- /dev/null +++ b/public/theme/theme-base/components/input/_rating.scss @@ -0,0 +1,60 @@ +@use 'sass:math'; + +.p-rating { + gap: $inlineSpacing; + + .p-rating-item { + .p-rating-icon { + color: $ratingStarIconOffColor; + transition: $formElementTransition; + font-size: $ratingIconFontSize; + + &.p-icon { + width: $ratingIconFontSize; + height: $ratingIconFontSize; + } + + &.p-rating-cancel { + color: $ratingCancelIconColor; + } + } + + &:focus { + @include focused(); + } + + &.p-rating-item-active { + .p-rating-icon { + color: $ratingStarIconOnColor; + } + } + } + + &:not(.p-disabled):not(.p-readonly) { + .p-rating-item { + &:hover { + .p-rating-icon { + color: $ratingStarIconHoverColor; + + &.p-rating-cancel { + color: $ratingCancelIconHoverColor; + } + } + } + } + } +} + +@if ($highlightBg == $ratingStarIconOnColor) { + .p-highlight { + .p-rating { + .p-rating-item { + &.p-rating-item-active { + .p-rating-icon { + color: $highlightTextColor; + } + } + } + } + } +} diff --git a/public/theme/theme-base/components/input/_selectbutton.scss b/public/theme/theme-base/components/input/_selectbutton.scss new file mode 100644 index 0000000..dfcabe6 --- /dev/null +++ b/public/theme/theme-base/components/input/_selectbutton.scss @@ -0,0 +1,50 @@ +.p-selectbutton { + .p-button { + background: $toggleButtonBg; + border: $toggleButtonBorder; + color: $toggleButtonTextColor; + transition: $formElementTransition; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconColor; + } + + &:not(.p-disabled):not(.p-highlight):hover { + background: $toggleButtonHoverBg; + border-color: $toggleButtonHoverBorderColor; + color: $toggleButtonTextHoverColor; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconHoverColor; + } + } + + &.p-highlight { + background: $toggleButtonActiveBg; + border-color: $toggleButtonActiveBorderColor; + color: $toggleButtonTextActiveColor; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconActiveColor; + } + + &:hover { + background: $toggleButtonActiveHoverBg; + border-color: $toggleButtonActiveHoverBorderColor; + color: $toggleButtonTextActiveHoverColor; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconActiveHoverColor; + } + } + } + } + + &.p-invalid > .p-button { + @include invalid-input(); + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_slider.scss b/public/theme/theme-base/components/input/_slider.scss new file mode 100644 index 0000000..c752cd3 --- /dev/null +++ b/public/theme/theme-base/components/input/_slider.scss @@ -0,0 +1,49 @@ +@use 'sass:math'; + +.p-slider { + background: $sliderBg; + border: $sliderBorder; + border-radius: $borderRadius; + + &.p-slider-horizontal { + height: $sliderHorizontalHeight; + + .p-slider-handle { + margin-top: math.div(-1 * $sliderHandleHeight, 2); + margin-left: math.div(-1 * $sliderHandleWidth, 2); + } + } + + &.p-slider-vertical { + width: $sliderVerticalWidth; + + .p-slider-handle { + margin-left: math.div(-1 * $sliderHandleWidth, 2); + margin-bottom: math.div(-1 * $sliderHandleHeight, 2); + } + } + + .p-slider-handle { + height: $sliderHandleHeight; + width: $sliderHandleWidth; + background: $sliderHandleBg; + border: $sliderHandleBorder; + border-radius: $sliderHandleBorderRadius; + transition: $formElementTransition; + + &:focus { + @include focused(); + } + } + + .p-slider-range { + background: $sliderRangeBg; + } + + &:not(.p-disabled) { + .p-slider-handle:hover { + background: $sliderHandleHoverBg; + border-color: $sliderHandleHoverBorderColor; + } + } +} diff --git a/public/theme/theme-base/components/input/_togglebutton.scss b/public/theme/theme-base/components/input/_togglebutton.scss new file mode 100644 index 0000000..b9c193f --- /dev/null +++ b/public/theme/theme-base/components/input/_togglebutton.scss @@ -0,0 +1,48 @@ +.p-togglebutton.p-button { + background: $toggleButtonBg; + border: $toggleButtonBorder; + color: $toggleButtonTextColor; + transition: $formElementTransition; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconColor; + } + + &:not(.p-disabled):not(.p-highlight):hover { + background: $toggleButtonHoverBg; + border-color: $toggleButtonHoverBorderColor; + color: $toggleButtonTextHoverColor; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconHoverColor; + } + } + + &.p-highlight { + background: $toggleButtonActiveBg; + border-color: $toggleButtonActiveBorderColor; + color: $toggleButtonTextActiveColor; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconActiveColor; + } + + &:hover { + background: $toggleButtonActiveHoverBg; + border-color: $toggleButtonActiveHoverBorderColor; + color: $toggleButtonTextActiveHoverColor; + + .p-button-icon-left, + .p-button-icon-right { + color: $toggleButtonIconActiveHoverColor; + } + } + } + + &.p-invalid > .p-button { + @include invalid-input(); + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/input/_treeselect.scss b/public/theme/theme-base/components/input/_treeselect.scss new file mode 100644 index 0000000..619d508 --- /dev/null +++ b/public/theme/theme-base/components/input/_treeselect.scss @@ -0,0 +1,139 @@ +@use 'sass:math'; + +.p-treeselect { + background: $inputBg; + border: $inputBorder; + transition: $formElementTransition; + border-radius: $borderRadius; + + &:not(.p-disabled):hover { + border-color: $inputHoverBorderColor; + } + + &:not(.p-disabled).p-focus { + @include focused-input(); + } + + &.p-treeselect-clearable { + .p-treeselect-label { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + } + + .p-treeselect-label { + padding: $inputPadding; + transition: $formElementTransition; + + &.p-placeholder { + color: $inputPlaceholderTextColor; + } + } + + &.p-treeselect-chip { + .p-treeselect-token { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + margin-right: $inlineSpacing; + background: $chipBg; + color: $chipTextColor; + border-radius: $chipBorderRadius; + } + } + + .p-treeselect-trigger { + background: transparent; + color: $inputIconColor; + width: $inputGroupAddOnMinWidth; + border-top-right-radius: $borderRadius; + border-bottom-right-radius: $borderRadius; + } + + .p-treeselect-clear-icon { + color: $inputIconColor; + right: $inputGroupAddOnMinWidth; + } + + &.p-invalid.p-component { + @include invalid-input(); + } +} + +.p-inputwrapper-filled { + &.p-treeselect { + &.p-treeselect-chip { + .p-treeselect-label { + padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2); + } + } + } +} + +.p-treeselect-panel { + background: $inputOverlayBg; + color: $inputListTextColor; + border: $inputOverlayBorder; + border-radius: $borderRadius; + box-shadow: $inputOverlayShadow; + + .p-treeselect-header { + padding: $inputListHeaderPadding; + border-bottom: $inputListHeaderBorder; + color: $inputListHeaderTextColor; + background: $inputOverlayHeaderBg; + margin: $inputListHeaderMargin; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-treeselect-filter-container { + margin-right: $inlineSpacing; + + .p-treeselect-filter { + padding-right: nth($inputPadding, 2) + $primeIconFontSize; + } + + .p-treeselect-filter-icon { + right: nth($inputPadding, 2); + color: $inputIconColor; + } + + &.p-treeselect-clearable-filter { + .p-treeselect-filter { + padding-right: 2 * (nth($inputPadding, 2) + $primeIconFontSize); + } + + .p-treeselect-filter-clear-icon { + right: (2 * nth($inputPadding, 2)) + $primeIconFontSize; + } + } + } + + .p-treeselect-close { + @include action-icon(); + } + } + + .p-treeselect-items-wrapper { + .p-tree { + border: 0 none; + } + + .p-treeselect-empty-message { + padding: $inputListItemPadding; + color: $inputListItemTextColor; + background: $inputListItemBg; + } + } +} + +.p-input-filled { + .p-treeselect { + background: $inputFilledBg; + + &:not(.p-disabled):hover { + background-color: $inputFilledHoverBg; + } + + &:not(.p-disabled).p-focus { + background-color: $inputFilledFocusBg; + } + } +} diff --git a/public/theme/theme-base/components/menu/_breadcrumb.scss b/public/theme/theme-base/components/menu/_breadcrumb.scss new file mode 100644 index 0000000..5dd68b9 --- /dev/null +++ b/public/theme/theme-base/components/menu/_breadcrumb.scss @@ -0,0 +1,42 @@ +.p-breadcrumb { + background: $breadcrumbBg; + border: $breadcrumbBorder; + border-radius: $borderRadius; + padding: $breadcrumbPadding; + + .p-breadcrumb-list { + li { + .p-menuitem-link { + transition: $listItemTransition; + border-radius: $borderRadius; + + &:focus-visible { + @include focused(); + } + + .p-menuitem-text { + color: $breadcrumbItemTextColor; + } + + .p-menuitem-icon { + color: $breadcrumbItemIconColor; + } + } + + &.p-menuitem-separator { + margin: 0 $inlineSpacing 0 $inlineSpacing; + color: $breadcrumbSeparatorColor; + } + + &:last-child { + .p-menuitem-text { + color: $breadcrumbLastItemTextColor; + } + + .p-menuitem-icon { + color: $breadcrumbLastItemIconColor; + } + } + } + } +} diff --git a/public/theme/theme-base/components/menu/_contextmenu.scss b/public/theme/theme-base/components/menu/_contextmenu.scss new file mode 100644 index 0000000..690ccdf --- /dev/null +++ b/public/theme/theme-base/components/menu/_contextmenu.scss @@ -0,0 +1,52 @@ +.p-contextmenu { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + color: $menuTextColor; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + border-radius: $borderRadius; + width: $menuWidth; + + .p-menuitem-link { + @include menuitem-link(); + } + + .p-submenu-list { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + border-radius: $borderRadius; + } + + .p-menuitem { + &.p-menuitem-active { + > .p-menuitem-link { + background: $menuitemActiveBg; + + .p-menuitem-text { + color: $menuitemTextActiveColor; + } + + .p-menuitem-icon, .p-submenu-icon { + color: $menuitemIconActiveColor; + } + } + } + } + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-submenu-icon { + font-size: $menuitemSubmenuIconFontSize; + transition: transform $transitionDuration; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } +} diff --git a/public/theme/theme-base/components/menu/_dock.scss b/public/theme/theme-base/components/menu/_dock.scss new file mode 100644 index 0000000..c5f6614 --- /dev/null +++ b/public/theme/theme-base/components/menu/_dock.scss @@ -0,0 +1,97 @@ +.p-dock { + .p-dock-list { + background: $dockBg; + border: $dockBorder; + padding: $dockPadding; + border-radius: $dockBorderRadius; + } + + .p-dock-item { + padding: $dockItemPadding; + } + + .p-dock-action { + width: $dockActionWidth; + height: $dockActionHeight; + } + + &.p-dock-magnification { + &.p-dock-top, + &.p-dock-bottom { + .p-dock-item-second-prev, + .p-dock-item-second-next { + margin: 0 $dockSecondItemsMargin; + } + + .p-dock-item-prev, + .p-dock-item-next { + margin: 0 $dockFirstItemsMargin; + } + + .p-dock-item-current { + margin: 0 $dockCurrentItemMargin; + } + } + + &.p-dock-left, + &.p-dock-right { + .p-dock-item-second-prev, + .p-dock-item-second-next { + margin: $dockSecondItemsMargin 0; + } + + .p-dock-item-prev, + .p-dock-item-next { + margin: $dockFirstItemsMargin 0; + } + + .p-dock-item-current { + margin: $dockCurrentItemMargin 0; + } + } + } +} + +@media screen and (max-width: 960px) { + .p-dock { + &.p-dock-top, + &.p-dock-bottom { + .p-dock-container { + overflow-x: auto; + width: 100%; + + .p-dock-list { + margin: 0 auto; + } + } + } + + &.p-dock-left, + &.p-dock-right { + .p-dock-container { + overflow-y: auto; + height: 100%; + + .p-dock-list { + margin: auto 0; + } + } + } + + &.p-dock-magnification { + &.p-dock-top, + &.p-dock-bottom, + &.p-dock-left, + &.p-dock-right { + .p-dock-item-second-prev, + .p-dock-item-second-next, + .p-dock-item-prev, + .p-dock-item-next, + .p-dock-item-current { + transform: none; + margin: 0; + } + } + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/menu/_megamenu.scss b/public/theme/theme-base/components/menu/_megamenu.scss new file mode 100644 index 0000000..1a15830 --- /dev/null +++ b/public/theme/theme-base/components/menu/_megamenu.scss @@ -0,0 +1,180 @@ +.p-megamenu { + padding: $horizontalMenuPadding; + background: $horizontalMenuBg; + color: $horizontalMenuTextColor; + border: $horizontalMenuBorder; + border-radius: $borderRadius; + + .p-megamenu-root-list { + > .p-menuitem { + > .p-menuitem-link { + @include horizontal-rootmenuitem-link(); + + > .p-submenu-icon { + margin-left: auto; + } + } + + &.p-menuitem-active { + > .p-menuitem-link, + > .p-menuitem-link:not(.p-disabled):hover { + background: $horizontalMenuRootMenuitemActiveBg; + + .p-menuitem-text { + color: $horizontalMenuRootMenuitemTextActiveColor; + } + + .p-menuitem-icon { + color: $horizontalMenuRootMenuitemIconActiveColor; + } + + .p-submenu-icon { + color: $horizontalMenuRootMenuitemIconActiveColor; + } + } + } + } + } + + .p-menuitem-link { + @include menuitem-link(); + } + + .p-megamenu-panel { + background: $overlayMenuBg; + color: $menuTextColor; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + } + + .p-megamenu-submenu-header { + margin: $submenuHeaderMargin; + padding: $submenuHeaderPadding; + color: $submenuHeaderTextColor; + background: $submenuHeaderBg; + font-weight: $submenuHeaderFontWeight; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + } + + .p-megamenu-submenu { + padding: $verticalMenuPadding; + width: $menuWidth; + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + } + + .p-menuitem { + &.p-menuitem-active { + > .p-menuitem-link { + background: $menuitemActiveBg; + + .p-menuitem-text { + color: $menuitemTextActiveColor; + } + + .p-menuitem-icon, .p-submenu-icon { + color: $menuitemIconActiveColor; + } + } + } + } + + &.p-megamenu-vertical { + width: $menuWidth; + padding: $verticalMenuPadding; + } + + .p-megamenu-button { + width: $actionIconWidth; + height: $actionIconHeight; + color: $horizontalMenuRootMenuitemIconColor; + border-radius: $actionIconBorderRadius; + transition: $actionIconTransition; + + &:hover { + color: $horizontalMenuRootMenuitemIconHoverColor; + background: $horizontalMenuRootMenuitemHoverBg; + } + + &:focus { + @include focused(); + } + } + + .p-submenu-icon { + transition: transform $transitionDuration; + } + + &.p-megamenu-mobile-active { + .p-megamenu-root-list { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-submenu-icon { + font-size: $menuitemSubmenuIconFontSize; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } + + > .p-menuitem { + width: 100%; + position: static; + + > .p-menuitem-link { + @include menuitem-link(); + + > .p-submenu-icon { + margin-left: auto; + } + } + + &.p-menuitem-active { + > .p-menuitem-link { + > .p-submenu-icon { + transform: rotate(-180deg); + } + } + } + } + + .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + + .p-submenu-icon { + transition: transform $transitionDuration; + transform: rotate(90deg); + } + + .p-menuitem-active { + > .p-menuitem-link { + > .p-submenu-icon { + transform: rotate(-90deg); + } + } + } + } + + .p-menuitem { + width: 100%; + position: static; + } + } + } +} diff --git a/public/theme/theme-base/components/menu/_menu.scss b/public/theme/theme-base/components/menu/_menu.scss new file mode 100644 index 0000000..1ca3351 --- /dev/null +++ b/public/theme/theme-base/components/menu/_menu.scss @@ -0,0 +1,33 @@ +.p-menu { + padding: $verticalMenuPadding; + background: $menuBg; + color: $menuTextColor; + border: $menuBorder; + border-radius: $borderRadius; + width: $menuWidth; + + .p-menuitem-link { + @include menuitem-link(); + } + + &.p-menu-overlay { + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + } + + .p-submenu-header { + margin: $submenuHeaderMargin; + padding: $submenuHeaderPadding; + color: $submenuHeaderTextColor; + background: $submenuHeaderBg; + font-weight: $submenuHeaderFontWeight; + border-top-right-radius: $submenuHeaderBorderRadius; + border-top-left-radius: $submenuHeaderBorderRadius; + } + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } +} diff --git a/public/theme/theme-base/components/menu/_menubar.scss b/public/theme/theme-base/components/menu/_menubar.scss new file mode 100644 index 0000000..16215d1 --- /dev/null +++ b/public/theme/theme-base/components/menu/_menubar.scss @@ -0,0 +1,181 @@ +.p-menubar { + padding: $horizontalMenuPadding; + background: $horizontalMenuBg; + color: $horizontalMenuTextColor; + border: $horizontalMenuBorder; + border-radius: $borderRadius; + + .p-menuitem-link { + @include menuitem-link(); + } + + .p-menubar-root-list { + > .p-menuitem { + > .p-menuitem-link { + @include horizontal-rootmenuitem-link(); + } + + &.p-menuitem-active { + > .p-menuitem-link, + > .p-menuitem-link:not(.p-disabled):hover { + background: $horizontalMenuRootMenuitemActiveBg; + + .p-menuitem-text { + color: $horizontalMenuRootMenuitemTextActiveColor; + } + + .p-menuitem-icon { + color: $horizontalMenuRootMenuitemIconActiveColor; + } + + .p-submenu-icon { + color: $horizontalMenuRootMenuitemIconActiveColor; + } + } + } + } + } + + .p-submenu-list { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + width: $menuWidth; + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-submenu-icon { + font-size: $menuitemSubmenuIconFontSize; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } + } + + .p-menuitem { + &.p-menuitem-active { + > .p-menuitem-link { + background: $menuitemActiveBg; + + .p-menuitem-text { + color: $menuitemTextActiveColor; + } + + .p-menuitem-icon, .p-submenu-icon { + color: $menuitemIconActiveColor; + } + } + } + } +} + +@media screen and (max-width: 960px) { + .p-menubar { + position: relative; + + .p-menubar-button { + display: flex; + width: $actionIconWidth; + height: $actionIconHeight; + color: $horizontalMenuRootMenuitemIconColor; + border-radius: $actionIconBorderRadius; + transition: $actionIconTransition; + + &:hover { + color: $horizontalMenuRootMenuitemIconHoverColor; + background: $horizontalMenuRootMenuitemHoverBg; + } + + &:focus { + @include focused(); + } + } + + .p-menubar-root-list { + position: absolute; + display: none; + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + width: 100%; + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-submenu-icon { + font-size: $menuitemSubmenuIconFontSize; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } + + > .p-menuitem { + width: 100%; + position: static; + + > .p-menuitem-link { + @include menuitem-link(); + + > .p-submenu-icon { + margin-left: auto; + transition: transform $transitionDuration; + } + } + + &.p-menuitem-active { + > .p-menuitem-link { + > .p-submenu-icon { + transform: rotate(-180deg); + } + } + } + } + + .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + + .p-submenu-icon { + transition: transform $transitionDuration; + transform: rotate(90deg); + } + + .p-menuitem-active { + > .p-menuitem-link { + > .p-submenu-icon { + transform: rotate(-90deg); + } + } + } + } + + .p-menuitem { + width: 100%; + position: static; + } + + @include nested-submenu-indents(nth($menuitemPadding, 1), 2, 10); + } + + &.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/menu/_panelmenu.scss b/public/theme/theme-base/components/menu/_panelmenu.scss new file mode 100644 index 0000000..aef33b1 --- /dev/null +++ b/public/theme/theme-base/components/menu/_panelmenu.scss @@ -0,0 +1,136 @@ +.p-panelmenu { + .p-panelmenu-header { + > a { + padding: $accordionHeaderPadding; + border: $accordionHeaderBorder; + color: $accordionHeaderTextColor; + background: $accordionHeaderBg; + font-weight: $accordionHeaderFontWeight; + border-radius: $borderRadius; + transition: $listItemTransition; + + .p-panelmenu-icon { + margin-right: $inlineSpacing; + } + + .p-menuitem-icon { + margin-right: $inlineSpacing; + } + + &:focus-visible { + @include focused(); + } + } + + &:not(.p-highlight):not(.p-disabled) { + > a:hover { + background: $accordionHeaderHoverBg; + border-color: $accordionHeaderHoverBorderColor; + color: $accordionHeaderTextHoverColor; + } + } + + &.p-highlight { + margin-bottom: 0; + + > a { + background: $accordionHeaderActiveBg; + border-color: $accordionHeaderActiveBorderColor; + color: $accordionHeaderTextActiveColor; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &:not(.p-disabled) { + > a { + &:hover { + border-color: $accordionHeaderActiveHoverBorderColor; + background: $accordionHeaderActiveHoverBg; + color: $accordionHeaderTextActiveHoverColor; + } + } + } + } + } + + .p-panelmenu-content { + padding: $verticalMenuPadding; + border: $accordionContentBorder; + background: $accordionContentBg; + color: $accordionContentTextColor; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + + .p-menuitem { + .p-menuitem-link { + @include menuitem-link(); + + .p-panelmenu-icon { + margin-right: $inlineSpacing; + } + } + } + + .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: $treeNodeChildrenPadding; + } + } + + .p-panelmenu-panel { + margin-bottom: $accordionSpacing; + + @if $accordionSpacing == 0 { + .p-panelmenu-header { + > a { + border-radius: 0; + } + } + + .p-panelmenu-content { + border-radius: 0; + } + + &:not(:first-child) { + .p-panelmenu-header { + > a { + border-top: 0 none; + } + + &:not(.p-highlight):not(.p-disabled):hover, + &:not(.p-disabled).p-highlight:hover { + > a { + border-top: 0 none; + } + } + } + } + + &:first-child { + .p-panelmenu-header { + > a { + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + } + } + } + + &:last-child { + .p-panelmenu-header:not(.p-highlight) { + > a { + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + } + + .p-panelmenu-content { + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + } + } + } + +} diff --git a/public/theme/theme-base/components/menu/_slidemenu.scss b/public/theme/theme-base/components/menu/_slidemenu.scss new file mode 100644 index 0000000..4761dc7 --- /dev/null +++ b/public/theme/theme-base/components/menu/_slidemenu.scss @@ -0,0 +1,60 @@ +.p-slidemenu { + padding: $verticalMenuPadding; + background: $menuBg; + color: $menuTextColor; + border: $menuBorder; + border-radius: $borderRadius; + width: $menuWidth; + + .p-menuitem-link { + @include menuitem-link(); + } + + &.p-slidemenu-overlay { + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + } + + .p-slidemenu-list { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + } + + .p-slidemenu { + &.p-slidemenu-active { + > .p-slidemenu-link { + background: $menuitemActiveBg; + + .p-slidemenu-text { + color: $menuitemTextActiveColor; + } + + .p-slidemenu-icon, .p-slidemenu-icon { + color: $menuitemIconActiveColor; + } + } + } + } + + .p-slidemenu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-slidemenu-icon { + font-size: $menuitemSubmenuIconFontSize; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } + + .p-slidemenu-backward { + padding: $menuitemPadding; + color: $menuitemTextColor; + } +} diff --git a/public/theme/theme-base/components/menu/_steps.scss b/public/theme/theme-base/components/menu/_steps.scss new file mode 100644 index 0000000..caf5a80 --- /dev/null +++ b/public/theme/theme-base/components/menu/_steps.scss @@ -0,0 +1,57 @@ +@use 'sass:math'; + +.p-steps { + + .p-steps-item { + .p-menuitem-link { + background: transparent; + transition: $listItemTransition; + border-radius: $borderRadius; + background: $stepsItemBg; + + .p-steps-number { + color: $stepsItemNumberColor; + border: $stepsItemBorder; + background: $stepsItemBg; + min-width: $stepsItemNumberWidth; + height: $stepsItemNumberHeight; + line-height: $stepsItemNumberHeight; + font-size: $stepsItemNumberFontSize; + z-index: 1; + border-radius: $stepsItemNumberBorderRadius; + } + + .p-steps-title { + margin-top: $inlineSpacing; + color: $stepsItemTextColor; + } + + &:not(.p-disabled):focus-visible { + @include focused(); + } + } + + &.p-highlight { + .p-steps-number { + background: $highlightBg; + color: $highlightTextColor; + } + + .p-steps-title { + font-weight: $stepsItemActiveFontWeight; + color: $textColor; + } + } + + &:before { + content:' '; + border-top: $divider; + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: math.div(-1 * $stepsItemNumberHeight, 2); + } + } +} diff --git a/public/theme/theme-base/components/menu/_tabmenu.scss b/public/theme/theme-base/components/menu/_tabmenu.scss new file mode 100644 index 0000000..c395212 --- /dev/null +++ b/public/theme/theme-base/components/menu/_tabmenu.scss @@ -0,0 +1,50 @@ +.p-tabmenu { + .p-tabmenu-nav { + background: $tabviewNavBg; + border: $tabviewNavBorder; + border-width: $tabviewNavBorderWidth; + + .p-tabmenuitem { + margin-right: $tabviewHeaderSpacing; + + .p-menuitem-link { + border: $tabviewHeaderBorder; + border-width: $tabviewHeaderBorderWidth; + border-color: $tabviewHeaderBorderColor; + background: $tabviewHeaderBg; + color: $tabviewHeaderTextColor; + padding: $tabviewHeaderPadding; + font-weight: $tabviewHeaderFontWeight; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + transition: $listItemTransition; + margin: $tabviewHeaderMargin; + height: calc(100% + #{-1 * nth($tabviewHeaderMargin, 3)}); + + .p-menuitem-icon { + margin-right: $inlineSpacing; + } + + &:not(.p-disabled):focus-visible { + @include focused-inset(); + } + } + + &:not(.p-highlight):not(.p-disabled):hover { + .p-menuitem-link { + background: $tabviewHeaderHoverBg; + border-color: $tabviewHeaderHoverBorderColor; + color: $tabviewHeaderTextHoverColor; + } + } + + &.p-highlight { + .p-menuitem-link { + background: $tabviewHeaderActiveBg; + border-color: $tabviewHeaderActiveBorderColor; + color: $tabviewHeaderTextActiveColor; + } + } + } + } +} diff --git a/public/theme/theme-base/components/menu/_tieredmenu.scss b/public/theme/theme-base/components/menu/_tieredmenu.scss new file mode 100644 index 0000000..24dcf3e --- /dev/null +++ b/public/theme/theme-base/components/menu/_tieredmenu.scss @@ -0,0 +1,56 @@ +.p-tieredmenu { + padding: $verticalMenuPadding; + background: $menuBg; + color: $menuTextColor; + border: $menuBorder; + border-radius: $borderRadius; + width: $menuWidth; + + .p-menuitem-link { + @include menuitem-link(); + } + + &.p-tieredmenu-overlay { + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + } + + .p-submenu-list { + padding: $verticalMenuPadding; + background: $overlayMenuBg; + border: $overlayMenuBorder; + box-shadow: $overlayMenuShadow; + } + + .p-menuitem { + &.p-menuitem-active { + > .p-menuitem-link { + background: $menuitemActiveBg; + + .p-menuitem-text { + color: $menuitemTextActiveColor; + } + + .p-menuitem-icon, .p-submenu-icon { + color: $menuitemIconActiveColor; + } + } + } + } + + .p-menu-separator { + border-top: $divider; + margin: $menuSeparatorMargin; + } + + .p-submenu-icon { + font-size: $menuitemSubmenuIconFontSize; + transition: transform $transitionDuration; + + &.p-icon { + width: $menuitemSubmenuIconFontSize; + height: $menuitemSubmenuIconFontSize; + } + } +} diff --git a/public/theme/theme-base/components/messages/_inlinemessage.scss b/public/theme/theme-base/components/messages/_inlinemessage.scss new file mode 100644 index 0000000..615f7aa --- /dev/null +++ b/public/theme/theme-base/components/messages/_inlinemessage.scss @@ -0,0 +1,69 @@ +.p-inline-message { + padding: $inlineMessagePadding; + margin: $inlineMessageMargin; + border-radius: $borderRadius; + + &.p-inline-message-info { + background: $infoMessageBg; + border: $infoMessageBorder; + border-width: $inlineMessageBorderWidth; + color: $infoMessageTextColor; + + .p-inline-message-icon { + color: $infoMessageIconColor; + } + } + + &.p-inline-message-success { + background: $successMessageBg; + border: $successMessageBorder; + border-width: $inlineMessageBorderWidth; + color: $successMessageTextColor; + + .p-inline-message-icon { + color: $successMessageIconColor; + } + } + + &.p-inline-message-warn { + background: $warningMessageBg; + border: $warningMessageBorder; + border-width: $inlineMessageBorderWidth; + color: $warningMessageTextColor; + + .p-inline-message-icon { + color: $warningMessageIconColor; + } + } + + &.p-inline-message-error { + background: $errorMessageBg; + border: $errorMessageBorder; + border-width: $inlineMessageBorderWidth; + color: $errorMessageTextColor; + + .p-inline-message-icon { + color: $errorMessageIconColor; + } + } + + .p-inline-message-icon { + font-size: $inlineMessageIconFontSize; + margin-right: $inlineSpacing; + + &.p-icon { + width: $inlineMessageIconFontSize; + height: $inlineMessageIconFontSize; + } + } + + .p-inline-message-text { + font-size: $inlineMessageTextFontSize; + } + + &.p-inline-message-icon-only { + .p-inline-message-icon { + margin-right: 0; + } + } +} diff --git a/public/theme/theme-base/components/messages/_message.scss b/public/theme/theme-base/components/messages/_message.scss new file mode 100644 index 0000000..5480446 --- /dev/null +++ b/public/theme/theme-base/components/messages/_message.scss @@ -0,0 +1,107 @@ +.p-message { + margin: $messageMargin; + border-radius: $borderRadius; + + .p-message-wrapper { + padding: $messagePadding; + } + + .p-message-close { + width: $actionIconWidth; + height: $actionIconHeight; + border-radius: $actionIconBorderRadius; + background: transparent; + transition: $actionIconTransition; + + &:hover { + background: rgba(255,255,255,.5); + } + + &:focus-visible { + @include focused(); + } + } + + &.p-message-info { + background: $infoMessageBg; + border: $infoMessageBorder; + border-width: $messageBorderWidth; + color: $infoMessageTextColor; + + .p-message-icon { + color: $infoMessageIconColor; + } + + .p-message-close { + color: $infoMessageIconColor; + } + } + + &.p-message-success { + background: $successMessageBg; + border: $successMessageBorder; + border-width: $messageBorderWidth; + color: $successMessageTextColor; + + .p-message-icon { + color: $successMessageIconColor; + } + + .p-message-close { + color: $successMessageIconColor; + } + } + + &.p-message-warn { + background: $warningMessageBg; + border: $warningMessageBorder; + border-width: $messageBorderWidth; + color: $warningMessageTextColor; + + .p-message-icon { + color: $warningMessageIconColor; + } + + .p-message-close { + color: $warningMessageIconColor; + } + } + + &.p-message-error { + background: $errorMessageBg; + border: $errorMessageBorder; + border-width: $messageBorderWidth; + color: $errorMessageTextColor; + + .p-message-icon { + color: $errorMessageIconColor; + } + + .p-message-close { + color: $errorMessageIconColor; + } + } + + .p-message-text { + font-size: $messageTextFontSize; + font-weight: $messageTextFontWeight; + } + + .p-message-icon { + font-size: $messageIconFontSize; + margin-right: $inlineSpacing; + + &.p-icon { + width: $messageIconFontSize; + height: $messageIconFontSize; + } + } + + .p-message-summary { + font-weight: 700; + } + + .p-message-detail { + margin-left: $inlineSpacing; + } +} diff --git a/public/theme/theme-base/components/messages/_toast.scss b/public/theme/theme-base/components/messages/_toast.scss new file mode 100644 index 0000000..bc00a32 --- /dev/null +++ b/public/theme/theme-base/components/messages/_toast.scss @@ -0,0 +1,101 @@ +.p-toast { + opacity: $toastOpacity; + + .p-toast-message { + margin: $toastMargin; + box-shadow: $toastShadow; + border-radius: $borderRadius; + + .p-toast-message-content { + padding: $toastPadding; + border-width: $toastBorderWidth; + + .p-toast-message-text { + margin: $toastMessageTextMargin; + } + + .p-toast-message-icon { + font-size: $toastIconFontSize; + + &.p-icon { + width: $toastIconFontSize; + height: $toastIconFontSize; + } + } + + + .p-toast-summary { + font-weight: $toastTitleFontWeight; + } + + .p-toast-detail { + margin: $toastDetailMargin; + } + } + + .p-toast-icon-close { + width: $toastIconFontSize; + height: $toastIconFontSize; + border-radius: $actionIconBorderRadius; + background: transparent; + transition: $actionIconTransition; + + &:hover { + background: rgba(255,255,255,.5); + } + + &:focus-visible { + @include focused(); + } + } + + &.p-toast-message-info { + background: $infoMessageBg; + border: $infoMessageBorder; + border-width: $messageBorderWidth; + color: $infoMessageTextColor; + + .p-toast-message-icon, + .p-toast-icon-close { + color: $infoMessageIconColor; + } + } + + &.p-toast-message-success { + background: $successMessageBg; + border: $successMessageBorder; + border-width: $messageBorderWidth; + color: $successMessageTextColor; + + .p-toast-message-icon, + .p-toast-icon-close { + color: $successMessageIconColor; + } + } + + &.p-toast-message-warn { + background: $warningMessageBg; + border: $warningMessageBorder; + border-width: $messageBorderWidth; + color: $warningMessageTextColor; + + .p-toast-message-icon, + .p-toast-icon-close { + color: $warningMessageIconColor; + } + } + + &.p-toast-message-error { + background: $errorMessageBg; + border: $errorMessageBorder; + border-width: $messageBorderWidth; + color: $errorMessageTextColor; + + .p-toast-message-icon, + .p-toast-icon-close { + color: $errorMessageIconColor; + } + } + + } +} diff --git a/public/theme/theme-base/components/misc/_avatar.scss b/public/theme/theme-base/components/misc/_avatar.scss new file mode 100644 index 0000000..1c1fb11 --- /dev/null +++ b/public/theme/theme-base/components/misc/_avatar.scss @@ -0,0 +1,34 @@ +.p-avatar { + background-color: $avatarBg; + border-radius: $borderRadius; + + &.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + + .p-avatar-icon { + font-size: 1.5rem; + } + } + + &.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + + .p-avatar-icon { + font-size: 2rem; + } + } +} + +.p-avatar-circle { + border-radius: 50%; + } + +.p-avatar-group { + .p-avatar { + border: 2px solid $panelContentBg; + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/misc/_badge.scss b/public/theme/theme-base/components/misc/_badge.scss new file mode 100644 index 0000000..cb73e69 --- /dev/null +++ b/public/theme/theme-base/components/misc/_badge.scss @@ -0,0 +1,77 @@ +.p-badge { + background: $badgeBg; + color: $badgeTextColor; + font-size: $badgeFontSize; + font-weight: $badgeFontWeight; + min-width: $badgeMinWidth; + height: $badgeHeight; + line-height: $badgeHeight; + + &.p-badge-secondary { + background-color: $secondaryButtonBg; + color: $secondaryButtonTextColor; + } + + &.p-badge-success { + background-color: $successButtonBg; + color: $successButtonTextColor; + } + + &.p-badge-info { + background-color: $infoButtonBg; + color: $infoButtonTextColor; + } + + &.p-badge-warning { + background-color: $warningButtonBg; + color: $warningButtonTextColor; + } + + &.p-badge-danger { + background-color: $dangerButtonBg; + color: $dangerButtonTextColor; + } + + &.p-badge-lg { + font-size: 1.5 * $badgeFontSize; + min-width: 1.5 * $badgeMinWidth; + height: 1.5 * $badgeHeight; + line-height: 1.5 * $badgeHeight; + } + + &.p-badge-xl { + font-size: 2 * $badgeFontSize; + min-width: 2 * $badgeMinWidth; + height: 2 * $badgeHeight; + line-height: 2 * $badgeHeight; + } +} + +.p-tag { + background: $badgeBg; + color: $badgeTextColor; + font-size: $badgeFontSize; + font-weight: $badgeFontWeight; + padding: $tagPadding; + border-radius: $borderRadius; + + &.p-tag-success { + background-color: $successButtonBg; + color: $successButtonTextColor; + } + + &.p-tag-info { + background-color: $infoButtonBg; + color: $infoButtonTextColor; + } + + &.p-tag-warning { + background-color: $warningButtonBg; + color: $warningButtonTextColor; + } + + &.p-tag-danger { + background-color: $dangerButtonBg; + color: $dangerButtonTextColor; + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/misc/_blockui.scss b/public/theme/theme-base/components/misc/_blockui.scss new file mode 100644 index 0000000..e69de29 diff --git a/public/theme/theme-base/components/misc/_chip.scss b/public/theme/theme-base/components/misc/_chip.scss new file mode 100644 index 0000000..4e94233 --- /dev/null +++ b/public/theme/theme-base/components/misc/_chip.scss @@ -0,0 +1,39 @@ +@use 'sass:math'; + +.p-chip { + background-color: $chipBg; + color: $chipTextColor; + border-radius: $chipBorderRadius; + padding: 0 nth($inputPadding, 2); + + .p-chip-text { + line-height: 1.5; + margin-top: math.div(nth($inputPadding, 1), 2); + margin-bottom: math.div(nth($inputPadding, 1), 2); + } + + .p-chip-icon { + margin-right: $inlineSpacing; + } + + img { + width: 1.5 + nth($inputPadding, 1); + height: 1.5 + nth($inputPadding, 1); + margin-left: -1 * nth($inputPadding, 2); + margin-right: $inlineSpacing; + } + + .p-chip-remove-icon { + border-radius: $borderRadius; + transition: $actionIconTransition; + margin-left: $inlineSpacing; + + &:focus-visible { + @include focused(); + } + + &:focus { + outline: 0 none; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/misc/_inplace.scss b/public/theme/theme-base/components/misc/_inplace.scss new file mode 100644 index 0000000..8f64b69 --- /dev/null +++ b/public/theme/theme-base/components/misc/_inplace.scss @@ -0,0 +1,17 @@ +.p-inplace { + .p-inplace-display { + padding: $inplacePadding; + border-radius: $borderRadius; + transition: $formElementTransition; + + &:not(.p-disabled):hover { + background: $inplaceHoverBg; + color: $inplaceTextHoverColor; + } + + &:focus { + @include focused(); + } + } +} + diff --git a/public/theme/theme-base/components/misc/_progressbar.scss b/public/theme/theme-base/components/misc/_progressbar.scss new file mode 100644 index 0000000..7cf0ea6 --- /dev/null +++ b/public/theme/theme-base/components/misc/_progressbar.scss @@ -0,0 +1,17 @@ +.p-progressbar { + border: $progressBarBorder; + height: $progressBarHeight; + background: $progressBarBg; + border-radius: $borderRadius; + + .p-progressbar-value { + border: 0 none; + margin: 0; + background: $progressBarValueBg; + } + + .p-progressbar-label { + color: $progressBarValueTextColor; + line-height: $progressBarHeight; + } +} diff --git a/public/theme/theme-base/components/misc/_scrolltop.scss b/public/theme/theme-base/components/misc/_scrolltop.scss new file mode 100644 index 0000000..7a7e11b --- /dev/null +++ b/public/theme/theme-base/components/misc/_scrolltop.scss @@ -0,0 +1,25 @@ +.p-scrolltop { + width: $scrollTopWidth; + height: $scrollTopHeight; + border-radius: $scrollTopBorderRadius; + box-shadow: $inputOverlayShadow; + transition: $actionIconTransition; + + &.p-link { + background: $scrollTopBg; + + &:hover { + background: $scrollTopHoverBg; + } + } + + .p-scrolltop-icon { + font-size: $scrollTopFontSize; + color: $scrollTopTextColor; + + &.p-icon { + width: $scrollTopFontSize; + height: $scrollTopFontSize; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/misc/_skeleton.scss b/public/theme/theme-base/components/misc/_skeleton.scss new file mode 100644 index 0000000..24b3d92 --- /dev/null +++ b/public/theme/theme-base/components/misc/_skeleton.scss @@ -0,0 +1,8 @@ +.p-skeleton { + background-color: $skeletonBg; + border-radius: $borderRadius; + + &:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), $skeletonAnimationBg, rgba(255, 255, 255, 0)); + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/misc/_tag.scss b/public/theme/theme-base/components/misc/_tag.scss new file mode 100644 index 0000000..2a2453d --- /dev/null +++ b/public/theme/theme-base/components/misc/_tag.scss @@ -0,0 +1,40 @@ +@use 'sass:math'; + +.p-tag { + background: $badgeBg; + color: $badgeTextColor; + font-size: $badgeFontSize; + font-weight: $badgeFontWeight; + padding: $tagPadding; + border-radius: $borderRadius; + + &.p-tag-success { + background-color: $successButtonBg; + color: $successButtonTextColor; + } + + &.p-tag-info { + background-color: $infoButtonBg; + color: $infoButtonTextColor; + } + + &.p-tag-warning { + background-color: $warningButtonBg; + color: $warningButtonTextColor; + } + + &.p-tag-danger { + background-color: $dangerButtonBg; + color: $dangerButtonTextColor; + } + + .p-tag-icon { + margin-right: math.div($inlineSpacing, 2); + font-size: $badgeFontSize; + + &.p-icon { + width: $badgeFontSize; + height: $badgeFontSize; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/misc/_terminal.scss b/public/theme/theme-base/components/misc/_terminal.scss new file mode 100644 index 0000000..93a531c --- /dev/null +++ b/public/theme/theme-base/components/misc/_terminal.scss @@ -0,0 +1,12 @@ +.p-terminal { + background: $panelContentBg; + color: $panelContentTextColor; + border: $panelContentBorder; + padding: $panelContentPadding; + + .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: $inputTextFontSize; + } +} diff --git a/public/theme/theme-base/components/multimedia/_galleria.scss b/public/theme/theme-base/components/multimedia/_galleria.scss new file mode 100644 index 0000000..823d887 --- /dev/null +++ b/public/theme/theme-base/components/multimedia/_galleria.scss @@ -0,0 +1,153 @@ +.p-galleria { + .p-galleria-close { + margin: $galleriaCloseIconMargin; + background: $galleriaCloseIconBg; + color: $galleriaCloseIconColor; + width: $galleriaCloseIconWidth; + height: $galleriaCloseIconHeight; + transition: $actionIconTransition; + border-radius: $galleriaCloseIconBorderRadius; + + .p-galleria-close-icon { + font-size: $galleriaCloseIconFontSize; + + &.p-icon { + width: $galleriaCloseIconFontSize; + height: $galleriaCloseIconFontSize; + } + } + + &:hover { + background: $galleriaCloseIconHoverBg; + color: $galleriaCloseIconHoverColor; + } + } + + .p-galleria-item-nav { + background: $galleriaItemNavigatorBg; + color: $galleriaItemNavigatorColor; + width: $galleriaItemNavigatorWidth; + height: $galleriaItemNavigatorHeight; + transition: $actionIconTransition; + border-radius: $galleriaItemNavigatorBorderRadius; + margin: $galleriaItemNavigatorMargin; + + .p-galleria-item-prev-icon, + .p-galleria-item-next-icon { + font-size: $galleriaItemNavigatorFontSize; + + &.p-icon { + width: $galleriaCloseIconFontSize; + height: $galleriaCloseIconFontSize; + } + } + + &:not(.p-disabled) { + &:hover { + background: $galleriaItemNavigatorHoverBg; + color: $galleriaItemNavigatorHoverColor; + } + } + } + + .p-galleria-caption { + background: $galleriaCaptionBg; + color: $galleriaCaptionTextColor; + padding: $galleriaCaptionPadding; + } + + .p-galleria-indicators { + padding: $galleriaIndicatorsPadding; + + .p-galleria-indicator { + button { + background-color: $galleriaIndicatorBg; + width: $galleriaIndicatorWidth; + height: $galleriaIndicatorHeight; + transition: $actionIconTransition; + border-radius: $galleriaIndicatorBorderRadius; + + &:hover { + background: $galleriaIndicatorHoverBg; + } + } + + &.p-highlight { + button { + background: $highlightBg; + color: $highlightTextColor; + } + } + } + } + + &.p-galleria-indicators-bottom, + &.p-galleria-indicators-top { + .p-galleria-indicator { + margin-right: $inlineSpacing; + } + } + + &.p-galleria-indicators-left, + &.p-galleria-indicators-right { + .p-galleria-indicator { + margin-bottom: $inlineSpacing; + } + } + + &.p-galleria-indicator-onitem { + .p-galleria-indicators { + background: $galleriaIndicatorsBgOnItem; + + .p-galleria-indicator { + button { + background: $galleriaIndicatorBgOnItem; + + &:hover { + background: $galleriaIndicatorHoverBgOnItem; + } + } + + &.p-highlight { + button { + background: $highlightBg; + color: $highlightTextColor; + } + } + } + } + } + + .p-galleria-thumbnail-container { + background: $galleriaThumbnailContainerBg; + padding: $galleriaThumbnailContainerPadding; + + .p-galleria-thumbnail-prev, + .p-galleria-thumbnail-next { + margin: $inlineSpacing; + background-color: $galleriaThumbnailNavigatorBg; + color: $galleriaThumbnailNavigatorColor; + width: $galleriaThumbnailNavigatorWidth; + height: $galleriaThumbnailNavigatorHeight; + transition: $actionIconTransition; + border-radius: $galleriaThumbnailNavigatorBorderRadius; + + &:hover { + background: $galleriaThumbnailNavigatorHoverBg; + color: $galleriaThumbnailNavigatorHoverColor; + } + } + + .p-galleria-thumbnail-item-content { + transition: $listItemTransition; + + &:focus-visible { + @include focused(); + } + } + } +} + +.p-galleria-mask { + --maskbg: #{$galleriaMaskBg}; +} diff --git a/public/theme/theme-base/components/multimedia/_image.scss b/public/theme/theme-base/components/multimedia/_image.scss new file mode 100644 index 0000000..38d9fa7 --- /dev/null +++ b/public/theme/theme-base/components/multimedia/_image.scss @@ -0,0 +1,54 @@ +.p-image-mask { + --maskbg: #{$imageMaskBg}; +} + +.p-image-preview-indicator { + background-color: transparent; + color: $imagePreviewIndicatorColor; + transition: $actionIconTransition; + + .p-icon { + width: $imagePreviewActionIconFontSize; + height: $imagePreviewActionIconFontSize; + } +} + +.p-image-preview-container { + &:hover { + > .p-image-preview-indicator { + background-color: $imagePreviewIndicatorBg; + } + } +} + +.p-image-toolbar { + padding: $imagePreviewToolbarPadding; +} + +.p-image-action.p-link { + color: $imagePreviewActionIconColor; + background-color: $imagePreviewActionIconBg; + width: $imagePreviewActionIconWidth; + height: $imagePreviewActionIconHeight; + border-radius: $imagePreviewActionIconBorderRadius; + transition: $actionIconTransition; + margin-right: $inlineSpacing; + + &:last-child { + margin-right: 0; + } + + &:hover { + color: $imagePreviewActionIconHoverColor; + background-color: $imagePreviewActionIconHoverBg; + } + + span { + font-size: $imagePreviewActionIconFontSize; + } + + .p-icon { + width: $imagePreviewActionIconFontSize; + height: $imagePreviewActionIconFontSize; + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/overlay/_confirmpopup.scss b/public/theme/theme-base/components/overlay/_confirmpopup.scss new file mode 100644 index 0000000..dbb136e --- /dev/null +++ b/public/theme/theme-base/components/overlay/_confirmpopup.scss @@ -0,0 +1,72 @@ +.p-confirm-popup { + background: $overlayContentBg; + color: $panelContentTextColor; + border: $overlayContentBorder; + border-radius: $borderRadius; + box-shadow: $overlayContainerShadow; + + .p-confirm-popup-content { + padding: $confirmPopupContentPadding; + } + + .p-confirm-popup-footer { + text-align: right; + padding: $confirmPopupFooterPadding; + + button { + margin: 0 $inlineSpacing 0 0; + width: auto; + + &:last-child { + margin: 0; + } + } + } + + &:after { + border: solid transparent; + border-color: rgba($overlayContentBg, 0); + border-bottom-color: $overlayContentBg; + } + + &:before { + border: solid transparent; + + @if (nth($overlayContentBorder, 2) == 'none') { + border-color: rgba($overlayContentBg, 0); + border-bottom-color: scale-color($overlayContentBg, $lightness: -5%); + } + @else { + border-color: rgba(nth($overlayContentBorder, 3), 0); + border-bottom-color: scale-color(nth($overlayContentBorder, 3), $lightness: -5%); + } + } + + &.p-confirm-popup-flipped { + &:after { + border-top-color: $overlayContentBg; + } + + &:before { + @if (nth($overlayContentBorder, 2) == 'none') { + border-top-color: $overlayContentBg; + } + @else { + border-top-color: nth($overlayContentBorder, 3); + } + } + } + + .p-confirm-popup-icon { + font-size: $primeIconFontSize * 1.5; + + &.p-icon { + width: $primeIconFontSize * 1.5; + height: $primeIconFontSize * 1.5; + } + } + + .p-confirm-popup-message { + margin-left: $inlineSpacing * 2; + } +} diff --git a/public/theme/theme-base/components/overlay/_dialog.scss b/public/theme/theme-base/components/overlay/_dialog.scss new file mode 100644 index 0000000..a753e91 --- /dev/null +++ b/public/theme/theme-base/components/overlay/_dialog.scss @@ -0,0 +1,76 @@ +.p-dialog { + border-radius: $borderRadius; + box-shadow: $overlayContainerShadow; + border: $overlayContentBorder; + + .p-dialog-header { + border-bottom: $dialogHeaderBorder; + background: $dialogHeaderBg; + color: $dialogHeaderTextColor; + padding: $dialogHeaderPadding; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-dialog-title { + font-weight: $dialogHeaderFontWeight; + font-size: $dialogHeaderFontSize; + } + + .p-dialog-header-icon { + @include action-icon(); + margin-right: $inlineSpacing; + + &:last-child { + margin-right: 0; + } + } + } + + .p-dialog-content { + background: $overlayContentBg; + color: $panelContentTextColor; + padding: $dialogContentPadding; + + &:last-of-type { + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + } + + .p-dialog-footer { + border-top: $dialogFooterBorder; + background: $overlayContentBg; + color: $panelFooterTextColor; + padding: $dialogFooterPadding; + text-align: right; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + + button { + margin: 0 $inlineSpacing 0 0; + width: auto; + } + } + + &.p-dialog-maximized { + .p-dialog-header, .p-dialog-content:last-of-type { + border-radius: 0; + } + } + + + &.p-confirm-dialog { + .p-confirm-dialog-icon { + font-size: $primeIconFontSize * 2; + + &.p-icon { + width: $primeIconFontSize * 2; + height: $primeIconFontSize * 2; + } + } + + .p-confirm-dialog-message { + margin-left: $inlineSpacing * 2; + } + } +} diff --git a/public/theme/theme-base/components/overlay/_overlaypanel.scss b/public/theme/theme-base/components/overlay/_overlaypanel.scss new file mode 100644 index 0000000..e635041 --- /dev/null +++ b/public/theme/theme-base/components/overlay/_overlaypanel.scss @@ -0,0 +1,64 @@ +@use 'sass:math'; + +.p-overlaypanel { + background: $overlayContentBg; + color: $panelContentTextColor; + border: $overlayContentBorder; + border-radius: $borderRadius; + box-shadow: $overlayContainerShadow; + + .p-overlaypanel-content { + padding: $panelContentPadding; + } + + .p-overlaypanel-close { + background: $buttonBg; + color: $buttonTextColor; + width: $actionIconWidth; + height: $actionIconHeight; + transition: $actionIconTransition; + border-radius: $actionIconBorderRadius; + position: absolute; + top: math.div(-1 * $actionIconWidth, 2); + right: math.div(-1 * $actionIconWidth, 2); + + &:enabled:hover { + background: $buttonHoverBg; + color: $buttonTextHoverColor; + } + } + + &:after { + border: solid transparent; + border-color: rgba($overlayContentBg, 0); + border-bottom-color: $overlayContentBg; + } + + &:before { + border: solid transparent; + + @if (nth($overlayContentBorder, 2) == 'none') { + border-color: rgba($overlayContentBg, 0); + border-bottom-color: scale-color($overlayContentBg, $lightness: -5%); + } + @else { + border-color: rgba(nth($overlayContentBorder, 3), 0); + border-bottom-color: scale-color(nth($overlayContentBorder, 3), $lightness: -5%); + } + } + + &.p-overlaypanel-flipped { + &:after { + border-top-color: $overlayContentBg; + } + + &:before { + @if (nth($overlayContentBorder, 2) == 'none') { + border-top-color: $overlayContentBg; + } + @else { + border-top-color: nth($overlayContentBorder, 3); + } + } + } +} diff --git a/public/theme/theme-base/components/overlay/_sidebar.scss b/public/theme/theme-base/components/overlay/_sidebar.scss new file mode 100644 index 0000000..b74dd90 --- /dev/null +++ b/public/theme/theme-base/components/overlay/_sidebar.scss @@ -0,0 +1,23 @@ +.p-sidebar { + background: $overlayContentBg; + color: $panelContentTextColor; + border: $overlayContentBorder; + box-shadow: $overlayContainerShadow; + + .p-sidebar-header { + padding: $panelHeaderPadding; + + .p-sidebar-close, + .p-sidebar-icon { + @include action-icon(); + } + + & + .p-sidebar-content { + padding-top: 0; + } + } + + .p-sidebar-content { + padding: $panelContentPadding; + } +} diff --git a/public/theme/theme-base/components/overlay/_tooltip.scss b/public/theme/theme-base/components/overlay/_tooltip.scss new file mode 100644 index 0000000..47cce55 --- /dev/null +++ b/public/theme/theme-base/components/overlay/_tooltip.scss @@ -0,0 +1,33 @@ +.p-tooltip { + .p-tooltip-text { + background: $tooltipBg; + color: $tooltipTextColor; + padding: $tooltipPadding; + box-shadow: $inputOverlayShadow; + border-radius: $borderRadius; + } + + &.p-tooltip-right { + .p-tooltip-arrow { + border-right-color: $tooltipBg; + } + } + + &.p-tooltip-left { + .p-tooltip-arrow { + border-left-color: $tooltipBg; + } + } + + &.p-tooltip-top { + .p-tooltip-arrow { + border-top-color: $tooltipBg; + } + } + + &.p-tooltip-bottom { + .p-tooltip-arrow { + border-bottom-color: $tooltipBg; + } + } +} diff --git a/public/theme/theme-base/components/panel/_accordion.scss b/public/theme/theme-base/components/panel/_accordion.scss new file mode 100644 index 0000000..a1cc60d --- /dev/null +++ b/public/theme/theme-base/components/panel/_accordion.scss @@ -0,0 +1,118 @@ +.p-accordion { + .p-accordion-header { + .p-accordion-header-link { + padding: $accordionHeaderPadding; + border: $accordionHeaderBorder; + color: $accordionHeaderTextColor; + background: $accordionHeaderBg; + font-weight: $accordionHeaderFontWeight; + border-radius: $borderRadius; + transition: $listItemTransition; + + .p-accordion-toggle-icon { + margin-right: $inlineSpacing; + } + } + + &:not(.p-disabled) { + .p-accordion-header-link { + &:focus-visible { + @include focused(); + } + } + } + + &:not(.p-highlight):not(.p-disabled):hover { + .p-accordion-header-link { + background: $accordionHeaderHoverBg; + border-color: $accordionHeaderHoverBorderColor; + color: $accordionHeaderTextHoverColor; + } + } + + &:not(.p-disabled).p-highlight { + .p-accordion-header-link { + background: $accordionHeaderActiveBg; + border-color: $accordionHeaderActiveBorderColor; + color: $accordionHeaderTextActiveColor; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &:hover { + .p-accordion-header-link { + border-color: $accordionHeaderActiveHoverBorderColor; + background: $accordionHeaderActiveHoverBg; + color: $accordionHeaderTextActiveHoverColor; + } + } + } + } + + .p-accordion-content { + padding: $accordionContentPadding; + border: $accordionContentBorder; + background: $accordionContentBg; + color: $accordionContentTextColor; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + + .p-accordion-tab { + margin-bottom: $accordionSpacing; + + @if $accordionSpacing == 0 { + .p-accordion-header { + .p-accordion-header-link { + border-radius: 0; + } + } + + .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &:not(:first-child) { + .p-accordion-header { + .p-accordion-header-link { + border-top: 0 none; + } + + &:not(.p-highlight):not(.p-disabled):hover, + &:not(.p-disabled).p-highlight:hover { + .p-accordion-header-link { + border-top: 0 none; + } + } + } + } + + &:first-child { + .p-accordion-header { + .p-accordion-header-link { + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + } + } + } + + &:last-child { + .p-accordion-header:not(.p-highlight) { + .p-accordion-header-link { + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + + .p-accordion-content { + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } + } + } + } + } +} diff --git a/public/theme/theme-base/components/panel/_card.scss b/public/theme/theme-base/components/panel/_card.scss new file mode 100644 index 0000000..f333124 --- /dev/null +++ b/public/theme/theme-base/components/panel/_card.scss @@ -0,0 +1,30 @@ +.p-card { + background: $panelContentBg; + color: $panelContentTextColor; + box-shadow: $cardShadow; + border-radius: $borderRadius; + + .p-card-body { + padding: $cardBodyPadding; + } + + .p-card-title { + font-size: $cardTitleFontSize; + font-weight: $cardTitleFontWeight; + margin-bottom: $inlineSpacing; + } + + .p-card-subtitle { + font-weight: $cardSubTitleFontWeight; + margin-bottom: $inlineSpacing; + color: $cardSubTitleColor; + } + + .p-card-content { + padding: $cardContentPadding; + } + + .p-card-footer { + padding: $cardFooterPadding; + } +} diff --git a/public/theme/theme-base/components/panel/_divider.scss b/public/theme/theme-base/components/panel/_divider.scss new file mode 100644 index 0000000..0f1719e --- /dev/null +++ b/public/theme/theme-base/components/panel/_divider.scss @@ -0,0 +1,31 @@ +.p-divider { + .p-divider-content { + background-color: $panelContentBg; + } + + &.p-divider-horizontal { + margin: $dividerHorizontalMargin; + padding: $dividerHorizontalPadding; + + &:before { + border-top: $dividerSize $dividerColor; + } + + .p-divider-content { + padding: 0 $inlineSpacing; + } + } + + &.p-divider-vertical { + margin: $dividerVerticalMargin; + padding: $dividerVerticalPadding; + + &:before { + border-left: $dividerSize $dividerColor; + } + + .p-divider-content { + padding: $inlineSpacing 0; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/panel/_fieldset.scss b/public/theme/theme-base/components/panel/_fieldset.scss new file mode 100644 index 0000000..2fb1d2e --- /dev/null +++ b/public/theme/theme-base/components/panel/_fieldset.scss @@ -0,0 +1,47 @@ +.p-fieldset { + border: $panelContentBorder; + background: $panelContentBg; + color: $panelContentTextColor; + border-radius: $borderRadius; + + .p-fieldset-legend { + padding: $panelHeaderPadding; + border: $panelHeaderBorder; + color: $panelHeaderTextColor; + background: $panelHeaderBg; + font-weight: $panelHeaderFontWeight; + border-radius: $borderRadius; + } + + &.p-fieldset-toggleable { + .p-fieldset-legend { + padding: 0; + transition: $actionIconTransition; + + a { + padding: $panelHeaderPadding; + color: $panelHeaderTextColor; + border-radius: $borderRadius; + transition: $listItemTransition; + + .p-fieldset-toggler { + margin-right: $inlineSpacing; + } + + &:focus-visible { + @include focused(); + } + } + + &:hover { + background: $panelHeaderHoverBg; + border-color: $panelHeaderHoverBorderColor; + color: $panelHeaderTextHoverColor; + } + } + } + + .p-fieldset-content { + padding: $panelContentPadding; + } +} diff --git a/public/theme/theme-base/components/panel/_panel.scss b/public/theme/theme-base/components/panel/_panel.scss new file mode 100644 index 0000000..6742946 --- /dev/null +++ b/public/theme/theme-base/components/panel/_panel.scss @@ -0,0 +1,42 @@ +.p-panel { + .p-panel-header { + border: $panelHeaderBorder; + padding: $panelHeaderPadding; + background: $panelHeaderBg; + color: $panelHeaderTextColor; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + + .p-panel-title { + font-weight: $panelHeaderFontWeight; + } + + .p-panel-header-icon { + @include action-icon(); + } + } + + &.p-panel-toggleable { + .p-panel-header { + padding: $panelToggleableHeaderPadding; + } + } + + .p-panel-content { + padding: $panelContentPadding; + border: $panelContentBorder; + background: $panelContentBg; + color: $panelContentTextColor; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + border-top: 0 none; + } + + .p-panel-footer { + padding: $panelFooterPadding; + border: $panelFooterBorder; + background: $panelFooterBg; + color: $panelFooterTextColor; + border-top: 0 none; + } +} diff --git a/public/theme/theme-base/components/panel/_scrollpanel.scss b/public/theme/theme-base/components/panel/_scrollpanel.scss new file mode 100644 index 0000000..66e00d4 --- /dev/null +++ b/public/theme/theme-base/components/panel/_scrollpanel.scss @@ -0,0 +1,6 @@ +.p-scrollpanel { + .p-scrollpanel-bar { + background: $scrollPanelTrackBg; + border: $scrollPanelTrackBorder; + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/panel/_splitter.scss b/public/theme/theme-base/components/panel/_splitter.scss new file mode 100644 index 0000000..62c8040 --- /dev/null +++ b/public/theme/theme-base/components/panel/_splitter.scss @@ -0,0 +1,19 @@ +.p-splitter { + border: $panelContentBorder; + background: $panelContentBg; + border-radius: $borderRadius; + color: $panelContentTextColor; + + .p-splitter-gutter { + transition: $actionIconTransition; + background: $splitterGutterBg; + + .p-splitter-gutter-handle { + background: $splitterGutterHandleBg; + } + } + + .p-splitter-gutter-resizing { + background: $splitterGutterHandleBg; + } +} \ No newline at end of file diff --git a/public/theme/theme-base/components/panel/_tabview.scss b/public/theme/theme-base/components/panel/_tabview.scss new file mode 100644 index 0000000..ef57bbc --- /dev/null +++ b/public/theme/theme-base/components/panel/_tabview.scss @@ -0,0 +1,70 @@ +.p-tabview { + .p-tabview-nav { + background: $tabviewNavBg; + border: $tabviewNavBorder; + border-width: $tabviewNavBorderWidth; + + li { + margin-right: $tabviewHeaderSpacing; + + .p-tabview-nav-link { + border: $tabviewHeaderBorder; + border-width: $tabviewHeaderBorderWidth; + border-color: $tabviewHeaderBorderColor; + background: $tabviewHeaderBg; + color: $tabviewHeaderTextColor; + padding: $tabviewHeaderPadding; + font-weight: $tabviewHeaderFontWeight; + border-top-right-radius: $borderRadius; + border-top-left-radius: $borderRadius; + transition: $listItemTransition; + margin: $tabviewHeaderMargin; + + &:not(.p-disabled):focus-visible { + @include focused-inset(); + } + } + + &:not(.p-highlight):not(.p-disabled):hover { + .p-tabview-nav-link { + background: $tabviewHeaderHoverBg; + border-color: $tabviewHeaderHoverBorderColor; + color: $tabviewHeaderTextHoverColor; + } + } + + &.p-highlight { + .p-tabview-nav-link { + background: $tabviewHeaderActiveBg; + border-color: $tabviewHeaderActiveBorderColor; + color: $tabviewHeaderTextActiveColor; + } + } + } + } + + .p-tabview-close { + margin-left: $inlineSpacing; + } + + .p-tabview-nav-btn.p-link { + background: $tabviewHeaderActiveBg; + color: $tabviewHeaderTextActiveColor; + width: $buttonIconOnlyWidth; + box-shadow: $raisedButtonShadow; + border-radius: 0; + + &:focus-visible { + @include focused-inset(); + } + } + + .p-tabview-panels { + background: $tabviewContentBg; + padding: $tabviewContentPadding; + border: $tabviewContentBorder; + color: $tabviewContentTextColor; + border-bottom-right-radius: $borderRadius; + border-bottom-left-radius: $borderRadius; + } +} diff --git a/public/theme/theme-base/components/panel/_toolbar.scss b/public/theme/theme-base/components/panel/_toolbar.scss new file mode 100644 index 0000000..78d7415 --- /dev/null +++ b/public/theme/theme-base/components/panel/_toolbar.scss @@ -0,0 +1,11 @@ +.p-toolbar { + background: $panelHeaderBg; + border: $panelHeaderBorder; + padding: $panelHeaderPadding; + border-radius: $borderRadius; + gap: $inlineSpacing; + + .p-toolbar-separator { + margin: 0 $inlineSpacing; + } +} diff --git a/public/theme/theme-dark/_extensions.scss b/public/theme/theme-dark/_extensions.scss new file mode 100644 index 0000000..6cdf27f --- /dev/null +++ b/public/theme/theme-dark/_extensions.scss @@ -0,0 +1,100 @@ +@mixin focused-ring($ring-color) { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px $ring-color, 0 1px 2px 0 rgba(0, 0, 0, 0.0); +} + +.p-button-label { + font-weight: 700; +} + +.p-accordion { + .p-accordion-header { + .p-accordion-header-link { + transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; + } + } +} + +.p-tabview { + .p-tabview-nav { + li { + .p-tabview-nav-link { + transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; + } + } + + .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: $primaryColor; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); + } + } +} + +.p-carousel { + .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: $primaryColor; + } +} + +.p-galleria { + .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: $primaryColor; + } +} + +.p-button { + &:focus { + @include focused-ring(rgba($buttonBg, .7)); + } + + &.p-button-secondary:enabled:focus { + @include focused-ring(rgba($secondaryButtonBg, .7)); + } + + &.p-button-success:enabled:focus { + @include focused-ring(rgba($successButtonBg, .7)); + } + + &.p-button-info:enabled:focus { + @include focused-ring(rgba($infoButtonBg, .7)); + } + + &.p-button-warning:enabled:focus { + @include focused-ring(rgba($warningButtonBg, .7)); + } + + &.p-button-help:enabled:focus { + @include focused-ring(rgba($helpButtonBg, .7)); + } + + &.p-button-danger:enabled:focus { + @include focused-ring(rgba($dangerButtonBg, .7)); + } +} + +.p-datatable { + .p-datatable-tbody { + > tr { + &.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 $primaryColor; + } + + &.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 $primaryColor; + } + } + } +} + +.custom-timeline{ + &.p-timeline { + &.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; + } + } +} diff --git a/public/theme/theme-dark/_variables.scss b/public/theme/theme-dark/_variables.scss new file mode 100644 index 0000000..1415207 --- /dev/null +++ b/public/theme/theme-dark/_variables.scss @@ -0,0 +1,965 @@ +$colors: ( + 'blue': #2196f3, + 'green': #4caf50, + 'yellow': #fbc02d, + 'cyan': #00bcd4, + 'pink': #e91e63, + 'indigo': #3f51b5, + 'teal': #009688, + 'orange': #f57c00, + 'bluegray': #607d8b, + 'purple': #9c27b0, + 'primary': $primaryColor, + 'red': #ff3d32, +); +//shades +$shade000: #ffffff !default; //text color +$shade100: #c8ccd8 !default; //text secondary color +$shade200: #868c9b !default; //text third color +$shade500: rgba(255, 255, 255, 0.05) !default; //Alpha-01 +$shade600: rgba(255, 255, 255, 0.1) !default; //Alpha-02 +$shade700: rgba(255, 255, 255, 0.15) !default; //Alpha-03 +$shade800: rgba(255, 255, 255, 0.2) !default; //Alpha-04 +$shade900: rgba(255, 255, 255, 0.25) !default; //Alpha-05 + +$solidSurfaceColor: #0a061a !default; + +$hoverBg: rgba(255, 255, 255, 0.03) !default; + +//global +$fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !default; +$fontSize: 1rem !default; +$fontWeight: normal !default; +$textColor: $shade000 !default; +$textSecondaryColor: $shade100 !default; +$borderRadius: 6px !default; +$transitionDuration: 0.2s !default; +$formElementTransition: background-color $transitionDuration, color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration !default; +$actionIconTransition: background-color $transitionDuration, color $transitionDuration, box-shadow $transitionDuration !default; +$listItemTransition: box-shadow $transitionDuration !default; +$primeIconFontSize: 1rem !default; +$divider: 1px solid $shade500 !default; +$inlineSpacing: 0.5rem !default; //spacing between inline elements +$disabledOpacity: 0.4 !default; //opacity of a disabled item +$maskBg: rgba(0, 0, 0, 0.2) !default; //modal mask bg color +$loadingIconFontSize: 2rem !default; +$errorColor: #fc6161 !default; + +//selected state +$highlightBg: rgba($primaryColor, 0.16); +$highlightTextColor: $textColor; +$highlightFocusBg: rgba($primaryColor, 0.24); + +//scale +$scaleSM: 0.875 !default; +$scaleLG: 1.25 !default; + +//focus +$focusOutlineColor: $primaryColor !default; +$focusOutline: 0 none !default; +$focusOutlineOffset: 0 !default; +$focusShadow: 0 none !default; + +//action icons +$actionIconWidth: 2rem !default; +$actionIconHeight: 2rem !default; +$actionIconBg: transparent !default; +$actionIconBorder: 0 none !default; +$actionIconColor: $shade100 !default; +$actionIconHoverBg: $shade500 !default; +$actionIconHoverBorderColor: transparent !default; +$actionIconHoverColor: $shade000 !default; +$actionIconBorderRadius: 50% !default; + +//input field (e.g. inputtext, spinner, inputmask) +$inputPadding: 0.429rem 0.571rem !default; +$inputTextFontSize: 1rem !default; +$inputBg: $shade500 !default; +$inputTextColor: $shade000 !default; +$inputIconColor: $shade100 !default; +$inputBorder: 1px solid transparent !default; +$inputHoverBorderColor: transparent !default; +$inputFocusBorderColor: $primaryColor !default; +$inputErrorBorderColor: $errorColor !default; +$inputPlaceholderTextColor: $shade200 !default; +$inputFilledBg: $shade500 !default; //?? +$inputFilledHoverBg: $inputFilledBg !default; +$inputFilledFocusBg: $inputFilledBg !default; + +//input groups +$inputGroupBg: $shade500 !default; +$inputGroupTextColor: $shade100 !default; +$inputGroupAddOnMinWidth: 2.357rem !default; + +//input lists (e.g. dropdown, autocomplete, multiselect, orderlist) +$inputListBg: $shade500 !default; +$inputListTextColor: $shade000 !default; +$inputListBorder: $inputBorder !default; +$inputListPadding: 0.286rem !default; +$inputListItemPadding: 0.429rem 0.286rem !default; +$inputListItemBg: transparent !default; +$inputListItemTextColor: $shade000 !default; +$inputListItemHoverBg: $shade500 !default; +$inputListItemTextHoverColor: $shade000 !default; +$inputListItemFocusBg: $shade600 !default; +$inputListItemTextFocusColor: $shade000 !default; +$inputListItemBorder: 0 none !default; +$inputListItemBorderRadius: 4px !default; +$inputListItemMargin: 0 !default; +$inputListItemFocusShadow: 0 none !default; +$inputListHeaderPadding: 0.429rem 0.286rem !default; +$inputListHeaderMargin: 0 !default; +$inputListHeaderBg: $shade500 !default; +$inputListHeaderTextColor: $shade000 !default; +$inputListHeaderBorder: 0 none !default; + +//inputs with overlays (e.g. autocomplete, dropdown, multiselect) +$inputOverlayBg: $solidSurfaceColor !default; +$inputOverlayHeaderBg: $inputListHeaderBg !default; +$inputOverlayBorder: 0 none !default; +$inputOverlayShadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !default; + +//password +$passwordPanelBg: $solidSurfaceColor !default; +$passwordMeterBg: $shade600 !default; +$passwordWeakBg: #f48fb1 !default; +$passwordMediumBg: #ffe082 !default; +$passwordStrongBg: #c5e1a5 !default; + +//button +$buttonPadding: 0.429rem 0.571rem !default; +$buttonIconOnlyWidth: 2.286rem !default; +$buttonIconOnlyPadding: 0.429rem 0 !default; +$buttonBg: $primaryColor !default; +$buttonTextColor: $primaryTextColor !default; +$buttonBorder: 1px solid $primaryColor !default; +$buttonHoverBg: $primaryDarkColor !default; +$buttonTextHoverColor: $primaryTextColor !default; +$buttonHoverBorderColor: $primaryDarkColor !default; +$buttonActiveBg: $primaryDarkerColor !default; +$buttonTextActiveColor: $primaryTextColor !default; +$buttonActiveBorderColor: $primaryDarkerColor !default; +$buttonShadow: 0px 0px 10px rgba($primaryColor, 0.3) !default; + +$selectbuttonShadow: none !default; +$raisedButtonShadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12) !default; +$roundedButtonBorderRadius: 2rem !default; + +$textButtonHoverBgOpacity: 0.04 !default; +$textButtonActiveBgOpacity: 0.16 !default; +$outlinedButtonBorder: 1px solid !default; +$plainButtonTextColor: $textSecondaryColor !default; +$plainButtonHoverBgColor: $shade500 !default; +$plainButtonActiveBgColor: rgba(255, 255, 255, 0.16) !default; + +$secondaryButtonBg: #a0a3ad !default; +$secondaryButtonTextColor: #ffffff !default; +$secondaryButtonBorder: 1px solid transparent !default; +$secondaryButtonHoverBg: $shade600 !default; +$secondaryButtonTextHoverColor: $secondaryButtonTextColor !default; +$secondaryButtonHoverBorderColor: transparent !default; +$secondaryButtonActiveBg: $shade700 !default; +$secondaryButtonTextActiveColor: $secondaryButtonTextColor !default; +$secondaryButtonActiveBorderColor: transparent !default; +$secondaryButtonShadow: none !default; +$secondaryButtonFocusShadow: none !default; + +$infoButtonBg: #873efe !default; +$infoButtonTextColor: #ffffff !default; +$infoButtonBorder: 1px solid transparent !default; +$infoButtonHoverBg: #6c1af2 !default; +$infoButtonTextHoverColor: $infoButtonTextColor !default; +$infoButtonHoverBorderColor: transparent !default; +$infoButtonActiveBg: #5310c1 !default; +$infoButtonTextActiveColor: $infoButtonTextColor !default; +$infoButtonActiveBorderColor: transparent !default; +$infoButtonShadow: 0px 0px 10px rgba(135, 62, 254, 0.3) !default; +$infoButtonFocusShadow: none !default; + +$successButtonBg: #0bd18a !default; +$successButtonTextColor: #ffffff !default; +$successButtonBorder: 1px solid transparent !default; +$successButtonHoverBg: #049b65 !default; +$successButtonTextHoverColor: $successButtonTextColor !default; +$successButtonHoverBorderColor: transparent !default; +$successButtonActiveBg: #017e52 !default; +$successButtonTextActiveColor: $successButtonTextColor !default; +$successButtonActiveBorderColor: transparent !default; +$successButtonShadow: 0px 0px 10px rgba(11, 209, 138, 0.3) !default; +$successButtonFocusShadow: none !default; + +$warningButtonBg: #eee500 !default; +$warningButtonTextColor: #2e323f !default; +$warningButtonBorder: 1px solid transparent !default; +$warningButtonHoverBg: #d1c901 !default; +$warningButtonTextHoverColor: $warningButtonTextColor !default; +$warningButtonHoverBorderColor: transparent !default; +$warningButtonActiveBg: #bab302 !default; +$warningButtonTextActiveColor: $warningButtonTextColor !default; +$warningButtonActiveBorderColor: transparent !default; +$warningButtonShadow: 0px 0px 10px rgba(238, 229, 0, 0.3) !default; +$warningButtonFocusShadow: none !default; + +$helpButtonBg: #ec4dbc !default; +$helpButtonTextColor: #ffffff !default; +$helpButtonBorder: 1px solid transparent !default; +$helpButtonHoverBg: #e80ea6 !default; +$helpButtonTextHoverColor: $helpButtonTextColor !default; +$helpButtonHoverBorderColor: transparent !default; +$helpButtonActiveBg: #b30c81 !default; +$helpButtonTextActiveColor: $helpButtonTextColor !default; +$helpButtonActiveBorderColor: transparent !default; +$helpButtonShadow: 0px 0px 10px rgba(236, 77, 188, 0.3) !default; +$helpButtonFocusShadow: none !default; + +$dangerButtonBg: #fc6161 !default; +$dangerButtonTextColor: #ffffff !default; +$dangerButtonBorder: 1px solid transparent !default; +$dangerButtonHoverBg: #e73a3a !default; +$dangerButtonTextHoverColor: $dangerButtonTextColor !default; +$dangerButtonHoverBorderColor: transparent !default; +$dangerButtonActiveBg: #c42424 !default; +$dangerButtonTextActiveColor: $dangerButtonTextColor !default; +$dangerButtonActiveBorderColor: transparent !default; +$dangerButtonShadow: 0px 0px 10px rgba(252, 97, 97, 0.3) !default; +$dangerButtonFocusShadow: none !default; + +$linkButtonColor: $primaryColor !default; +$linkButtonHoverColor: $primaryColor !default; +$linkButtonTextHoverDecoration: underline !default; +$linkButtonFocusShadow: none !default; + +//checkbox +$checkboxWidth: 20px !default; +$checkboxHeight: 20px !default; +$checkboxBorder: 2px solid $shade800 !default; +$checkboxIconFontSize: 14px !default; +$checkboxHoverBorderColor: $shade900 !default; +$checkboxActiveBorderColor: $primaryColor !default; +$checkboxActiveBg: $primaryColor !default; +$checkboxIconActiveColor: $primaryTextColor !default; +$checkboxActiveHoverBg: $primaryDarkerColor !default; +$checkboxIconActiveHoverColor: $primaryTextColor !default; +$checkboxActiveHoverBorderColor: $primaryDarkerColor !default; + +//radiobutton +$radiobuttonWidth: 20px !default; +$radiobuttonHeight: 20px !default; +$radiobuttonBorder: 2px solid #868c9b !default; +$radiobuttonIconSize: 12px !default; +$radiobuttonHoverBorderColor: #c8ccd8 !default; +$radiobuttonActiveBorderColor: $primaryColor !default; +$radiobuttonActiveBg: $primaryColor !default; +$radiobuttonIconActiveColor: $primaryTextColor !default; +$radiobuttonActiveHoverBg: $primaryDarkerColor !default; +$radiobuttonIconActiveHoverColor: $primaryTextColor !default; +$radiobuttonActiveHoverBorderColor: $primaryDarkerColor !default; + +//colorpicker +$colorPickerPreviewWidth: 2rem !default; +$colorPickerPreviewHeight: 2rem !default; +$colorPickerBg: $shade500 !default; +$colorPickerBorderColor: $shade500 !default; +$colorPickerBorder: 1px solid $shade500 !default; +$colorPickerHandleColor: #ffffff !default; + +//togglebutton +$toggleButtonBg: $shade500 !default; +$toggleButtonBorder: 1px solid transparent !default; +$toggleButtonTextColor: $shade000 !default; +$toggleButtonIconColor: $shade100 !default; +$toggleButtonHoverBg: $shade600 !default; +$toggleButtonHoverBorderColor: transparent !default; +$toggleButtonTextHoverColor: $shade000 !default; +$toggleButtonIconHoverColor: $shade100 !default; +$toggleButtonActiveBg: $primaryColor !default; +$toggleButtonActiveBorderColor: $primaryColor !default; +$toggleButtonTextActiveColor: $primaryTextColor !default; +$toggleButtonIconActiveColor: $primaryTextColor !default; +$toggleButtonActiveHoverBg: $primaryDarkColor !default; +$toggleButtonActiveHoverBorderColor: $primaryDarkColor !default; +$toggleButtonTextActiveHoverColor: $primaryTextColor !default; +$toggleButtonIconActiveHoverColor: $primaryTextColor !default; + +//inplace +$inplacePadding: $inputPadding !default; +$inplaceHoverBg: $shade500 !default; +$inplaceTextHoverColor: $shade000 !default; + +//rating +$ratingIconFontSize: 1.286rem !default; +$ratingCancelIconColor: #fc6161 !default; +$ratingCancelIconHoverColor: #fc6161 !default; +$ratingStarIconOffColor: $shade000 !default; +$ratingStarIconOnColor: $primaryColor !default; +$ratingStarIconHoverColor: $primaryColor !default; + +//slider +$sliderBg: $shade600 !default; +$sliderBorder: 0 none !default; +$sliderHorizontalHeight: 0.429rem !default; +$sliderVerticalWidth: 0.429rem !default; +$sliderHandleWidth: 1.143rem !default; +$sliderHandleHeight: 1.143rem !default; +$sliderHandleBg: #ffffff !default; +$sliderHandleBorder: 4px solid $primaryColor !default; +$sliderHandleBorderRadius: 50% !default; +$sliderHandleHoverBorderColor: $primaryColor !default; +$sliderHandleHoverBg: $primaryColor !default; +$sliderRangeBg: $primaryColor !default; + +//calendar +$calendarTableMargin: 0.5rem 0 !default; +$calendarPadding: 0.857rem !default; +$calendarBg: $solidSurfaceColor !default; +$calendarInlineBg: transparent !default; +$calendarTextColor: $shade000 !default; +$calendarBorder: $inputListBorder !default; +$calendarOverlayBorder: $inputOverlayBorder !default; + +$calendarHeaderPadding: 0 0 0.75rem 0 !default; +$calendarHeaderBg: transparent !default; +$calendarInlineHeaderBg: $calendarInlineBg !default; +$calendarHeaderBorder: 0 none !default; +$calendarHeaderTextColor: $shade000 !default; +$calendarHeaderFontWeight: 400 !default; +$calendarHeaderCellPadding: 0.357rem !default; +$calendarHeaderCellFontWeight: 500 !default; +$calendarHeaderCellFontSize: 12px !default; +$calendarHeaderCellTextColor: $shade200 !default; +$calendarMonthYearHeaderHoverTextColor: $primaryColor !default; + +$calendarCellDateBg: $shade500 !default; +$calendarCellDatePadding: 0.357rem !default; +$calendarCellDateWidth: 2.571rem !default; +$calendarCellDateHeight: 2.571rem !default; +$calendarCellDateBorderRadius: $borderRadius !default; +$calendarCellDateBorder: 2px solid transparent !default; +$calendarCellDateHoverBg: $shade600 !default; +$calendarCellDateTodayBg: $shade500 !default; +$calendarCellDateTodayBorderColor: $shade900 !default; +$calendarCellDateTodayTextColor: $shade000 !default; + +$calendarButtonBarPadding: 1rem 0 !default; +$calendarTimePickerPadding: 0.5rem !default; +$calendarTimePickerElementPadding: 0 0.5rem !default; +$calendarTimePickerTimeFontSize: 1.25rem !default; + +$calendarBreakpoint: 769px !default; +$calendarCellDatePaddingSM: 0 !default; + +//input switch +$inputSwitchWidth: 2.714rem !default; +$inputSwitchHeight: 1.429rem !default; +$inputSwitchBorderRadius: 12px !default; +$inputSwitchHandleWidth: 1.143rem !default; +$inputSwitchHandleHeight: 1.143rem !default; +$inputSwitchHandleBorderRadius: 8px !default; +$inputSwitchSliderPadding: 0.25rem !default; +$inputSwitchSliderOffBg: $shade500 !default; +$inputSwitchHandleOffBg: $shade100 !default; +$inputSwitchSliderOffHoverBg: $shade600 !default; +$inputSwitchSliderOnBg: $primaryColor !default; +$inputSwitchSliderOnHoverBg: $primaryDarkColor !default; +$inputSwitchHandleOnBg: $shade000 !default; + +//panel +$panelHeaderBorderColor: $shade700 !default; +$panelHeaderBorder: 1px solid $shade700 !default; +$panelHeaderBg: transparent !default; +$panelHeaderTextColor: $shade000 !default; +$panelHeaderFontWeight: 500 !default; +$panelHeaderPadding: 0.714rem 1.143rem !default; +$panelToggleableHeaderPadding: 0.429rem 0.571rem !default; + +$panelHeaderHoverBg: $shade500 !default; +$panelHeaderHoverBorderColor: $shade700 !default; +$panelHeaderTextHoverColor: $shade000 !default; + +$panelContentBorderColor: $shade700 !default; +$panelContentBorder: 1px solid $shade700 !default; +$panelContentEvenRowBg: rgba(255, 255, 255, 0.01) !default; +$panelContentBg: transparent !default; +$panelContentTextColor: $shade000 !default; +$panelContentPadding: 1.143rem !default; + +$panelFooterBorder: 1px solid $shade700 !default; +$panelFooterBg: transparent !default; +$panelFooterTextColor: $shade000 !default; +$panelFooterPadding: 0.714rem 1.143rem !default; + +$fieldsetContentPadding: 0.429rem !default; + +//accordion +$accordionSpacing: 0 !default; +$accordionHeaderBorder: $panelHeaderBorder !default; +$accordionHeaderBg: $panelHeaderBg !default; +$accordionHeaderTextColor: $panelHeaderTextColor !default; +$accordionHeaderFontWeight: $panelHeaderFontWeight !default; +$accordionHeaderPadding: $panelHeaderPadding !default; + +$accordionHeaderHoverBg: $shade500 !default; +$accordionHeaderHoverBorderColor: $shade500 !default; +$accordionHeaderTextHoverColor: $shade000 !default; + +$accordionHeaderActiveBg: $shade700 !default; +$accordionHeaderActiveBorderColor: $shade500 !default; +$accordionHeaderTextActiveColor: $shade000 !default; + +$accordionHeaderActiveHoverBg: $shade700 !default; +$accordionHeaderActiveHoverBorderColor: $shade500 !default; +$accordionHeaderTextActiveHoverColor: $shade000 !default; + +$accordionContentBorder: $panelContentBorder !default; +$accordionContentBg: $panelContentBg !default; +$accordionContentTextColor: $panelContentTextColor !default; +$accordionContentPadding: $panelContentPadding !default; + +//tabview +$tabviewNavBorder: 1px solid $shade700 !default; +$tabviewNavBorderWidth: 0 0 2px 0 !default; +$tabviewNavBg: transparent !default; + +$tabviewHeaderSpacing: 0.857rem !default; +$tabviewHeaderBorder: solid transparent !default; +$tabviewHeaderBorderWidth: 0 0 2px 0 !default; +$tabviewHeaderBorderColor: transparent transparent transparent transparent !default; +$tabviewHeaderBg: transparent !default; +$tabviewHeaderTextColor: $shade200 !default; +$tabviewHeaderFontWeight: $panelHeaderFontWeight !default; +$tabviewHeaderPadding: 0.571rem 0.429rem !default; +$tabviewHeaderMargin: 0 0 -2px 0 !default; + +$tabviewHeaderHoverBg: transparent !default; +$tabviewHeaderHoverBorderColor: $shade000 !default; +$tabviewHeaderTextHoverColor: $shade000 !default; + +$tabviewHeaderActiveBg: transparent !default; +$tabviewHeaderActiveBorderColor: $primaryColor !default; +$tabviewHeaderTextActiveColor: $primaryColor !default; + +$tabviewContentBorder: 0 none !default; +$tabviewContentBg: transparent !default; +$tabviewContentTextColor: $shade000 !default; +$tabviewContentPadding: 1.143rem 0 !default; + +//upload +$fileUploadProgressBarHeight: 0.25rem !default; +$fileUploadContentPadding: 2rem 1rem !default; +$fileUploadFileBorder: 1px solid $shade600 !default; +$fileUploadFilePadding: 1rem !default; + +//scrollpanel +$scrollPanelTrackBorder: 0 none !default; +$scrollPanelTrackBg: $shade500 !default; + +//card +$cardBodyPadding: 0.857rem 1.143rem !default; +$cardTitleFontSize: 1.143rem !default; +$cardTitleFontWeight: 500 !default; +$cardSubTitleFontSize: 12px !default; +$cardSubTitleFontWeight: 500 !default; +$cardSubTitleColor: $shade200 !default; +$cardContentPadding: 1rem 0 !default; +$cardFooterPadding: 1rem 0 0 0 !default; +$cardShadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12) !default; + +//editor +$editorToolbarBg: $panelHeaderBg !default; +$editorToolbarBorder: $panelHeaderBorder !default; +$editorToolbarPadding: $panelHeaderPadding !default; +$editorToolbarIconColor: $textSecondaryColor !default; +$editorToolbarIconHoverColor: $textColor !default; +$editorIconActiveColor: $primaryColor !default; +$editorContentBorder: $panelContentBorder !default; +$editorContentBg: $panelContentBg !default; + +//paginator +$paginatorBg: transparent !default; +$paginatorTextColor: $shade000 !default; +$paginatorBorder: solid $shade700 !default; +$paginatorBorderWidth: 0 !default; +$paginatorPadding: 0.571rem 0.571rem !default; +$paginatorElementWidth: 1.429rem !default; +$paginatorElementHeight: 1.429rem !default; +$paginatorElementBg: transparent !default; +$paginatorElementBorder: 0 none !default; +$paginatorElementIconColor: $shade000 !default; +$paginatorElementHoverBg: $shade500 !default; +$paginatorElementHoverBorderColor: transparent !default; +$paginatorElementIconHoverColor: $shade000 !default; +$paginatorElementActiveBg: $shade600 !default; +$paginatorElementActiveBorderColor: transparent !default; +$paginatorElementIconActiveColor: $shade000 !default; +$paginatorElementBorderRadius: 4px !default; +$paginatorElementMargin: 0.143rem !default; +$paginatorElementPadding: 0 !default; + +//table +$tableHeaderBorder: 1px solid $shade700 !default; +$tableHeaderBorderWidth: 0 0 1px 0 !default; +$tableHeaderBg: transparent !default; +$tableHeaderTextColor: $shade200 !default; +$tableHeaderFontWeight: 500 !default; +$tableHeaderPadding: 0.571rem 0.571rem !default; + +$tableHeaderCellPadding: 0.571rem 0.571rem !default; +$tableHeaderCellBg: transparent !default; +$tableHeaderCellTextColor: $shade200 !default; +$tableHeaderCellFontWeight: 500 !default; +$tableHeaderCellBorder: 1px solid $shade700 !default; +$tableHeaderCellBorderWidth: 0 0 1px 0 !default; +$tableHeaderCellHoverBg: $shade500 !default; +$tableHeaderCellTextHoverColor: $shade200 !default; +$tableHeaderCellIconColor: $shade200 !default; +$tableHeaderCellIconHoverColor: $shade200 !default; +$tableHeaderCellHighlightBg: $shade600 !default; +$tableHeaderCellHighlightTextColor: $shade200 !default; +$tableHeaderCellHighlightHoverBg: $shade600 !default; +$tableHeaderCellHighlightTextHoverColor: $shade200 !default; +$tableSortableColumnBadgeSize: 1.143rem !default; + +$tableBodyRowBg: transparent !default; +$tableBodyRowTextColor: $shade000 !default; +$tableBodyRowEvenBg: transparent !default; +$tableBodyRowHoverBg: $shade500 !default; +$tableBodyRowTextHoverColor: $shade000 !default; +$tableBodyRowHighlightBg: linear-gradient(0deg, rgba($highlightBg, 0.25), rgba($highlightBg, 0.25)), rgba(255, 255, 255, 0.05); +$tableBodyRowHighlightTextColor: $shade000; +$tableBodyCellBorder: 1px solid $shade700 !default; +$tableBodyCellBorderWidth: 0 0 0 0 !default; +$tableBodyCellPadding: 0.429rem 0.571rem !default; + +$tableFooterCellPadding: 0.571rem 0.571rem !default; +$tableFooterCellBg: transparent !default; +$tableFooterCellTextColor: $shade200 !default; +$tableFooterCellFontWeight: 500 !default; +$tableFooterCellBorder: 1px solid $shade700 !default; +$tableFooterCellBorderWidth: 0 0 1px 0 !default; +$tableResizerHelperBg: $primaryColor !default; +$tableDragHelperBg: rgba($primaryColor, .16) !default; + + +$tableFooterBorder: 1px solid $shade700 !default; +$tableFooterBorderWidth: 0 0 1px 0 !default; +$tableFooterBg: transparent !default; +$tableFooterTextColor: $shade200 !default; +$tableFooterFontWeight: 500 !default; +$tableFooterPadding: 0.571rem 0.571rem !default; + +$tableCellContentAlignment: left !default; +$tableTopPaginatorBorderWidth: 1px 0 1px 0 !default; +$tableBottomPaginatorBorderWidth: 1px 0 1px 0 !default; + +$tableScaleSM: 0.5 !default; +$tableScaleLG: 1.25 !default; + +//dataview +$dataViewContentPadding: 0 !default; +$dataViewContentBorder: 0 none !default; +$dataViewListItemBorder: solid $shade500 !default; +$dataViewListItemBorderWidth: 0 0 0 0 !default; + +//orderlist +$orderlistBg: $shade500 !default; +$orderlistShadow: none !default; +$orderlistBorderRadius: 8px !default; +$orderlistBorder: 0 none !default; +$orderlistBorderWidth: 0 0 0 0 !default; +$orderlistHeaderPadding: 1.143rem !default; +$orderlistListPadding: 0.571rem !default; +$orderlistListItemPadding: 0.714rem 0.571rem !default; +$orderlistListItemBorder: 1px solid transparent !default; +$orderlistListItemActiveBg: linear-gradient(0deg, rgba($highlightBg, 0.25), rgba($highlightBg, 0.25)), rgba(255, 255, 255, 0.05) !default; +$orderlistListItemActiveBorderColor: $highlightBg !default; + +//picklist +$picklistBg: $shade500 !default; +$picklistShadow: none !default; +$picklistBorderRadius: 8px !default; +$picklistBorder: 0 none !default; +$picklistBorderWidth: 0 0 0 0 !default; +$picklistHeaderPadding: 1.143rem !default; +$picklistListPadding: 0.571rem !default; +$picklistListItemPadding: 0.714rem 0.571rem !default; +$picklistListItemBorder: 1px solid transparent !default; +$picklistListItemActiveBg: linear-gradient(0deg, rgba($highlightBg, 0.25), rgba($highlightBg, 0.25)), rgba(255, 255, 255, 0.05) !default; +$picklistListItemActiveBorderColor: $highlightBg !default; + +//schedule +$fullCalendarEventBg: $primaryDarkColor !default; +$fullCalendarEventBorderColor: $primaryDarkColor !default; +$fullCalendarEventBorder: 1px solid $primaryDarkColor !default; +$fullCalendarEventTextColor: $primaryTextColor !default; + +//tree +$treeContainerPadding: 0.286rem !default; +$treeNodePadding: 0.143rem !default; +$treeNodeContentPadding: 0.429rem 0.571rem !default; +$treeNodeChildrenPadding: 0 0 0 1rem !default; +$treeNodeIconColor: $shade000 !default; + +//timeline +$timelineVerticalEventContentPadding: 0 1rem !default; +$timelineHorizontalEventContentPadding: 1rem 0 !default; +$timelineEventMarkerWidth: 1rem !default; +$timelineEventMarkerHeight: 1rem !default; +$timelineEventMarkerBorderRadius: 50% !default; +$timelineEventMarkerBorder: 2px solid $primaryColor !default; +$timelineEventMarkerBackground: $shade500 !default; +$timelineEventConnectorSize: 2px !default; +$timelineEventColor: $shade500 !default; + +//org chart +$organizationChartConnectorColor: $shade100 !default; + +//message +$messageMargin: 1rem 0 !default; +$messagePadding: 1.143rem 1.357rem !default; +$messageBorderWidth: 0 0 0 20px !default; +$messageIconFontSize: 1.286rem !default; +$messageTextFontSize: 1rem !default; +$messageTextFontWeight: 400 !default; + +//inline message +$inlineMessagePadding: $inputPadding !default; +$inlineMessageMargin: 0 !default; +$inlineMessageIconFontSize: 1.286rem !default; +$inlineMessageTextFontSize: 1rem !default; +$inlineMessageBorderWidth: 0 0 0 20px !default; + +//toast +$toastIconFontSize: 1.286rem !default; +$toastMessageTextMargin: 0 0 0 1rem !default; +$toastMargin: 0 0 1rem 0 !default; +$toastPadding: 1.143rem 1.357rem !default; +$toastBorderWidth: 0 0 0 20px !default; +$toastShadow: none !default; +$toastOpacity: 0.9 !default; +$toastTitleFontWeight: 400 !default; +$toastDetailMargin: $inlineSpacing 0 0 0 !default; + +//severities +$infoMessageBg: $shade500 !default; +$infoMessageBorder: solid #873efe !default; +$infoMessageTextColor: $shade000 !default; +$infoMessageIconColor: $shade000 !default; +$successMessageBg: $shade500 !default; +$successMessageBorder: solid #0bd18a !default; +$successMessageTextColor: $shade000 !default; +$successMessageIconColor: $shade000 !default; +$warningMessageBg: $shade500 !default; +$warningMessageBorder: solid #eee500 !default; +$warningMessageTextColor: $shade000 !default; +$warningMessageIconColor: $shade000 !default; +$errorMessageBg: $shade500 !default; +$errorMessageBorder: solid #fc6161 !default; +$errorMessageTextColor: $shade000 !default; +$errorMessageIconColor: $shade000 !default; + +//overlays +$overlayContentBorder: 0 none !default; +$overlayContentBg: #252636 !default; +$overlayContainerShadow: 0px 10px 30px rgba(0, 0, 0, 0.3) !default; + +//dialog +$dialogBorderRadius: 20px; +$dialogHeaderBg: #252636 !default; +$dialogHeaderBorder: 0 none !default; +$dialogHeaderTextColor: $shade000 !default; +$dialogHeaderFontWeight: 500 !default; +$dialogHeaderFontSize: 1.143rem !default; +$dialogHeaderPadding: 1.286rem 1.714rem !default; +$dialogContentPadding: 0 1.714rem 1.714rem 1.714rem !default; +$dialogFooterBorder: 0 none !default; +$dialogFooterPadding: 0 1.714rem 1.714rem 1.714rem !default; + +//confirmpopup +$confirmPopupContentPadding: $panelContentPadding !default; +$confirmPopupFooterPadding: 0 1.25rem 1.25rem 1.25rem !default; + +//tooltip +$tooltipBg: $solidSurfaceColor !default; +$tooltipTextColor: $shade000 !default; +$tooltipPadding: $inputPadding !default; + +//steps +$stepsItemBg: transparent !default; +$stepsItemBorder: 0 none !default; +$stepsItemTextColor: $shade200 !default; +$stepsItemNumberBg: $shade600 !default; +$stepsItemNumberWidth: 1.714rem !default; +$stepsItemNumberHeight: 1.714rem !default; +$stepsItemNumberFontSize: 1.143rem !default; +$stepsItemNumberColor: $shade200 !default; +$stepsItemNumberBorderRadius: 12px !default; +$stepsItemHoverBg: $shade800 !default; +$stepsItemHoverTextColor: $shade000 !default; +$stepsItemActiveFontWeight: 400 !default; +$stepsItemActiveBg: $highlightBg !default; +$stepsItemNumberActiveTextColor: $highlightTextColor !default; +$stepsItemActiveTextColor: $shade000 !default; +$stepsItemActiveShadow: 0px 0px 10px rgba($highlightBg, 0.3) !default; + +//progressbar +$progressBarHeight: 0.571rem !default; +$progressBarBorder: 0 none !default; +$progressBarBg: $shade600 !default; +$progressBarValueBg: $primaryColor !default; +$progressBarValueTextColor: $primaryTextColor !default; + +$progressSpinnerStrokeColor: $errorMessageTextColor !default; +$progressSpinnerColorOne: $errorMessageTextColor !default; +$progressSpinnerColorTwo: $infoMessageTextColor !default; +$progressSpinnerColorThree: $successMessageTextColor !default; +$progressSpinnerColorFour: $warningMessageTextColor !default; + +//menu (e.g. menu, menubar, tieredmenu) +$menuWidth: 12.5rem !default; +$menuBg: transparent !default; +$menuBorder: 1px solid $shade700 !default; +$menuTextColor: $shade100 !default; +$menuitemPadding: 0.571rem 0.429rem !default; +$menuitemBorderRadius: $borderRadius !default; +$menuitemBorder: 1px solid transparent !default; +$menuitemTextColor: $shade100 !default; +$menuitemIconColor: $shade100 !default; +$menuitemTextHoverColor: $shade000 !default; +$menuitemIconHoverColor: $shade000 !default; +$menuitemHoverBg: $shade500 !default; +$menuitemTextFocusColor: $shade000 !default; +$menuitemIconFocusColor: $shade000 !default; +$menuitemFocusBg: $shade600 !default; +$menuitemFocusBorderColor: $shade900 !default; +$menuitemTextActiveColor: $shade000 !default; +$menuitemIconActiveColor: $shade000 !default; +$menuitemActiveBg: $shade500 !default; +$menuitemActiveFocusBg: $highlightFocusBg !default; +$menuitemSubmenuIconFontSize: 0.875rem !default; +$submenuHeaderMargin: 0 !default; +$submenuHeaderPadding: 0.571rem 0.429rem !default; +$submenuHeaderBg: transparent !default; +$submenuHeaderTextColor: $shade200 !default; +$submenuHeaderBorderRadius: $borderRadius !default; +$submenuHeaderFontWeight: 500 !default; +$submenuHeaderFontSize: 0.857rem !default; +$overlayMenuBg: $solidSurfaceColor !default; +$overlayMenuBorder: 1px solid transparent !default; +$overlayMenuShadow: none !default; +$verticalMenuPadding: 0.429rem !default; +$verticalMenuitemMargin: 0; +$menuSeparatorMargin: 0.25rem 0 !default; + +$panelmenuHeaderTextColor: $shade200; + +$breadcrumbPadding: 0.857rem !default; +$breadcrumbBg: $menuBg !default; +$breadcrumbBorder: $menuBorder !default; +$breadcrumbItemTextColor: $menuitemTextColor !default; +$breadcrumbItemIconColor: $menuitemIconColor !default; +$breadcrumbLastItemTextColor: $menuitemTextColor !default; +$breadcrumbLastItemIconColor: $menuitemIconColor !default; +$breadcrumbSeparatorColor: $menuitemTextColor !default; + +$horizontalMenuPadding: 0.857rem !default; +$horizontalMenuBg: $menuBg !default; +$horizontalMenuBorder: $menuBorder !default; +$horizontalMenuTextColor: $menuTextColor !default; +$horizontalMenuRootMenuitemPadding: $menuitemPadding !default; +$horizontalMenuRootMenuitemBorderRadius: $borderRadius !default; +$horizontalMenuRootMenuitemTextColor: $menuitemTextColor !default; +$horizontalMenuRootMenuitemIconColor: $menuitemIconColor !default; +$horizontalMenuRootMenuitemTextHoverColor: $menuitemTextHoverColor !default; +$horizontalMenuRootMenuitemIconHoverColor: $menuitemIconHoverColor !default; +$horizontalMenuRootMenuitemHoverBg: $menuitemHoverBg !default; +$horizontalMenuRootMenuitemTextActiveColor: $menuitemTextActiveColor !default; +$horizontalMenuRootMenuitemIconActiveColor: $menuitemIconActiveColor !default; +$horizontalMenuRootMenuitemActiveBg: $menuitemActiveBg !default; + +//badge and tag +$badgeBg: $primaryColor !default; +$badgeTextColor: $primaryTextColor !default; +$badgeMinWidth: 1.429rem !default; +$badgeHeight: 1.429rem !default; +$badgeFontWeight: 500 !default; +$badgeFontSize: 1rem !default; + +$tagPadding: 0 0.429rem !default; + +//carousel +$carouselIndicatorsPadding: 1rem !default; +$carouselIndicatorBg: $shade600 !default; +$carouselIndicatorHoverBg: $shade800 !default; +$carouselIndicatorBorderRadius: 3px !default; +$carouselIndicatorWidth: 1.429rem !default; +$carouselIndicatorHeight: 0.572rem !default; +$carouselIndicatorActiveBg: $shade100 !default; +$carouselIndicatorActiveTextColor: $shade000 !default; + +//galleria +$galleriaMaskBg: rgba(0, 0, 0, 0.9) !default; +$galleriaCloseIconMargin: 0.5rem !default; +$galleriaCloseIconFontSize: 2rem !default; +$galleriaCloseIconBg: transparent !default; +$galleriaCloseIconColor: $shade000 !default; +$galleriaCloseIconHoverBg: rgba(255, 255, 255, 0.1) !default; +$galleriaCloseIconHoverColor: $shade000 !default; +$galleriaCloseIconWidth: 4rem !default; +$galleriaCloseIconHeight: 4rem !default; +$galleriaCloseIconBorderRadius: 50% !default; + +$galleriaItemNavigatorBg: transparent !default; +$galleriaItemNavigatorColor: $shade000 !default; +$galleriaItemNavigatorMargin: 0 0.5rem !default; +$galleriaItemNavigatorFontSize: 2rem !default; +$galleriaItemNavigatorHoverBg: rgba(255, 255, 255, 0.1) !default; +$galleriaItemNavigatorHoverColor: $shade000 !default; +$galleriaItemNavigatorWidth: 4rem !default; +$galleriaItemNavigatorHeight: 4rem !default; +$galleriaItemNavigatorBorderRadius: $borderRadius !default; + +$galleriaCaptionBg: rgba(0, 0, 0, 0.5) !default; +$galleriaCaptionTextColor: #f8f9fa !default; +$galleriaCaptionPadding: 1rem !default; + +$galleriaIndicatorsPadding: 1rem !default; +$galleriaIndicatorBg: $shade600 !default; +$galleriaIndicatorHoverBg: $shade800 !default; +$galleriaIndicatorBorderRadius: 3px !default; +$galleriaIndicatorWidth: 1.429rem !default; +$galleriaIndicatorHeight: 0.286rem !default; +$galleriaIndicatorsBgOnItem: rgba(0, 0, 0, 0.5) !default; +$galleriaIndicatorBgOnItem: $shade100 !default; +$galleriaIndicatorHoverBgOnItem: $shade000 !default; +$galleriaIndicatorActiveBg: $shade200 !default; +$galleriaIndicatorActiveTextColor: $shade100 !default; + +$galleriaThumbnailContainerBg: $solidSurfaceColor !default; +$galleriaThumbnailContainerPadding: 1rem 0.25rem !default; +$galleriaThumbnailNavigatorBg: transparent !default; +$galleriaThumbnailNavigatorColor: $shade000 !default; +$galleriaThumbnailNavigatorHoverBg: rgba(255, 255, 255, 0.1) !default; +$galleriaThumbnailNavigatorHoverColor: $shade000 !default; +$galleriaThumbnailNavigatorBorderRadius: 50% !default; +$galleriaThumbnailNavigatorWidth: 2rem !default; +$galleriaThumbnailNavigatorHeight: 2rem !default; + +//divider +$dividerHorizontalMargin: 1rem 0 !default; +$dividerHorizontalPadding: 0 1rem !default; +$dividerVerticalMargin: 0 1rem !default; +$dividerVerticalPadding: 1rem 0 !default; +$dividerSize: 1px !default; +$dividerColor: $shade700 !default; + +//avatar +$avatarBg: $shade500 !default; +$avatarTextColor: $textColor !default; + +//chip +$chipBg: $shade500 !default; +$chipTextColor: $textColor !default; +$chipBorderRadius: 16px !default; +$chipFocusBg: $shade500 !default; +$chipFocusTextColor: $textColor !default; + +//scrollTop +$scrollTopBg: $highlightBg !default; +$scrollTopHoverBg: scale-color($highlightBg, $alpha: 24%) !default; +$scrollTopWidth: 3rem !default; +$scrollTopHeight: 3rem !default; +$scrollTopBorderRadius: 50% !default; +$scrollTopFontSize: 1.5rem !default; +$scrollTopTextColor: $highlightTextColor !default; + +//skeleton +$skeletonBg: rgba(255, 255, 255, 0.06) !default; +$skeletonAnimationBg: rgba(255, 255, 255, 0.04) !default; + +//splitter +$splitterGutterBg: $shade700 !default; +$splitterGutterHandleBg: $shade700 !default; + +//speeddial +$speedDialButtonWidth: 4rem !default; +$speedDialButtonHeight: 4rem !default; +$speedDialButtonIconFontSize: 1.3rem !default; +$speedDialActionWidth: 3rem !default; +$speedDialActionHeight: 3rem !default; +$speedDialActionBg: $shade000 !default; +$speedDialActionHoverBg: $shade100 !default; +$speedDialActionTextColor: $shade900 !default; +$speedDialActionTextHoverColor: $shade900 !default; + +//dock +$dockActionWidth: 4rem !default; +$dockActionHeight: 4rem !default; +$dockItemPadding: 0.5rem !default; +$dockItemBorderRadius: $borderRadius !default; +$dockCurrentItemMargin: 1.5rem !default; +$dockFirstItemsMargin: 1.3rem !default; +$dockSecondItemsMargin: 0.9rem !default; +$dockBg: rgba(255, 255, 255, 0.1) !default; +$dockBorder: 1px solid rgba(255, 255, 255, 0.2) !default; +$dockPadding: 0.5rem 0.5rem !default; +$dockBorderRadius: 0.5rem !default; + +//image +$imageMaskBg: rgba(0, 0, 0, 0.9) !default; +$imagePreviewToolbarPadding: 1rem !default; +$imagePreviewIndicatorColor: #f8f9fa !default; +$imagePreviewIndicatorBg: rgba(0, 0, 0, 0.5) !default; +$imagePreviewActionIconBg: transparent !default; +$imagePreviewActionIconColor: #f8f9fa !default; +$imagePreviewActionIconHoverBg: rgba(255, 255, 255, 0.1) !default; +$imagePreviewActionIconHoverColor: #f8f9fa !default; +$imagePreviewActionIconWidth: 3rem !default; +$imagePreviewActionIconHeight: 3rem !default; +$imagePreviewActionIconFontSize: 1.5rem !default; +$imagePreviewActionIconBorderRadius: 50% !default; + +:root { + --surface-a: #{$shade800}; + --surface-b: #{$shade900}; + --surface-c: #{$hoverBg}; + --surface-d: #{$shade600}; + --surface-e: #{$shade800}; + --surface-f: #{$shade800}; + --text-color: #{$shade000}; + --text-color-secondary: #{$shade100}; + --primary-color: #{$primaryColor}; + --primary-color-text: #{$primaryTextColor}; + --font-family: #{$fontFamily}; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: #{$panelContentPadding}; + --inline-spacing: #{$inlineSpacing}; + --border-radius: #{$borderRadius}; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: #{$maskBg}; + --focus-ring: #{$focusShadow}; +} diff --git a/public/theme/theme-dark/blue/theme.css b/public/theme/theme-dark/blue/theme.css new file mode 100644 index 0000000..7114f06 --- /dev/null +++ b/public/theme/theme-dark/blue/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #0f8bfd; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f3f9ff; + --primary-100:#c5e3ff; + --primary-200:#98cdfe; + --primary-300:#6ab7fe; + --primary-400:#3da1fd; + --primary-500:#0f8bfd; + --primary-600:#0d76d7; + --primary-700:#0b61b1; + --primary-800:#084c8b; + --primary-900:#063865; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #0f8bfd; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #0f8bfd; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #0f8bfd; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #0f8bfd; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #0f8bfd; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #0f8bfd; + background: #0f8bfd; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #0270d5; + background: #0270d5; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #0270d5; + background: #0270d5; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #0f8bfd; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #0270d5; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #0f8bfd; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #027eef; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #0f8bfd; + background: #0f8bfd; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #0270d5; + background: #0270d5; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #0f8bfd; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #0270d5; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #0f8bfd; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #0f8bfd; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #0f8bfd; + border-color: #0f8bfd; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #027eef; + border-color: #027eef; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #0f8bfd; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #0f8bfd; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #0f8bfd; + border-color: #0f8bfd; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #0f8bfd; + border-color: #0f8bfd; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #027eef; + border-color: #027eef; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #0f8bfd; + border: 1px solid #0f8bfd; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #027eef; + color: #ffffff; + border-color: #027eef; + } + .p-button:not(:disabled):active { + background: #0270d5; + color: #ffffff; + border-color: #0270d5; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #0f8bfd; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #0f8bfd; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #0f8bfd; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #0f8bfd; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #0f8bfd; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #0f8bfd; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(15, 139, 253, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(15, 139, 253, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #0f8bfd; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(15, 139, 253, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(1, 73, 139, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(15, 139, 253, 0.16); + border-color: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(2, 112, 213, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #0f8bfd; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(15, 139, 253, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #0f8bfd; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #0f8bfd; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #0f8bfd; + color: #0f8bfd; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #0f8bfd; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #0f8bfd; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #027eef; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #0f8bfd; + color: #0f8bfd; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(15, 139, 253, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(15, 139, 253, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(15, 139, 253, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #0f8bfd; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #0f8bfd; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #0f8bfd; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #0f8bfd; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #0f8bfd; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #0f8bfd; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #0f8bfd; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(15, 139, 253, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #0f8bfd; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #0f8bfd; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/blue/theme.scss b/public/theme/theme-dark/blue/theme.scss new file mode 100644 index 0000000..83245d6 --- /dev/null +++ b/public/theme/theme-dark/blue/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #0f8bfd; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #0f8bfd !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/green/theme.css b/public/theme/theme-dark/green/theme.css new file mode 100644 index 0000000..bf8e9b4 --- /dev/null +++ b/public/theme/theme-dark/green/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #0bd18a; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f3fdf9; + --primary-100:#c4f4e3; + --primary-200:#96ebcd; + --primary-300:#68e2b6; + --primary-400:#39daa0; + --primary-500:#0bd18a; + --primary-600:#09b275; + --primary-700:#089261; + --primary-800:#06734c; + --primary-900:#045437; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #0bd18a; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #0bd18a; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #0bd18a; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #0bd18a; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #0bd18a; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #0bd18a; + background: #0bd18a; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #09a76e; + background: #09a76e; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #09a76e; + background: #09a76e; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #0bd18a; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #09a76e; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #0bd18a; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #0abc7c; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #0bd18a; + background: #0bd18a; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #09a76e; + background: #09a76e; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #0bd18a; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #09a76e; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #0bd18a; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #0bd18a; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #0bd18a; + border-color: #0bd18a; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #0abc7c; + border-color: #0abc7c; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #0bd18a; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #0bd18a; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #0bd18a; + border-color: #0bd18a; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #0bd18a; + border-color: #0bd18a; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #0abc7c; + border-color: #0abc7c; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #0bd18a; + border: 1px solid #0bd18a; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #0abc7c; + color: #ffffff; + border-color: #0abc7c; + } + .p-button:not(:disabled):active { + background: #09a76e; + color: #ffffff; + border-color: #09a76e; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #0bd18a; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #0bd18a; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #0bd18a; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(11, 209, 138, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(11, 209, 138, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #0bd18a; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(11, 209, 138, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(5, 88, 58, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(11, 209, 138, 0.16); + border-color: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(9, 167, 110, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #0bd18a; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(11, 209, 138, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #0bd18a; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #0bd18a; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #0bd18a; + color: #0bd18a; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #0bd18a; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #0bd18a; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #0abc7c; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #0bd18a; + color: #0bd18a; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(11, 209, 138, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(11, 209, 138, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(11, 209, 138, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #0bd18a; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #0bd18a; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #0bd18a; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #0bd18a; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #0bd18a; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #0bd18a; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #0bd18a; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #0bd18a; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #0bd18a; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/green/theme.scss b/public/theme/theme-dark/green/theme.scss new file mode 100644 index 0000000..8b17e90 --- /dev/null +++ b/public/theme/theme-dark/green/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #0bd18a; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #0bd18a !default; + +$highlightBg: rgba(110, 231, 183, 0.16) !default; +$highlightTextColor: rgba(255, 255, 255, 0.87) !default; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/magenta/theme.css b/public/theme/theme-dark/magenta/theme.css new file mode 100644 index 0000000..a53ea24 --- /dev/null +++ b/public/theme/theme-dark/magenta/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #ec4dbc; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fef6fc; + --primary-100:#fad4ef; + --primary-200:#f7b2e2; + --primary-300:#f391d5; + --primary-400:#f06fc9; + --primary-500:#ec4dbc; + --primary-600:#c941a0; + --primary-700:#a53684; + --primary-800:#822a67; + --primary-900:#5e1f4b; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #ec4dbc; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #ec4dbc; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #ec4dbc; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #ec4dbc; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #ec4dbc; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #ec4dbc; + background: #ec4dbc; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #e218a5; + background: #e218a5; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #e218a5; + background: #e218a5; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #ec4dbc; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #e218a5; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #ec4dbc; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #e931b1; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #ec4dbc; + background: #ec4dbc; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #e218a5; + background: #e218a5; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #ec4dbc; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #e218a5; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #ec4dbc; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #ec4dbc; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #ec4dbc; + border-color: #ec4dbc; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #e931b1; + border-color: #e931b1; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #ec4dbc; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #ec4dbc; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #ec4dbc; + border-color: #ec4dbc; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #ec4dbc; + border-color: #ec4dbc; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #e931b1; + border-color: #e931b1; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #ec4dbc; + border: 1px solid #ec4dbc; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #e931b1; + color: #ffffff; + border-color: #e931b1; + } + .p-button:not(:disabled):active { + background: #e218a5; + color: #ffffff; + border-color: #e218a5; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #ec4dbc; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #ec4dbc; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #ec4dbc; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(236, 77, 188, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(236, 77, 188, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #ec4dbc; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(236, 77, 188, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(168, 18, 122, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(236, 77, 188, 0.16); + border-color: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(226, 24, 165, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #ec4dbc; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(236, 77, 188, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #ec4dbc; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #ec4dbc; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #ec4dbc; + color: #ec4dbc; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #ec4dbc; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #ec4dbc; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #e931b1; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #ec4dbc; + color: #ec4dbc; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(236, 77, 188, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(236, 77, 188, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(236, 77, 188, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #ec4dbc; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #ec4dbc; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #ec4dbc; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #ec4dbc; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #ec4dbc; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #ec4dbc; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #ec4dbc; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #ec4dbc; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #ec4dbc; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/magenta/theme.scss b/public/theme/theme-dark/magenta/theme.scss new file mode 100644 index 0000000..88e50ba --- /dev/null +++ b/public/theme/theme-dark/magenta/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #ec4dbc; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #ec4dbc !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/orange/theme.css b/public/theme/theme-dark/orange/theme.css new file mode 100644 index 0000000..425fd09 --- /dev/null +++ b/public/theme/theme-dark/orange/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #fd9214; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fffaf3; + --primary-100:#ffe5c7; + --primary-200:#fed09a; + --primary-300:#febb6d; + --primary-400:#fda741; + --primary-500:#fd9214; + --primary-600:#d77c11; + --primary-700:#b1660e; + --primary-800:#8b500b; + --primary-900:#653a08; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #fd9214; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #fd9214; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #fd9214; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #fd9214; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #fd9214; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #fd9214; + background: #fd9214; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #d97602; + background: #d97602; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #d97602; + background: #d97602; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #fd9214; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #d97602; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #fd9214; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #f48502; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #fd9214; + background: #fd9214; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #d97602; + background: #d97602; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #fd9214; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #d97602; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #fd9214; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #fd9214; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #fd9214; + border-color: #fd9214; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #f48502; + border-color: #f48502; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #fd9214; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #fd9214; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #fd9214; + border-color: #fd9214; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #fd9214; + border-color: #fd9214; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #f48502; + border-color: #f48502; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #fd9214; + border: 1px solid #fd9214; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #f48502; + color: #ffffff; + border-color: #f48502; + } + .p-button:not(:disabled):active { + background: #d97602; + color: #ffffff; + border-color: #d97602; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #fd9214; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #fd9214; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #fd9214; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #fd9214; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #fd9214; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #fd9214; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(253, 146, 20, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(253, 146, 20, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #fd9214; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(253, 146, 20, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(144, 79, 1, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(253, 146, 20, 0.16); + border-color: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(217, 118, 2, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #fd9214; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(253, 146, 20, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #fd9214; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #fd9214; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #fd9214; + color: #fd9214; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #fd9214; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #fd9214; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #f48502; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #fd9214; + color: #fd9214; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(253, 146, 20, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(253, 146, 20, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(253, 146, 20, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #fd9214; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #fd9214; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #fd9214; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #fd9214; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #fd9214; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #fd9214; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #fd9214; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(253, 146, 20, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #fd9214; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #fd9214; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/orange/theme.scss b/public/theme/theme-dark/orange/theme.scss new file mode 100644 index 0000000..eb80052 --- /dev/null +++ b/public/theme/theme-dark/orange/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #fd9214; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #fd9214 !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/purple/theme.css b/public/theme/theme-dark/purple/theme.css new file mode 100644 index 0000000..5163060 --- /dev/null +++ b/public/theme/theme-dark/purple/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #873efe; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f9f5ff; + --primary-100:#e2d1ff; + --primary-200:#cbacff; + --primary-300:#b587fe; + --primary-400:#9e63fe; + --primary-500:#873efe; + --primary-600:#7335d8; + --primary-700:#5f2bb2; + --primary-800:#4a228c; + --primary-900:#361966; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #873efe; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #873efe; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #873efe; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #873efe; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #873efe; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #873efe; + background: #873efe; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #6001fb; + background: #6001fb; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #6001fb; + background: #6001fb; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #873efe; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #6001fb; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #873efe; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #731ffe; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #873efe; + background: #873efe; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #6001fb; + background: #6001fb; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #873efe; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #6001fb; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #873efe; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #873efe; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #873efe; + border-color: #873efe; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #731ffe; + border-color: #731ffe; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #873efe; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #873efe; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #873efe; + border-color: #873efe; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #873efe; + border-color: #873efe; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #731ffe; + border-color: #731ffe; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #873efe; + border: 1px solid #873efe; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #731ffe; + color: #ffffff; + border-color: #731ffe; + } + .p-button:not(:disabled):active { + background: #6001fb; + color: #ffffff; + border-color: #6001fb; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #873efe; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #873efe; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #873efe; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(135, 62, 254, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(135, 62, 254, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #873efe; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(135, 62, 254, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(72, 1, 188, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(135, 62, 254, 0.16); + border-color: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(96, 1, 251, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #873efe; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(135, 62, 254, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #873efe; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #873efe; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #873efe; + color: #873efe; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #873efe; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #873efe; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #731ffe; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #873efe; + color: #873efe; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(135, 62, 254, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(135, 62, 254, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(135, 62, 254, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #873efe; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #873efe; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #873efe; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #873efe; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #873efe; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #873efe; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #873efe; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #873efe; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #873efe; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/purple/theme.scss b/public/theme/theme-dark/purple/theme.scss new file mode 100644 index 0000000..dc7a710 --- /dev/null +++ b/public/theme/theme-dark/purple/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #873efe; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #873efe !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/red/theme.css b/public/theme/theme-dark/red/theme.css new file mode 100644 index 0000000..3d37de2 --- /dev/null +++ b/public/theme/theme-dark/red/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #fc6161; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fff7f7; + --primary-100:#fed9d9; + --primary-200:#febbbb; + --primary-300:#fd9d9d; + --primary-400:#fd7f7f; + --primary-500:#fc6161; + --primary-600:#d65252; + --primary-700:#b04444; + --primary-800:#8b3535; + --primary-900:#652727; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #fc6161; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #fc6161; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #fc6161; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #fc6161; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #fc6161; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #fc6161; + background: #fc6161; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #fb1d1d; + background: #fb1d1d; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #fb1d1d; + background: #fb1d1d; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #fc6161; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #fb1d1d; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #fc6161; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #fb3f3f; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #fc6161; + background: #fc6161; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #fb1d1d; + background: #fb1d1d; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #fc6161; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #fb1d1d; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #fc6161; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #fc6161; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #fc6161; + border-color: #fc6161; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #fb3f3f; + border-color: #fb3f3f; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #fc6161; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #fc6161; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #fc6161; + border-color: #fc6161; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #fc6161; + border-color: #fc6161; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #fb3f3f; + border-color: #fb3f3f; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #fc6161; + border: 1px solid #fc6161; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #fb3f3f; + color: #ffffff; + border-color: #fb3f3f; + } + .p-button:not(:disabled):active { + background: #fb1d1d; + color: #ffffff; + border-color: #fb1d1d; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #fc6161; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #fc6161; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #fc6161; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(252, 97, 97, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(252, 97, 97, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #fc6161; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(252, 97, 97, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(217, 4, 4, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(252, 97, 97, 0.16); + border-color: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(251, 29, 29, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #fc6161; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(252, 97, 97, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #fc6161; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #fc6161; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #fc6161; + color: #fc6161; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #fc6161; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #fc6161; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #fb3f3f; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #fc6161; + color: #fc6161; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(252, 97, 97, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(252, 97, 97, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(252, 97, 97, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #fc6161; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #fc6161; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #fc6161; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #fc6161; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #fc6161; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #fc6161; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #fc6161; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #fc6161; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #fc6161; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/red/theme.scss b/public/theme/theme-dark/red/theme.scss new file mode 100644 index 0000000..b3fc323 --- /dev/null +++ b/public/theme/theme-dark/red/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #fc6161; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #fc6161 !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/teal/theme.css b/public/theme/theme-dark/teal/theme.css new file mode 100644 index 0000000..cace649 --- /dev/null +++ b/public/theme/theme-dark/teal/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #00d0de; + --primary-color-text: #0a061a; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f2fdfd; + --primary-100:#c2f4f7; + --primary-200:#91ebf1; + --primary-300:#61e2eb; + --primary-400:#30d9e4; + --primary-500:#00d0de; + --primary-600:#00b1bd; + --primary-700:#00929b; + --primary-800:#00727a; + --primary-900:#005359; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #00d0de; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #00d0de; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #00d0de; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #00d0de; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #00d0de; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #0a061a; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #00d0de; + background: #00d0de; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #00a6b2; + background: #00a6b2; + color: #0a061a; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #00a6b2; + background: #00a6b2; + color: #0a061a; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #00d0de; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #00a6b2; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #00d0de; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #00bbc8; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #0a061a; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #00d0de; + background: #00d0de; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #00a6b2; + background: #00a6b2; + color: #0a061a; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #00d0de; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #00a6b2; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #00d0de; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #00d0de; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #00d0de; + border-color: #00d0de; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #00bbc8; + border-color: #00bbc8; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #00d0de; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #00d0de; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #00d0de; + border-color: #00d0de; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #00d0de; + border-color: #00d0de; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #00bbc8; + border-color: #00bbc8; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #0a061a; + background: #00d0de; + border: 1px solid #00d0de; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #00bbc8; + color: #0a061a; + border-color: #00bbc8; + } + .p-button:not(:disabled):active { + background: #00a6b2; + color: #0a061a; + border-color: #00a6b2; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #00d0de; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #00d0de; + background-color: #0a061a; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #00d0de; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #00d0de; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #00d0de; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #00d0de; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(0, 208, 222, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(0, 208, 222, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #00d0de; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(0, 208, 222, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(0, 89, 95, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(0, 208, 222, 0.16); + border-color: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(0, 166, 178, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #00d0de; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(0, 208, 222, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #00d0de; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #00d0de; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #00d0de; + color: #00d0de; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #00d0de; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #00d0de; + color: #0a061a; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #00bbc8; + color: #0a061a; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #00d0de; + color: #00d0de; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(0, 208, 222, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 208, 222, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 208, 222, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #00d0de; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #00d0de; + } + .p-progressbar .p-progressbar-label { + color: #0a061a; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #00d0de; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #00d0de; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #00d0de; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #00d0de; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #00d0de; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(0, 208, 222, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #00d0de; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #00d0de; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/teal/theme.scss b/public/theme/theme-dark/teal/theme.scss new file mode 100644 index 0000000..5680e6c --- /dev/null +++ b/public/theme/theme-dark/teal/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #00d0de; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #0a061a; +$primary500: #00d0de !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-dark/yellow/theme.css b/public/theme/theme-dark/yellow/theme.css new file mode 100644 index 0000000..3c4b7bc --- /dev/null +++ b/public/theme/theme-dark/yellow/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: rgba(255, 255, 255, 0.2); + --surface-b: rgba(255, 255, 255, 0.25); + --surface-c: rgba(255, 255, 255, 0.03); + --surface-d: rgba(255, 255, 255, 0.1); + --surface-e: rgba(255, 255, 255, 0.2); + --surface-f: rgba(255, 255, 255, 0.2); + --text-color: #ffffff; + --text-color-secondary: #c8ccd8; + --primary-color: #eee500; + --primary-color-text: #0a061a; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #0a061a; + --surface-50: #231f31; + --surface-100: #3b3848; + --surface-200: #54515f; + --surface-300: #6c6a76; + --surface-400: #85838d; + --surface-500: #9d9ba3; + --surface-600: #b6b4ba; + --surface-700: #cecdd1; + --surface-800: #e7e6e8; + --surface-900: #ffffff; + --gray-50: #e7e6e8; + --gray-100: #cecdd1; + --gray-200: #b6b4ba; + --gray-300: #9d9ba3; + --gray-400: #85838d; + --gray-500: #6c6a76; + --gray-600: #54515f; + --gray-700: #3b3848; + --gray-800: #231f31; + --gray-900: #0a061a; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-section: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-card: rgba(255, 255, 255, 0.05); + --surface-overlay: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --surface-border: rgba(255, 255, 255, 0.15); + --surface-hover: rgba(255, 255, 255, 0.05); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fefef2; + --primary-100:#fbf9c2; + --primary-200:#f8f491; + --primary-300:#f4ef61; + --primary-400:#f1ea30; + --primary-500:#eee500; + --primary-600:#cac300; + --primary-700:#a7a000; + --primary-800:#837e00; + --primary-900:#5f5c00; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #c8ccd8; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #ffffff; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(255, 255, 255, 0.15); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #ffffff; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #eee500; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #eee500; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #eee500; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #eee500; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.4; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #c8ccd8; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #0a061a; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #ffffff; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #eee500; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-color: rgba(255, 255, 255, 0.25); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(255, 255, 255, 0.05); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #868c9b; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #0a061a; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #eee500; + background: #eee500; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #beb700; + background: #beb700; + color: #0a061a; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #beb700; + background: #beb700; + color: #0a061a; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #eee500; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #beb700; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #868c9b; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.05); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #c8ccd8; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(255, 255, 255, 0.1); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #eee500; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #d6ce00; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #868c9b; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #c8ccd8; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #868c9b; + } + + :-moz-placeholder { + color: #868c9b; + } + + ::-moz-placeholder { + color: #868c9b; + } + + :-ms-input-placeholder { + color: #868c9b; + } + + .p-input-filled .p-inputtext { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + + .p-multiselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #868c9b; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #ffffff; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(255, 255, 255, 0.1); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #f48fb1; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #ffe082; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #c5e1a5; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #868c9b; + background: rgba(255, 255, 255, 0.05); + width: 20px; + height: 20px; + color: #ffffff; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #0a061a; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #eee500; + background: #eee500; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #beb700; + background: #beb700; + color: #0a061a; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #eee500; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #beb700; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #eee500; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #eee500; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-selectbutton .p-button.p-highlight { + background: #eee500; + border-color: #eee500; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #d6ce00; + border-color: #d6ce00; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(255, 255, 255, 0.1); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #eee500; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #eee500; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #eee500; + border-color: #eee500; + } + + .p-treeselect { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #868c9b; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #c8ccd8; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #c8ccd8; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #ffffff; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: rgba(255, 255, 255, 0.05); + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(255, 255, 255, 0.05); + } + + .p-togglebutton.p-button { + background: rgba(255, 255, 255, 0.05); + border: 1px solid transparent; + color: #ffffff; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.1); + border-color: transparent; + color: #ffffff; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #c8ccd8; + } + .p-togglebutton.p-button.p-highlight { + background: #eee500; + border-color: #eee500; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #d6ce00; + border-color: #d6ce00; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #0a061a; + background: #eee500; + border: 1px solid #eee500; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #d6ce00; + color: #0a061a; + border-color: #d6ce00; + } + .p-button:not(:disabled):active { + background: #beb700; + color: #0a061a; + border-color: #beb700; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #eee500; + background-color: #0a061a; + } + .p-button.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #a0a3ad; + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #2e323f; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #2e323f; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #eee500; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #eee500; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #c8ccd8; + border-color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #c8ccd8; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(255, 255, 255, 0.16); + color: #c8ccd8; + } + .p-splitbutton.p-button-raised { + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: #a0a3ad; + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: #a0a3ad; + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(160, 163, 173, 0.04); + border-color: transparent; + color: #a0a3ad; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(160, 163, 173, 0.16); + border-color: transparent; + color: #a0a3ad; + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #ffffff; + color: rgba(255, 255, 255, 0.25); + } + .p-speeddial-action:hover { + background: #c8ccd8; + color: rgba(255, 255, 255, 0.25); + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(238, 229, 0, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(238, 229, 0, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-datatable .p-column-resizer-helper { + background: #eee500; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(238, 229, 0, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #ffffff; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(255, 255, 255, 0.05); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #0a061a; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #ffffff; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(255, 255, 255, 0.01); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(255, 255, 255, 0.05); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(111, 106, 0, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(255, 255, 255, 0.15); + border-color: #c8ccd8; + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #ffffff; + border: solid rgba(255, 255, 255, 0.15); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #ffffff; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(238, 229, 0, 0.16); + border-color: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + border-color: transparent; + color: #ffffff; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #ffffff; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + } + + .p-tree { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #c8ccd8; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(190, 183, 0, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #868c9b; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 1px 0; + font-weight: 500; + color: #868c9b; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #eee500; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #868c9b; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #ffffff; + background: rgba(238, 229, 0, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #868c9b; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(255, 255, 255, 0.1); + color: #868c9b; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #868c9b; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #ffffff; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #ffffff; + } + .p-treetable .p-column-resizer-helper { + background: #eee500; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #ffffff; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 0.71375rem 0.71375rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #eee500; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(255, 255, 255, 0.05); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #ffffff; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #868c9b; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #ffffff; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(255, 255, 255, 0.15); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + background: transparent; + color: #ffffff; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + border-radius: 6px; + color: #ffffff; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(255, 255, 255, 0.15); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(255, 255, 255, 0.15); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: rgba(255, 255, 255, 0.05); + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #eee500; + color: #eee500; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #eee500; + width: 2.286rem; + box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #252636; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #252636; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #252636; + color: #ffffff; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #252636; + color: #ffffff; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #252636; + color: #ffffff; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #eee500; + color: #0a061a; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #d6ce00; + color: #0a061a; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #252636; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(37, 38, 54, 0); + border-bottom-color: #232433; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #252636; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #252636; + } + + .p-sidebar { + background: #252636; + color: #ffffff; + border: 0 none; + box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #ffffff; + border-color: transparent; + background: rgba(255, 255, 255, 0.05); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #0a061a; + color: #ffffff; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #0a061a; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #0a061a; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #0a061a; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #0a061a; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #c8ccd8; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #c8ccd8; + } + + .p-contextmenu { + padding: 0.429rem; + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #0a061a; + color: #c8ccd8; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #868c9b; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #c8ccd8; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #ffffff; + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(255, 255, 255, 0.15); + color: #ffffff; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(255, 255, 255, 0.05); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(255, 255, 255, 0.15); + border-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.15); + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(255, 255, 255, 0.15); + background: transparent; + color: #ffffff; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(255, 255, 255, 0.05); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #ffffff; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #ffffff; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #868c9b; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #868c9b; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #ffffff; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(255, 255, 255, 0.05); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.15); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #868c9b; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #ffffff; + color: #ffffff; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #eee500; + color: #eee500; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #c8ccd8; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #c8ccd8; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #c8ccd8; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #c8ccd8; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #0a061a; + border: 1px solid transparent; + box-shadow: none; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(255, 255, 255, 0.05); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #ffffff; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #ffffff; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message.p-inline-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ffffff; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-info .p-message-icon { + color: #ffffff; + } + .p-message.p-message-info .p-message-close { + color: #ffffff; + } + .p-message.p-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-success .p-message-icon { + color: #ffffff; + } + .p-message.p-message-success .p-message-close { + color: #ffffff; + } + .p-message.p-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-warn .p-message-icon { + color: #ffffff; + } + .p-message.p-message-warn .p-message-close { + color: #ffffff; + } + .p-message.p-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-message.p-message-error .p-message-icon { + color: #ffffff; + } + .p-message.p-message-error .p-message-close { + color: #ffffff; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(255, 255, 255, 0.05); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(255, 255, 255, 0.05); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(255, 255, 255, 0.05); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(255, 255, 255, 0.05); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #ffffff; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ffffff; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #ffffff; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(255, 255, 255, 0.1); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.2); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #c8ccd8; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #ffffff; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(238, 229, 0, 0.16); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container { + background: #0a061a; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #ffffff; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(255, 255, 255, 0.05); + color: #ffffff; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(238, 229, 0, 0.16); + } + .p-scrolltop.p-link:hover { + background: rgba(238, 229, 0, 0.3616); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #ffffff; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(255, 255, 255, 0.06); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #eee500; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.05); + color: #ffffff; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(255, 255, 255, 0.1); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #eee500; + } + .p-progressbar .p-progressbar-label { + color: #0a061a; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #ffffff; + border: 1px solid rgba(255, 255, 255, 0.15); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #eee500; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: #a0a3ad; + color: #ffffff; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #2e323f; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #eee500; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #2e323f; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #eee500; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #eee500; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #eee500; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(160, 163, 173, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(11, 209, 138, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(135, 62, 254, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(238, 229, 0, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(236, 77, 188, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #1c2127, 0 0 0 4px rgba(252, 97, 97, 0.7), 0 1px 2px 0 rgba(0, 0, 0, 0); +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #eee500; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #eee500; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-dark/yellow/theme.scss b/public/theme/theme-dark/yellow/theme.scss new file mode 100644 index 0000000..8101877 --- /dev/null +++ b/public/theme/theme-dark/yellow/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #eee500; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #0a061a; +$primary500: #eee500 !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/_extensions.scss b/public/theme/theme-light/_extensions.scss new file mode 100644 index 0000000..e62aa5a --- /dev/null +++ b/public/theme/theme-light/_extensions.scss @@ -0,0 +1,100 @@ +@mixin focused-ring($ring-color) { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px $ring-color, 0 1px 2px 0 rgba(0, 0, 0, 1.0); +} + +.p-button-label { + font-weight: 500; +} + +.p-accordion { + .p-accordion-header { + .p-accordion-header-link { + transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; + } + } +} + +.p-tabview { + .p-tabview-nav { + li { + .p-tabview-nav-link { + transition: background-color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration; + } + } + + .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: $primaryColor; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); + } + } +} + +.p-carousel { + .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: $primaryColor; + } +} + +.p-galleria { + .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: $primaryColor; + } +} + +.p-button { + &:focus { + @include focused-ring(scale-color($buttonBg, $lightness: 50%)); + } + + &.p-button-secondary:enabled:focus { + @include focused-ring(scale-color($secondaryButtonBg, $lightness: 50%)); + } + + &.p-button-success:enabled:focus { + @include focused-ring(scale-color($successButtonBg, $lightness: 50%)); + } + + &.p-button-info:enabled:focus { + @include focused-ring(scale-color($infoButtonBg, $lightness: 50%)); + } + + &.p-button-warning:enabled:focus { + @include focused-ring(scale-color($warningButtonBg, $lightness: 50%)); + } + + &.p-button-help:enabled:focus { + @include focused-ring(scale-color($helpButtonBg, $lightness: 50%)); + } + + &.p-button-danger:enabled:focus { + @include focused-ring(scale-color($dangerButtonBg, $lightness: 50%)); + } +} + +.p-datatable { + .p-datatable-tbody { + > tr { + &.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 $primaryColor; + } + + &.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 $primaryColor; + } + } + } +} + +.custom-timeline{ + &.p-timeline { + &.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; + } + } +} \ No newline at end of file diff --git a/public/theme/theme-light/_variables.scss b/public/theme/theme-light/_variables.scss new file mode 100644 index 0000000..8947720 --- /dev/null +++ b/public/theme/theme-light/_variables.scss @@ -0,0 +1,965 @@ +$colors: ( + 'blue': #2196f3, + 'green': #4caf50, + 'yellow': #fbc02d, + 'cyan': #00bcd4, + 'pink': #e91e63, + 'indigo': #3f51b5, + 'teal': #009688, + 'orange': #f57c00, + 'bluegray': #607d8b, + 'purple': #9c27b0, + 'primary': $primaryColor, + 'red': #ff3d32, +); + +//reused color variables +$shade000: transparent !default; //surface +$shade100: rgba(68, 72, 109, 0.07) !default; //Alpha - 01 +$shade200: rgba(68, 72, 109, 0.12) !default; //Alpha - 02 +$shade300: rgba(68, 72, 109, 0.17) !default; //Alpha - 03 +$shade400: rgba(255, 255, 255, 0.9) !default; //CardBg +$shade500: #8a8ea6 !default; //text third color +$shade600: #676b89 !default; //text secondary color +$shade700: #44486d !default; //text color + +$solidSurfaceColor: #ececf9 !default; + +//global +$fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !default; +$fontSize: 1rem !default; +$fontWeight: normal !default; +$textColor: $shade700 !default; +$textSecondaryColor: $shade600 !default; +$borderRadius: 6px !default; +$transitionDuration: 0.2s !default; +$formElementTransition: background-color $transitionDuration, color $transitionDuration, border-color $transitionDuration, box-shadow $transitionDuration !default; +$actionIconTransition: background-color $transitionDuration, color $transitionDuration, box-shadow $transitionDuration !default; +$listItemTransition: box-shadow $transitionDuration !default; +$primeIconFontSize: 1rem !default; +$divider: 1px solid $shade300 !default; +$inlineSpacing: 0.5rem !default; +$disabledOpacity: 0.6 !default; +$maskBg: rgba(0, 0, 0, 0.2) !default; +$loadingIconFontSize: 2rem !default; +$errorColor: #fc6161 !default; + +//selected state +$highlightBg: rgba($primaryColor, 0.16); +$highlightTextColor: $textColor; +$highlightFocusBg: rgba($primaryColor, 0.24); + +//scale +$scaleSM: 0.875 !default; +$scaleLG: 1.25 !default; + +//focus +$focusOutlineColor: $primaryColor !default; +$focusOutline: 0 none !default; +$focusOutlineOffset: 0 !default; +$focusShadow: 0 none !default; + +//action icons +$actionIconWidth: 2rem !default; +$actionIconHeight: 2rem !default; +$actionIconBg: transparent !default; +$actionIconBorder: 0 none !default; +$actionIconColor: $shade600 !default; +$actionIconHoverBg: $shade100 !default; +$actionIconHoverBorderColor: transparent !default; +$actionIconHoverColor: $shade700 !default; +$actionIconBorderRadius: 50% !default; + +//input field (e.g. inputtext, spinner, inputmask) +$inputPadding: 0.429rem 0.571rem !default; +$inputTextFontSize: 1rem !default; +$inputBg: $shade100 !default; +$inputTextColor: $shade700 !default; +$inputIconColor: $shade600 !default; +$inputBorder: 1px solid transparent !default; +$inputHoverBorderColor: transparent !default; +$inputFocusBorderColor: $primaryColor !default; +$inputErrorBorderColor: $errorColor !default; +$inputPlaceholderTextColor: $shade500 !default; +$inputFilledBg: $shade000 !default; +$inputFilledHoverBg: $inputFilledBg !default; +$inputFilledFocusBg: $shade100 !default; + +//input groups +$inputGroupBg: $shade100 !default; +$inputGroupTextColor: $shade600 !default; +$inputGroupAddOnMinWidth: 2.357rem !default; + +//input lists (e.g. dropdown, autocomplete, multiselect, orderlist) +$inputListBg: $shade100 !default; +$inputListTextColor: $shade700 !default; +$inputListBorder: $inputBorder !default; +$inputListPadding: 0.286rem !default; +$inputListItemPadding: 0.429rem 0.286rem !default; +$inputListItemBg: transparent !default; +$inputListItemTextColor: $shade700 !default; +$inputListItemHoverBg: $shade100 !default; +$inputListItemTextHoverColor: $shade700 !default; +$inputListItemFocusBg: $shade300 !default; +$inputListItemTextFocusColor: $shade700 !default; +$inputListItemBorder: 0 none !default; +$inputListItemBorderRadius: 4px !default; +$inputListItemMargin: 0 !default; +$inputListItemFocusShadow: 0 none !default; +$inputListHeaderPadding: 0.429rem 0.286rem !default; +$inputListHeaderMargin: 0 !default; +$inputListHeaderBg: $shade000 !default; +$inputListHeaderTextColor: $shade700 !default; +$inputListHeaderBorder: 0 none !default; + +//inputs with overlays (e.g. autocomplete, dropdown, multiselect) +$inputOverlayBg: $solidSurfaceColor !default; +$inputOverlayHeaderBg: $inputListHeaderBg !default; +$inputOverlayBorder: 0 none !default; +$inputOverlayShadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12) !default; + +//password +$passwordPanelBg: $solidSurfaceColor !default; +$passwordMeterBg: $shade200 !default; +$passwordWeakBg: #d32f2f !default; +$passwordMediumBg: #fbc02d !default; +$passwordStrongBg: #689f38 !default; + +//button +$buttonPadding: 0.429rem 0.571rem !default; +$buttonIconOnlyWidth: 2.286rem !default; +$buttonIconOnlyPadding: 0.429rem 0 !default; +$buttonBg: $primaryColor !default; +$buttonTextColor: $primaryTextColor !default; +$buttonBorder: 1px solid $primaryColor !default; +$buttonHoverBg: $primaryDarkColor !default; +$buttonTextHoverColor: $primaryTextColor !default; +$buttonHoverBorderColor: $primaryDarkColor !default; +$buttonActiveBg: $primaryDarkerColor !default; +$buttonTextActiveColor: $primaryTextColor !default; +$buttonActiveBorderColor: $primaryDarkerColor !default; +$buttonShadow: 0px 0px 10px rgba($primaryColor, 0.25); + +$selectbuttonShadow: none !default; +$raisedButtonShadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12) !default; +$roundedButtonBorderRadius: 2rem !default; + +$textButtonHoverBgOpacity: 0.04 !default; +$textButtonActiveBgOpacity: 0.16 !default; +$outlinedButtonBorder: 1px solid !default; +$plainButtonTextColor: $textSecondaryColor !default; +$plainButtonHoverBgColor: $shade100 !default; +$plainButtonActiveBgColor: $shade300 !default; + +$secondaryButtonBg: $shade100 !default; +$secondaryButtonTextColor: #44486d !default; +$secondaryButtonBorder: 1px solid transparent !default; +$secondaryButtonHoverBg: $shade200 !default; +$secondaryButtonTextHoverColor: $secondaryButtonTextColor !default; +$secondaryButtonHoverBorderColor: transparent !default; +$secondaryButtonActiveBg: $shade300 !default; +$secondaryButtonTextActiveColor: $secondaryButtonTextColor !default; +$secondaryButtonActiveBorderColor: transparent !default; +$secondaryButtonShadow: none !default; +$secondaryButtonFocusShadow: none !default; + +$infoButtonBg: #873efe !default; +$infoButtonTextColor: #ffffff !default; +$infoButtonBorder: 1px solid transparent !default; +$infoButtonHoverBg: #6c1af2 !default; +$infoButtonTextHoverColor: $infoButtonTextColor !default; +$infoButtonHoverBorderColor: transparent !default; +$infoButtonActiveBg: #5310c1 !default; +$infoButtonTextActiveColor: $infoButtonTextColor !default; +$infoButtonActiveBorderColor: transparent !default; +$infoButtonShadow: 0px 0px 10px rgba(135, 62, 254, 0.25) !default; +$infoButtonFocusShadow: none !default; + +$successButtonBg: #0bd18a !default; +$successButtonTextColor: #ffffff !default; +$successButtonBorder: 1px solid transparent !default; +$successButtonHoverBg: #049b65 !default; +$successButtonTextHoverColor: $successButtonTextColor !default; +$successButtonHoverBorderColor: transparent !default; +$successButtonActiveBg: #017e52 !default; +$successButtonTextActiveColor: $successButtonTextColor !default; +$successButtonActiveBorderColor: transparent !default; +$successButtonShadow: 0px 0px 10px rgba(11, 209, 138, 0.25) !default; +$successButtonFocusShadow: none !default; + +$warningButtonBg: #eee500 !default; +$warningButtonTextColor: #44486d !default; +$warningButtonBorder: 1px solid transparent !default; +$warningButtonHoverBg: #d1c901 !default; +$warningButtonTextHoverColor: $warningButtonTextColor !default; +$warningButtonHoverBorderColor: transparent !default; +$warningButtonActiveBg: #bab302 !default; +$warningButtonTextActiveColor: $warningButtonTextColor !default; +$warningButtonActiveBorderColor: transparent !default; +$warningButtonShadow: 0px 0px 10px rgba(238, 229, 0, 0.25) !default; +$warningButtonFocusShadow: none !default; + +$helpButtonBg: #ec4dbc !default; +$helpButtonTextColor: #ffffff !default; +$helpButtonBorder: 1px solid transparent !default; +$helpButtonHoverBg: #e80ea6 !default; +$helpButtonTextHoverColor: $helpButtonTextColor !default; +$helpButtonHoverBorderColor: transparent !default; +$helpButtonActiveBg: #b30c81 !default; +$helpButtonTextActiveColor: $helpButtonTextColor !default; +$helpButtonActiveBorderColor: transparent !default; +$helpButtonShadow: 0px 0px 10px rgba(236, 77, 188, 0.25) !default; +$helpButtonFocusShadow: none !default; + +$dangerButtonBg: #fc6161 !default; +$dangerButtonTextColor: #ffffff !default; +$dangerButtonBorder: 1px solid transparent !default; +$dangerButtonHoverBg: #e73a3a !default; +$dangerButtonTextHoverColor: $dangerButtonTextColor !default; +$dangerButtonHoverBorderColor: transparent !default; +$dangerButtonActiveBg: #c42424 !default; +$dangerButtonTextActiveColor: $dangerButtonTextColor !default; +$dangerButtonActiveBorderColor: transparent !default; +$dangerButtonShadow: 0px 0px 10px rgba(252, 97, 97, 0.25) !default; +$dangerButtonFocusShadow: none !default; + +$linkButtonColor: $primaryColor !default; +$linkButtonHoverColor: $primaryColor !default; +$linkButtonTextHoverDecoration: underline !default; +$linkButtonFocusShadow: none !default; + +//checkbox +$checkboxWidth: 20px !default; +$checkboxHeight: 20px !default; +$checkboxBorder: 2px solid #8a8ea6 !default; +$checkboxIconFontSize: 14px !default; +$checkboxHoverBorderColor: #676b89 !default; +$checkboxActiveBorderColor: $primaryColor !default; +$checkboxActiveBg: $primaryColor !default; +$checkboxIconActiveColor: $primaryTextColor !default; +$checkboxActiveHoverBg: $primaryDarkerColor !default; +$checkboxIconActiveHoverColor: $primaryTextColor !default; +$checkboxActiveHoverBorderColor: $primaryDarkerColor !default; + +//radiobutton +$radiobuttonWidth: 20px !default; +$radiobuttonHeight: 20px !default; +$radiobuttonBorder: 2px solid #8a8ea6 !default; +$radiobuttonIconSize: 12px !default; +$radiobuttonHoverBorderColor: #676b89 !default; +$radiobuttonActiveBorderColor: $primaryColor !default; +$radiobuttonActiveBg: $primaryColor !default; +$radiobuttonIconActiveColor: $primaryTextColor !default; +$radiobuttonActiveHoverBg: $primaryDarkerColor !default; +$radiobuttonIconActiveHoverColor: $primaryTextColor !default; +$radiobuttonActiveHoverBorderColor: $primaryDarkerColor !default; + +//colorpicker +$colorPickerPreviewWidth: 2rem !default; +$colorPickerPreviewHeight: 2rem !default; +$colorPickerBg: $shade100 !default; +$colorPickerBorderColor: #191919 !default; +$colorPickerBorder: 1px solid #191919 !default; +$colorPickerHandleColor: #191919 !default; + +//togglebutton +$toggleButtonBg: $inputBg !default; +$toggleButtonBorder: 1px solid transparent !default; +$toggleButtonTextColor: $shade700 !default; +$toggleButtonIconColor: $shade600 !default; +$toggleButtonHoverBg: $shade200 !default; +$toggleButtonHoverBorderColor: transparent !default; +$toggleButtonTextHoverColor: $shade700 !default; +$toggleButtonIconHoverColor: $shade600 !default; +$toggleButtonActiveBg: $primaryColor !default; +$toggleButtonActiveBorderColor: $primaryColor !default; +$toggleButtonTextActiveColor: $primaryTextColor !default; +$toggleButtonIconActiveColor: $primaryTextColor !default; +$toggleButtonActiveHoverBg: $primaryDarkColor !default; +$toggleButtonActiveHoverBorderColor: $primaryDarkColor !default; +$toggleButtonTextActiveHoverColor: $primaryTextColor !default; +$toggleButtonIconActiveHoverColor: $primaryTextColor !default; + +//inplace +$inplacePadding: $inputPadding !default; +$inplaceHoverBg: $shade100 !default; +$inplaceTextHoverColor: $shade700 !default; + +//rating +$ratingIconFontSize: 1.286rem !default; +$ratingCancelIconColor: #fc6161 !default; +$ratingCancelIconHoverColor: #fc6161 !default; +$ratingStarIconOffColor: $shade700 !default; +$ratingStarIconOnColor: $primaryColor !default; +$ratingStarIconHoverColor: $primaryColor !default; + +//slider +$sliderBg: $shade200 !default; +$sliderBorder: 0 none !default; +$sliderHorizontalHeight: 0.429rem !default; +$sliderVerticalWidth: 0.429rem !default; +$sliderHandleWidth: 1.143rem !default; +$sliderHandleHeight: 1.143rem !default; +$sliderHandleBg: #ffffff !default; +$sliderHandleBorder: 4px solid $primaryColor !default; +$sliderHandleBorderRadius: 50% !default; +$sliderHandleHoverBorderColor: $primaryColor !default; +$sliderHandleHoverBg: $primaryColor !default; +$sliderRangeBg: $primaryColor !default; + +//calendar +$calendarTableMargin: 0.5rem 0 !default; +$calendarPadding: 0.857rem !default; +$calendarBg: $solidSurfaceColor !default; +$calendarInlineBg: transparent !default; +$calendarTextColor: $shade700 !default; +$calendarBorder: $inputListBorder !default; +$calendarOverlayBorder: $inputOverlayBorder !default; + +$calendarHeaderPadding: 0 0 0.75rem 0 !default; +$calendarHeaderBg: transparent !default; +$calendarInlineHeaderBg: $calendarInlineBg !default; +$calendarHeaderBorder: 0 none !default; +$calendarHeaderTextColor: $shade700 !default; +$calendarHeaderFontWeight: 400 !default; +$calendarHeaderCellPadding: 0.357rem !default; +$calendarHeaderCellFontWeight: 500 !default; +$calendarHeaderCellFontSize: 12px !default; +$calendarHeaderCellTextColor: $shade500 !default; +$calendarMonthYearHeaderHoverTextColor: $primaryColor !default; + +$calendarCellDateBg: $shade100 !default; +$calendarCellDatePadding: 0.357rem !default; +$calendarCellDateWidth: 2.571rem !default; +$calendarCellDateHeight: 2.571rem !default; +$calendarCellDateBorderRadius: $borderRadius !default; +$calendarCellDateBorder: 2px solid transparent !default; +$calendarCellDateHoverBg: $shade200 !default; +$calendarCellDateTodayBg: $shade100 !default; +$calendarCellDateTodayBorderColor: $shade200 !default; +$calendarCellDateTodayTextColor: $shade700 !default; + +$calendarButtonBarPadding: 1rem 0 !default; +$calendarTimePickerPadding: 0.5rem !default; +$calendarTimePickerElementPadding: 0 0.5rem !default; +$calendarTimePickerTimeFontSize: 1.25rem !default; + +$calendarBreakpoint: 769px !default; +$calendarCellDatePaddingSM: 0 !default; + +//input switch +$inputSwitchWidth: 2.714rem !default; +$inputSwitchHeight: 1.429rem !default; +$inputSwitchBorderRadius: 12px !default; +$inputSwitchHandleWidth: 1.143rem !default; +$inputSwitchHandleHeight: 1.143rem !default; +$inputSwitchHandleBorderRadius: 8px !default; +$inputSwitchSliderPadding: 0.25rem !default; +$inputSwitchSliderOffBg: $shade100 !default; +$inputSwitchHandleOffBg: $shade600 !default; +$inputSwitchSliderOffHoverBg: $shade200 !default; +$inputSwitchSliderOnBg: $primaryColor !default; +$inputSwitchSliderOnHoverBg: $primaryDarkColor !default; +$inputSwitchHandleOnBg: #ffffff !default; + +//panel +$panelHeaderBorderColor: $shade300 !default; +$panelHeaderBorder: 1px solid $shade300 !default; +$panelHeaderBg: transparent !default; +$panelHeaderTextColor: $shade700 !default; +$panelHeaderFontWeight: 500 !default; +$panelHeaderPadding: 0.714rem 1.143rem !default; +$panelToggleableHeaderPadding: 0.429rem 0.571rem !default; + +$panelHeaderHoverBg: $shade100 !default; +$panelHeaderHoverBorderColor: $shade300 !default; +$panelHeaderTextHoverColor: $shade700 !default; + +$panelContentBorderColor: $shade300 !default; +$panelContentBorder: 1px solid $shade300 !default; +$panelContentBg: transparent !default; +$panelContentEvenRowBg: scale-color($panelContentBg, $lightness: -1%) !default; +$panelContentTextColor: $shade700 !default; +$panelContentPadding: 1.143rem !default; + +$panelFooterBorder: 1px solid $shade300 !default; +$panelFooterBg: transparent !default; +$panelFooterTextColor: $shade700 !default; +$panelFooterPadding: 0.714rem 1.143rem !default; + +$fieldsetContentPadding: 0.429rem !default; + +//accordion +$accordionSpacing: 0 !default; +$accordionHeaderBorder: $panelHeaderBorder !default; +$accordionHeaderBg: $panelHeaderBg !default; +$accordionHeaderTextColor: $panelHeaderTextColor !default; +$accordionHeaderFontWeight: $panelHeaderFontWeight !default; +$accordionHeaderPadding: $panelHeaderPadding !default; + +$accordionHeaderHoverBg: $shade100 !default; +$accordionHeaderHoverBorderColor: $shade300 !default; +$accordionHeaderTextHoverColor: $shade700 !default; + +$accordionHeaderActiveBg: $shade200 !default; +$accordionHeaderActiveBorderColor: $shade300 !default; +$accordionHeaderTextActiveColor: $shade700 !default; + +$accordionHeaderActiveHoverBg: $shade200 !default; +$accordionHeaderActiveHoverBorderColor: $shade300 !default; +$accordionHeaderTextActiveHoverColor: $shade700 !default; + +$accordionContentBorder: $panelContentBorder !default; +$accordionContentBg: $panelContentBg !default; +$accordionContentTextColor: $panelContentTextColor !default; +$accordionContentPadding: $panelContentPadding !default; + +//tabview +$tabviewNavBorder: 1px solid $shade300 !default; +$tabviewNavBorderWidth: 0 0 2px 0 !default; +$tabviewNavBg: transparent !default; + +$tabviewHeaderSpacing: 0.857rem !default; +$tabviewHeaderBorder: solid transparent !default; +$tabviewHeaderBorderWidth: 0 0 2px 0 !default; +$tabviewHeaderBorderColor: transparent transparent transparent transparent !default; +$tabviewHeaderBg: transparent !default; +$tabviewHeaderTextColor: $shade500 !default; +$tabviewHeaderFontWeight: $panelHeaderFontWeight !default; +$tabviewHeaderPadding: 0.571rem 0.429rem !default; +$tabviewHeaderMargin: 0 0 -2px 0 !default; + +$tabviewHeaderHoverBg: transparent !default; +$tabviewHeaderHoverBorderColor: $shade700 !default; +$tabviewHeaderTextHoverColor: $shade700 !default; + +$tabviewHeaderActiveBg: transparent !default; +$tabviewHeaderActiveBorderColor: $primaryColor !default; +$tabviewHeaderTextActiveColor: $primaryColor !default; + +$tabviewContentBorder: 0 none !default; +$tabviewContentBg: transparent !default; +$tabviewContentTextColor: $panelContentTextColor !default; +$tabviewContentPadding: 1.143rem 0 !default; + +//upload +$fileUploadProgressBarHeight: 0.25rem !default; +$fileUploadContentPadding: 2rem 1rem !default; +$fileUploadFileBorder: 1px solid $shade300 !default; +$fileUploadFilePadding: 1rem !default; + +//scrollpanel +$scrollPanelTrackBorder: 0 none !default; +$scrollPanelTrackBg: $shade000 !default; + +//card +$cardBodyPadding: 0.857rem 1.143rem !default; +$cardTitleFontSize: 1.143rem !default; +$cardTitleFontWeight: 500 !default; +$cardSubTitleFontSize: 12px !default; +$cardSubTitleFontWeight: 500 !default; +$cardSubTitleColor: $shade500 !default; +$cardContentPadding: 1rem 0 !default; +$cardFooterPadding: 1rem 0 0 0 !default; +$cardShadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12) !default; + +//editor +$editorToolbarBg: $panelHeaderBg !default; +$editorToolbarBorder: $panelHeaderBorder !default; +$editorToolbarPadding: $panelHeaderPadding !default; +$editorToolbarIconColor: $textSecondaryColor !default; +$editorToolbarIconHoverColor: $textColor !default; +$editorIconActiveColor: $primaryColor !default; +$editorContentBorder: $panelContentBorder !default; +$editorContentBg: $panelContentBg !default; + +//paginator +$paginatorBg: transparent !default; +$paginatorTextColor: $shade700 !default; +$paginatorBorder: solid $shade300 !default; +$paginatorBorderWidth: 0 !default; +$paginatorPadding: 0.571rem 0.571rem !default; +$paginatorElementWidth: 1.429rem !default; +$paginatorElementHeight: 1.429rem !default; +$paginatorElementBg: transparent !default; +$paginatorElementBorder: 0 none !default; +$paginatorElementIconColor: $shade700 !default; +$paginatorElementHoverBg: $shade100 !default; +$paginatorElementHoverBorderColor: transparent !default; +$paginatorElementIconHoverColor: $shade700 !default; +$paginatorElementActiveBg: $shade200 !default; +$paginatorElementActiveBorderColor: transparent !default; +$paginatorElementIconActiveColor: $shade700 !default; +$paginatorElementBorderRadius: 4px !default; +$paginatorElementMargin: 0.143rem !default; +$paginatorElementPadding: 0 !default; + +//table +$tableHeaderBorder: 1px solid $shade300 !default; +$tableHeaderBorderWidth: 1px 0 1px 0 !default; +$tableHeaderBg: transparent !default; +$tableHeaderTextColor: $shade500 !default; +$tableHeaderFontWeight: 500 !default; +$tableHeaderPadding: 0.571rem 0.571rem !default; + +$tableHeaderCellPadding: 0.571rem 0.571rem !default; +$tableHeaderCellBg: transparent !default; +$tableHeaderCellTextColor: $shade500 !default; +$tableHeaderCellFontWeight: 500 !default; +$tableHeaderCellBorder: 1px solid $shade300 !default; +$tableHeaderCellBorderWidth: 0 0 1px 0 !default; +$tableHeaderCellHoverBg: $shade100 !default; +$tableHeaderCellTextHoverColor: $shade500 !default; +$tableHeaderCellIconColor: $shade500 !default; +$tableHeaderCellIconHoverColor: $shade500 !default; +$tableHeaderCellHighlightBg: $shade200 !default; +$tableHeaderCellHighlightTextColor: $shade500 !default; +$tableHeaderCellHighlightHoverBg: $shade200 !default; +$tableHeaderCellHighlightTextHoverColor: $shade500 !default; +$tableSortableColumnBadgeSize: 1.143rem !default; + +$tableBodyRowBg: transparent !default; +$tableBodyRowTextColor: $shade700 !default; +$tableBodyRowEvenBg: transparent !default; +$tableBodyRowHoverBg: $shade100 !default; +$tableBodyRowTextHoverColor: $shade700 !default; +$tableBodyRowHighlightBg: linear-gradient(0deg, rgba($highlightBg, 0.1), rgba($highlightBg, 0.1)), #ffffff; +$tableBodyRowHighlightTextColor: $shade700; +$tableBodyCellBorder: 1px solid $shade300 !default; +$tableBodyCellBorderWidth: 0 0 0 0 !default; +$tableBodyCellPadding: 0.429rem 0.571rem !default; + +$tableFooterCellPadding: 0.571rem 0.571rem !default; +$tableFooterCellBg: transparent !default; +$tableFooterCellTextColor: $shade500 !default; +$tableFooterCellFontWeight: 500 !default; +$tableFooterCellBorder: 1px solid $shade300 !default; +$tableFooterCellBorderWidth: 0 0 1px 0 !default; +$tableResizerHelperBg: $primaryColor !default; + +$tableFooterBorder: 1px solid $shade300 !default; +$tableFooterBorderWidth: 0 0 1px 0 !default; +$tableFooterBg: transparent !default; +$tableFooterTextColor: $shade500 !default; +$tableFooterFontWeight: 500 !default; +$tableFooterPadding: 1rem 1rem !default; +$tableDragHelperBg: rgba($primaryColor, .16) !default; + + +$tableCellContentAlignment: left !default; +$tableTopPaginatorBorderWidth: 1px 0 1px 0 !default; +$tableBottomPaginatorBorderWidth: 1px 0 1px 0 !default; + +$tableScaleSM: 0.5 !default; +$tableScaleLG: 1.25 !default; + +//dataview +$dataViewContentPadding: 0 !default; +$dataViewContentBorder: 0 none !default; +$dataViewListItemBorder: solid $shade100 !default; +$dataViewListItemBorderWidth: 0 0 0 0 !default; + +//orderlist +$orderlistBg: $shade400 !default; +$orderlistShadow: 0px 9px 30px rgba(68, 72, 109, 0.06) !default; +$orderlistBorderRadius: 8px !default; +$orderlistBorder: 0 none !default; +$orderlistBorderWidth: 0 0 0 0 !default; +$orderlistHeaderPadding: 1.143rem !default; +$orderlistListPadding: 0.571rem !default; +$orderlistListItemPadding: 0.714rem 0.571rem !default; +$orderlistListItemBorder: 1px solid transparent !default; +$orderlistListItemActiveBg: linear-gradient(0deg, rgba($highlightBg, 0.1), rgba($highlightBg, 0.1)), #ffffff !default; +$orderlistListItemActiveBorderColor: $highlightBg !default; + +//picklist +$picklistBg: $shade400 !default; +$picklistShadow: 0px 9px 30px rgba(68, 72, 109, 0.06) !default; +$picklistBorderRadius: 8px !default; +$picklistBorder: 0 none !default; +$picklistBorderWidth: 0 0 0 0 !default; +$picklistHeaderPadding: 1.143rem !default; +$picklistListPadding: 0.571rem !default; +$picklistListItemPadding: 0.714rem 0.571rem !default; +$picklistListItemBorder: 1px solid transparent !default; +$picklistListItemActiveBg: linear-gradient(0deg, rgba($highlightBg, 0.1), rgba($highlightBg, 0.1)), #ffffff !default; +$picklistListItemActiveBorderColor: $highlightBg !default; + +//schedule +$fullCalendarEventBg: $primaryDarkColor !default; +$fullCalendarEventBorderColor: $primaryDarkColor !default; +$fullCalendarEventBorder: 1px solid $primaryDarkColor !default; +$fullCalendarEventTextColor: $primaryTextColor !default; + +//tree +$treeContainerPadding: 0.286rem !default; +$treeNodePadding: 0.143rem !default; +$treeNodeContentPadding: 0.429rem 0.571rem !default; +$treeNodeChildrenPadding: 0 0 0 1rem !default; +$treeNodeIconColor: $shade700 !default; + +//timeline +$timelineVerticalEventContentPadding: 0 1rem !default; +$timelineHorizontalEventContentPadding: 1rem 0 !default; +$timelineEventMarkerWidth: 1rem !default; +$timelineEventMarkerHeight: 1rem !default; +$timelineEventMarkerBorderRadius: 50% !default; +$timelineEventMarkerBorder: 2px solid $primaryColor !default; +$timelineEventMarkerBackground: $shade100 !default; +$timelineEventConnectorSize: 2px !default; +$timelineEventColor: $shade300 !default; + +//org chart +$organizationChartConnectorColor: $shade300 !default; + +//message +$messageMargin: 1rem 0 !default; +$messagePadding: 1.143rem 1.357rem !default; +$messageBorderWidth: 0 0 0 20px !default; +$messageIconFontSize: 1.286rem !default; +$messageTextFontSize: 1rem !default; +$messageTextFontWeight: 400 !default; + +//inline message +$inlineMessagePadding: $inputPadding !default; +$inlineMessageMargin: 0 !default; +$inlineMessageIconFontSize: 1.286rem !default; +$inlineMessageTextFontSize: 1rem !default; +$inlineMessageBorderWidth: 0 0 0 20px !default; + +//toast +$toastIconFontSize: 1.286rem !default; +$toastMessageTextMargin: 0 0 0 1rem !default; +$toastMargin: 0 0 1rem 0 !default; +$toastPadding: 1.143rem 1.357rem !default; +$toastBorderWidth: 0 0 0 20px !default; +$toastShadow: none !default; +$toastOpacity: 0.9 !default; +$toastTitleFontWeight: 400 !default; +$toastDetailMargin: $inlineSpacing 0 0 0 !default; + +//severities +$infoMessageBg: $shade100 !default; +$infoMessageBorder: solid #873efe !default; +$infoMessageTextColor: $shade700 !default; +$infoMessageIconColor: $shade700 !default; +$successMessageBg: $shade100 !default; +$successMessageBorder: solid #0bd18a !default; +$successMessageTextColor: $shade700 !default; +$successMessageIconColor: $shade700 !default; +$warningMessageBg: $shade100 !default; +$warningMessageBorder: solid #eee500 !default; +$warningMessageTextColor: $shade700 !default; +$warningMessageIconColor: $shade700 !default; +$errorMessageBg: $shade100 !default; +$errorMessageBorder: solid #fc6161 !default; +$errorMessageTextColor: $shade700 !default; +$errorMessageIconColor: $shade700 !default; + +//overlays +$overlayContentBorder: 0 none !default; +$overlayContentBg: $solidSurfaceColor !default; +$overlayContainerShadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1) !default; + +//dialog +$dialogBorderRadius: 20px; +$dialogHeaderBg: $solidSurfaceColor !default; +$dialogHeaderBorder: 0 none !default; +$dialogHeaderTextColor: $shade700 !default; +$dialogHeaderFontWeight: 500 !default; +$dialogHeaderFontSize: 1.143rem !default; +$dialogHeaderPadding: 1.286rem 1.714rem !default; +$dialogContentPadding: 0 1.714rem 1.714rem 1.714rem !default; +$dialogFooterBorder: 0 none !default; +$dialogFooterPadding: 0 1.714rem 1.714rem 1.714rem !default; + +//confirmpopup +$confirmPopupContentPadding: $panelContentPadding !default; +$confirmPopupFooterPadding: 0 1.25rem 1.25rem 1.25rem !default; + +//tooltip +$tooltipBg: $solidSurfaceColor !default; +$tooltipTextColor: $shade700 !default; +$tooltipPadding: $inputPadding !default; + +//steps +$stepsItemBg: transparent !default; +$stepsItemBorder: 0 none !default; +$stepsItemTextColor: $shade500 !default; +$stepsItemNumberBg: $shade200 !default; +$stepsItemNumberWidth: 1.714rem !default; +$stepsItemNumberHeight: 1.714rem !default; +$stepsItemNumberFontSize: 1.143rem !default; +$stepsItemNumberColor: $shade500 !default; +$stepsItemNumberBorderRadius: 12px !default; +$stepsItemActiveFontWeight: 400 !default; +$stepsItemHoverBg: $shade300 !default; +$stepsItemHoverTextColor: $shade700 !default; +$stepsItemActiveFontWeight: 400 !default; +$stepsItemActiveBg: $highlightBg !default; +$stepsItemNumberActiveTextColor: $highlightTextColor !default; +$stepsItemActiveTextColor: $shade700 !default; +$stepsItemActiveShadow: 0px 0px 10px rgba($highlightBg, 0.25) !default; + +//progressbar +$progressBarHeight: 0.571rem !default; +$progressBarBorder: 0 none !default; +$progressBarBg: $shade200 !default; +$progressBarValueBg: $primaryColor !default; +$progressBarValueTextColor: $primaryTextColor !default; + +$progressSpinnerStrokeColor: $errorMessageTextColor !default; +$progressSpinnerColorOne: $errorMessageTextColor !default; +$progressSpinnerColorTwo: $infoMessageTextColor !default; +$progressSpinnerColorThree: $successMessageTextColor !default; +$progressSpinnerColorFour: $warningMessageTextColor !default; + +//menu (e.g. menu, menubar, tieredmenu) +$menuWidth: 12.5rem !default; +$menuBg: transparent !default; +$menuBorder: 1px solid $shade300 !default; +$menuTextColor: $shade600 !default; +$menuitemPadding: 0.571rem 0.429rem !default; +$menuitemBorderRadius: $borderRadius !default; +$menuitemBorder: 1px solid transparent !default; +$menuitemTextColor: $shade600 !default; +$menuitemIconColor: $shade600 !default; +$menuitemTextHoverColor: $shade700 !default; +$menuitemIconHoverColor: $shade700 !default; +$menuitemHoverBg: $shade100 !default; +$menuitemTextFocusColor: $shade700 !default; +$menuitemIconFocusColor: $shade700 !default; +$menuitemFocusBg: $shade300 !default; +$menuitemFocusBorderColor: $shade500 !default; +$menuitemTextActiveColor: $shade700 !default; +$menuitemIconActiveColor: $shade700 !default; +$menuitemActiveBg: $shade100 !default; +$menuitemActiveFocusBg: $highlightFocusBg !default; +$menuitemSubmenuIconFontSize: 0.875rem !default; +$submenuHeaderMargin: 0 !default; +$submenuHeaderPadding: 0.571rem 0.429rem !default; +$submenuHeaderBg: transparent !default; +$submenuHeaderTextColor: $shade500 !default; +$submenuHeaderBorderRadius: $borderRadius !default; +$submenuHeaderFontWeight: 500 !default; +$submenuHeaderFontSize: 0.857rem !default; +$overlayMenuBg: $solidSurfaceColor !default; +$overlayMenuBorder: 1px solid transparent !default; +$overlayMenuShadow: 0px 9px 30px rgba(68, 72, 109, 0.06) !default; +$verticalMenuPadding: 0.429rem !default; +$verticalMenuitemMargin: 0 !default; +$menuSeparatorMargin: 0.25rem 0 !default; + +$panelmenuHeaderTextColor: $shade500; + +$breadcrumbPadding: 0.857rem !default; +$breadcrumbBg: $menuBg !default; +$breadcrumbBorder: $menuBorder !default; +$breadcrumbItemTextColor: $menuitemTextColor !default; +$breadcrumbItemIconColor: $menuitemIconColor !default; +$breadcrumbLastItemTextColor: $menuitemTextColor !default; +$breadcrumbLastItemIconColor: $menuitemIconColor !default; +$breadcrumbSeparatorColor: $menuitemTextColor !default; + +$horizontalMenuPadding: 0.857rem !default; +$horizontalMenuBg: $menuBg !default; +$horizontalMenuBorder: $menuBorder !default; +$horizontalMenuTextColor: $menuTextColor !default; +$horizontalMenuRootMenuitemPadding: $menuitemPadding !default; +$horizontalMenuRootMenuitemBorderRadius: $borderRadius !default; +$horizontalMenuRootMenuitemTextColor: $menuitemTextColor !default; +$horizontalMenuRootMenuitemIconColor: $menuitemIconColor !default; +$horizontalMenuRootMenuitemTextHoverColor: $menuitemTextHoverColor !default; +$horizontalMenuRootMenuitemIconHoverColor: $menuitemIconHoverColor !default; +$horizontalMenuRootMenuitemHoverBg: $menuitemHoverBg !default; +$horizontalMenuRootMenuitemTextActiveColor: $menuitemTextActiveColor !default; +$horizontalMenuRootMenuitemIconActiveColor: $menuitemIconActiveColor !default; +$horizontalMenuRootMenuitemActiveBg: $menuitemActiveBg !default; + +//badge and tag +$badgeBg: $primaryColor !default; +$badgeTextColor: $primaryTextColor !default; +$badgeMinWidth: 1.429rem !default; +$badgeHeight: 1.429rem !default; +$badgeFontWeight: 500 !default; +$badgeFontSize: 1rem !default; + +$tagPadding: 0 0.429rem !default; + +//carousel +$carouselIndicatorsPadding: 1rem !default; +$carouselIndicatorBg: $shade200 !default; +$carouselIndicatorHoverBg: rgba(68, 72, 109, 0.15) !default; +$carouselIndicatorBorderRadius: 3px !default; +$carouselIndicatorWidth: 1.429rem !default; +$carouselIndicatorHeight: 0.572rem !default; +$carouselIndicatorActiveBg: $shade600 !default; +$carouselIndicatorActiveTextColor: $shade700 !default; + +//galleria +$galleriaMaskBg: rgba(0, 0, 0, 0.9) !default; +$galleriaCloseIconMargin: 0.5rem !default; +$galleriaCloseIconFontSize: 2rem !default; +$galleriaCloseIconBg: transparent !default; +$galleriaCloseIconColor: $shade700 !default; +$galleriaCloseIconHoverBg: rgba(68, 72, 109, 0.15) !default; +$galleriaCloseIconHoverColor: $shade700 !default; +$galleriaCloseIconWidth: 4rem !default; +$galleriaCloseIconHeight: 4rem !default; +$galleriaCloseIconBorderRadius: 50% !default; + +$galleriaItemNavigatorBg: transparent !default; +$galleriaItemNavigatorColor: $shade700 !default; +$galleriaItemNavigatorMargin: 0 0.5rem !default; +$galleriaItemNavigatorFontSize: 2rem !default; +$galleriaItemNavigatorHoverBg: rgba(68, 72, 109, 0.15) !default; +$galleriaItemNavigatorHoverColor: $shade700 !default; +$galleriaItemNavigatorWidth: 4rem !default; +$galleriaItemNavigatorHeight: 4rem !default; +$galleriaItemNavigatorBorderRadius: $borderRadius !default; + +$galleriaCaptionBg: rgba(0, 0, 0, 0.5) !default; +$galleriaCaptionTextColor: $shade000 !default; +$galleriaCaptionPadding: 1rem !default; + +$galleriaIndicatorsPadding: 1rem !default; +$galleriaIndicatorBg: $shade200 !default; +$galleriaIndicatorHoverBg: rgba(68, 72, 109, 0.15) !default; +$galleriaIndicatorBorderRadius: 3px !default; +$galleriaIndicatorWidth: 1.429rem !default; +$galleriaIndicatorHeight: 0.286rem !default; +$galleriaIndicatorsBgOnItem: rgba(0, 0, 0, 0.5) !default; +$galleriaIndicatorBgOnItem: $shade600 !default; +$galleriaIndicatorHoverBgOnItem: $shade700 !default; +$galleriaIndicatorActiveBg: $shade500 !default; +$galleriaIndicatorActiveTextColor: $shade600 !default; + +$galleriaThumbnailContainerBg: $solidSurfaceColor !default; +$galleriaThumbnailContainerPadding: 1rem 0.25rem !default; +$galleriaThumbnailNavigatorBg: transparent !default; +$galleriaThumbnailNavigatorColor: $shade700 !default; +$galleriaThumbnailNavigatorHoverBg: rgba(68, 72, 109, 0.15) !default; +$galleriaThumbnailNavigatorHoverColor: $shade700 !default; +$galleriaThumbnailNavigatorBorderRadius: 50% !default; +$galleriaThumbnailNavigatorWidth: 2rem !default; +$galleriaThumbnailNavigatorHeight: 2rem !default; + +//divider +$dividerHorizontalMargin: 1rem 0 !default; +$dividerHorizontalPadding: 0 1rem !default; +$dividerVerticalMargin: 0 1rem !default; +$dividerVerticalPadding: 1rem 0 !default; +$dividerSize: 1px !default; +$dividerColor: $shade300 !default; + +//avatar +$avatarBg: $shade300 !default; +$avatarTextColor: $textColor !default; + +//chip +$chipBg: $shade300 !default; +$chipTextColor: $textColor !default; +$chipBorderRadius: 16px !default; +$chipFocusBg: $shade400 !default; +$chipFocusTextColor: $textColor !default; + +//scrollTop +$scrollTopBg: rgba(0, 0, 0, 0.7) !default; +$scrollTopHoverBg: rgba(0, 0, 0, 0.8) !default; +$scrollTopWidth: 3rem !default; +$scrollTopHeight: 3rem !default; +$scrollTopBorderRadius: 50% !default; +$scrollTopFontSize: 1.5rem !default; +$scrollTopTextColor: $shade000 !default; + +//skeleton +$skeletonBg: $shade100 !default; +$skeletonAnimationBg: rgba(255, 255, 255, 0.4) !default; + +//splitter +$splitterGutterBg: $shade300 !default; +$splitterGutterHandleBg: $shade300 !default; + +//speeddial +$speedDialButtonWidth: 4rem !default; +$speedDialButtonHeight: 4rem !default; +$speedDialButtonIconFontSize: 1.3rem !default; +$speedDialActionWidth: 3rem !default; +$speedDialActionHeight: 3rem !default; +$speedDialActionBg: $shade600 !default; +$speedDialActionHoverBg: $shade700 !default; +$speedDialActionTextColor: #fff !default; +$speedDialActionTextHoverColor: #fff !default; + +//dock +$dockActionWidth: 4rem !default; +$dockActionHeight: 4rem !default; +$dockItemPadding: 0.5rem !default; +$dockItemBorderRadius: $borderRadius !default; +$dockCurrentItemMargin: 1.5rem !default; +$dockFirstItemsMargin: 1.3rem !default; +$dockSecondItemsMargin: 0.9rem !default; +$dockBg: rgba(255, 255, 255, 0.1) !default; +$dockBorder: 1px solid rgba(255, 255, 255, 0.2) !default; +$dockPadding: 0.5rem 0.5rem !default; +$dockBorderRadius: 0.5rem !default; + +//image +$imageMaskBg: rgba(0, 0, 0, 0.9) !default; +$imagePreviewToolbarPadding: 1rem !default; +$imagePreviewIndicatorColor: #f8f9fa !default; +$imagePreviewIndicatorBg: rgba(0, 0, 0, 0.5) !default; +$imagePreviewActionIconBg: transparent !default; +$imagePreviewActionIconColor: #f8f9fa !default; +$imagePreviewActionIconHoverBg: rgba(255, 255, 255, 0.1) !default; +$imagePreviewActionIconHoverColor: #f8f9fa !default; +$imagePreviewActionIconWidth: 3rem !default; +$imagePreviewActionIconHeight: 3rem !default; +$imagePreviewActionIconFontSize: 1.5rem !default; +$imagePreviewActionIconBorderRadius: 50% !default; + +:root { + --surface-a: #{$shade000}; + --surface-b: #{$shade100}; + --surface-c: #{$shade200}; + --surface-d: #{$shade300}; + --surface-e: #{$shade000}; + --surface-f: #{$shade000}; + --text-color: #{$shade700}; + --text-color-secondary: #{$shade600}; + --primary-color: #{$primaryColor}; + --primary-color-text: #{$primaryTextColor}; + --font-family: #{$fontFamily}; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: #{$panelContentPadding}; + --inline-spacing: #{$inlineSpacing}; + --border-radius: #{$borderRadius}; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: #{$maskBg}; + --focus-ring: #{$focusShadow}; +} diff --git a/public/theme/theme-light/blue/theme.css b/public/theme/theme-light/blue/theme.css new file mode 100644 index 0000000..7207930 --- /dev/null +++ b/public/theme/theme-light/blue/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #0f8bfd; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f3f9ff; + --primary-100:#c5e3ff; + --primary-200:#98cdfe; + --primary-300:#6ab7fe; + --primary-400:#3da1fd; + --primary-500:#0f8bfd; + --primary-600:#0d76d7; + --primary-700:#0b61b1; + --primary-800:#084c8b; + --primary-900:#063865; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #0f8bfd; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #0f8bfd; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #0f8bfd; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #0f8bfd; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(15, 139, 253, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #0f8bfd; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #0f8bfd; + background: #0f8bfd; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #0270d5; + background: #0270d5; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #0270d5; + background: #0270d5; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #0f8bfd; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #0270d5; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(15, 139, 253, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #0f8bfd; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #027eef; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #0f8bfd; + background: #0f8bfd; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #0270d5; + background: #0270d5; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #0f8bfd; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #0270d5; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #0f8bfd; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #0f8bfd; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #0f8bfd; + border-color: #0f8bfd; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #027eef; + border-color: #027eef; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #0f8bfd; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #0f8bfd; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #0f8bfd; + border-color: #0f8bfd; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0f8bfd; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #0f8bfd; + border-color: #0f8bfd; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #027eef; + border-color: #027eef; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #0f8bfd; + border: 1px solid #0f8bfd; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #027eef; + color: #ffffff; + border-color: #027eef; + } + .p-button:not(:disabled):active { + background: #0270d5; + color: #ffffff; + border-color: #0270d5; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #0f8bfd; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #0f8bfd; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #0f8bfd; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #0f8bfd; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #0f8bfd; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #0f8bfd; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #0f8bfd; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(15, 139, 253, 0.04); + color: #0f8bfd; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(15, 139, 253, 0.16); + color: #0f8bfd; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(15, 139, 253, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(15, 139, 253, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(15, 139, 253, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #0f8bfd; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(15, 139, 253, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(1, 73, 139, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(15, 139, 253, 0.16); + border-color: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(15, 139, 253, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(2, 112, 213, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #0f8bfd; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(15, 139, 253, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #0f8bfd; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #0f8bfd; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #0f8bfd; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #0f8bfd; + color: #0f8bfd; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #0f8bfd; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #0f8bfd; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #027eef; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #0f8bfd; + color: #0f8bfd; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(15, 139, 253, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #0f8bfd; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #0f8bfd; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #0f8bfd; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #0f8bfd; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #0f8bfd; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #0f8bfd; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #0f8bfd; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #87c5fe, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #0f8bfd; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #0f8bfd; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/blue/theme.scss b/public/theme/theme-light/blue/theme.scss new file mode 100644 index 0000000..f9b764d --- /dev/null +++ b/public/theme/theme-light/blue/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #0f8bfd !default; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff !default; +$primary500: #0f8bfd !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/green/theme.css b/public/theme/theme-light/green/theme.css new file mode 100644 index 0000000..6c2c341 --- /dev/null +++ b/public/theme/theme-light/green/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #0bd18a; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f3fdf9; + --primary-100:#c4f4e3; + --primary-200:#96ebcd; + --primary-300:#68e2b6; + --primary-400:#39daa0; + --primary-500:#0bd18a; + --primary-600:#09b275; + --primary-700:#089261; + --primary-800:#06734c; + --primary-900:#045437; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #0bd18a; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #0bd18a; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #0bd18a; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #0bd18a; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(11, 209, 138, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #0bd18a; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #0bd18a; + background: #0bd18a; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #09a76e; + background: #09a76e; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #09a76e; + background: #09a76e; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #0bd18a; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #09a76e; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(11, 209, 138, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #0bd18a; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #0abc7c; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #0bd18a; + background: #0bd18a; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #09a76e; + background: #09a76e; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #0bd18a; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #09a76e; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #0bd18a; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #0bd18a; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #0bd18a; + border-color: #0bd18a; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #0abc7c; + border-color: #0abc7c; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #0bd18a; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #0bd18a; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #0bd18a; + border-color: #0bd18a; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #0bd18a; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #0bd18a; + border-color: #0bd18a; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #0abc7c; + border-color: #0abc7c; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #0bd18a; + border: 1px solid #0bd18a; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #0abc7c; + color: #ffffff; + border-color: #0abc7c; + } + .p-button:not(:disabled):active { + background: #09a76e; + color: #ffffff; + border-color: #09a76e; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #0bd18a; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #0bd18a; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #0bd18a; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(11, 209, 138, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(11, 209, 138, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(11, 209, 138, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #0bd18a; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(11, 209, 138, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(5, 88, 58, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(11, 209, 138, 0.16); + border-color: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(11, 209, 138, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(9, 167, 110, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #0bd18a; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(11, 209, 138, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #0bd18a; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #0bd18a; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #0bd18a; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #0bd18a; + color: #0bd18a; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #0bd18a; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #0bd18a; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #0abc7c; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #0bd18a; + color: #0bd18a; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(11, 209, 138, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #0bd18a; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #0bd18a; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #0bd18a; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #0bd18a; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #0bd18a; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #0bd18a; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #0bd18a; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #0bd18a; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #0bd18a; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/green/theme.scss b/public/theme/theme-light/green/theme.scss new file mode 100644 index 0000000..c0427f6 --- /dev/null +++ b/public/theme/theme-light/green/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #0bd18a; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #0bd18a !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/magenta/theme.css b/public/theme/theme-light/magenta/theme.css new file mode 100644 index 0000000..9f65a2a --- /dev/null +++ b/public/theme/theme-light/magenta/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #ec4dbc; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fef6fc; + --primary-100:#fad4ef; + --primary-200:#f7b2e2; + --primary-300:#f391d5; + --primary-400:#f06fc9; + --primary-500:#ec4dbc; + --primary-600:#c941a0; + --primary-700:#a53684; + --primary-800:#822a67; + --primary-900:#5e1f4b; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #ec4dbc; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #ec4dbc; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #ec4dbc; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #ec4dbc; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(236, 77, 188, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #ec4dbc; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #ec4dbc; + background: #ec4dbc; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #e218a5; + background: #e218a5; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #e218a5; + background: #e218a5; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #ec4dbc; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #e218a5; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(236, 77, 188, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #ec4dbc; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #e931b1; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #ec4dbc; + background: #ec4dbc; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #e218a5; + background: #e218a5; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #ec4dbc; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #e218a5; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #ec4dbc; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #ec4dbc; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #ec4dbc; + border-color: #ec4dbc; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #e931b1; + border-color: #e931b1; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #ec4dbc; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #ec4dbc; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #ec4dbc; + border-color: #ec4dbc; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #ec4dbc; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #ec4dbc; + border-color: #ec4dbc; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #e931b1; + border-color: #e931b1; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #ec4dbc; + border: 1px solid #ec4dbc; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #e931b1; + color: #ffffff; + border-color: #e931b1; + } + .p-button:not(:disabled):active { + background: #e218a5; + color: #ffffff; + border-color: #e218a5; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #ec4dbc; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #ec4dbc; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #ec4dbc; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(236, 77, 188, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(236, 77, 188, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(236, 77, 188, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #ec4dbc; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(236, 77, 188, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(168, 18, 122, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(236, 77, 188, 0.16); + border-color: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(236, 77, 188, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(226, 24, 165, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #ec4dbc; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(236, 77, 188, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #ec4dbc; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #ec4dbc; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #ec4dbc; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #ec4dbc; + color: #ec4dbc; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #ec4dbc; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #ec4dbc; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #e931b1; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #ec4dbc; + color: #ec4dbc; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(236, 77, 188, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #ec4dbc; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #ec4dbc; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #ec4dbc; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #ec4dbc; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #ec4dbc; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #ec4dbc; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #ec4dbc; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #ec4dbc; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #ec4dbc; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/magenta/theme.scss b/public/theme/theme-light/magenta/theme.scss new file mode 100644 index 0000000..68159fd --- /dev/null +++ b/public/theme/theme-light/magenta/theme.scss @@ -0,0 +1,12 @@ +$primaryColor: #ec4dbc; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #ec4dbc !default; +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/orange/theme.css b/public/theme/theme-light/orange/theme.css new file mode 100644 index 0000000..d641f85 --- /dev/null +++ b/public/theme/theme-light/orange/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #fd9214; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fffaf3; + --primary-100:#ffe5c7; + --primary-200:#fed09a; + --primary-300:#febb6d; + --primary-400:#fda741; + --primary-500:#fd9214; + --primary-600:#d77c11; + --primary-700:#b1660e; + --primary-800:#8b500b; + --primary-900:#653a08; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #fd9214; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #fd9214; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #fd9214; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #fd9214; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(253, 146, 20, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #fd9214; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #fd9214; + background: #fd9214; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #d97602; + background: #d97602; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #d97602; + background: #d97602; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #fd9214; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #d97602; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(253, 146, 20, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #fd9214; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #f48502; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #fd9214; + background: #fd9214; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #d97602; + background: #d97602; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #fd9214; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #d97602; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #fd9214; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #fd9214; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #fd9214; + border-color: #fd9214; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #f48502; + border-color: #f48502; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #fd9214; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #fd9214; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #fd9214; + border-color: #fd9214; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fd9214; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #fd9214; + border-color: #fd9214; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #f48502; + border-color: #f48502; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #fd9214; + border: 1px solid #fd9214; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #f48502; + color: #ffffff; + border-color: #f48502; + } + .p-button:not(:disabled):active { + background: #d97602; + color: #ffffff; + border-color: #d97602; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #fd9214; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #fd9214; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #fd9214; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #fd9214; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #fd9214; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #fd9214; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #fd9214; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(253, 146, 20, 0.04); + color: #fd9214; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(253, 146, 20, 0.16); + color: #fd9214; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(253, 146, 20, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(253, 146, 20, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(253, 146, 20, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #fd9214; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(253, 146, 20, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(144, 79, 1, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(253, 146, 20, 0.16); + border-color: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(253, 146, 20, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(217, 118, 2, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #fd9214; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(253, 146, 20, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #fd9214; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #fd9214; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #fd9214; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #fd9214; + color: #fd9214; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #fd9214; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #fd9214; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #f48502; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #fd9214; + color: #fd9214; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(253, 146, 20, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #fd9214; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #fd9214; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #fd9214; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #fd9214; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #fd9214; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #fd9214; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #fd9214; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fec98a, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #fd9214; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #fd9214; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/orange/theme.scss b/public/theme/theme-light/orange/theme.scss new file mode 100644 index 0000000..eb80052 --- /dev/null +++ b/public/theme/theme-light/orange/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #fd9214; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #fd9214 !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/purple/theme.css b/public/theme/theme-light/purple/theme.css new file mode 100644 index 0000000..7019eea --- /dev/null +++ b/public/theme/theme-light/purple/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #873efe; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f9f5ff; + --primary-100:#e2d1ff; + --primary-200:#cbacff; + --primary-300:#b587fe; + --primary-400:#9e63fe; + --primary-500:#873efe; + --primary-600:#7335d8; + --primary-700:#5f2bb2; + --primary-800:#4a228c; + --primary-900:#361966; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #873efe; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #873efe; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #873efe; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #873efe; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(135, 62, 254, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #873efe; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #873efe; + background: #873efe; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #6001fb; + background: #6001fb; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #6001fb; + background: #6001fb; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #873efe; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #6001fb; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(135, 62, 254, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #873efe; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #731ffe; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #873efe; + background: #873efe; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #6001fb; + background: #6001fb; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #873efe; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #6001fb; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #873efe; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #873efe; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #873efe; + border-color: #873efe; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #731ffe; + border-color: #731ffe; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #873efe; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #873efe; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #873efe; + border-color: #873efe; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #873efe; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #873efe; + border-color: #873efe; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #731ffe; + border-color: #731ffe; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #873efe; + border: 1px solid #873efe; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #731ffe; + color: #ffffff; + border-color: #731ffe; + } + .p-button:not(:disabled):active { + background: #6001fb; + color: #ffffff; + border-color: #6001fb; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #873efe; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #873efe; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #873efe; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(135, 62, 254, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(135, 62, 254, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(135, 62, 254, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #873efe; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(135, 62, 254, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(72, 1, 188, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(135, 62, 254, 0.16); + border-color: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(135, 62, 254, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(96, 1, 251, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #873efe; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(135, 62, 254, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #873efe; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #873efe; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #873efe; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #873efe; + color: #873efe; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #873efe; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #873efe; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #731ffe; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #873efe; + color: #873efe; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(135, 62, 254, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #873efe; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #873efe; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #873efe; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #873efe; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #873efe; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #873efe; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #873efe; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #873efe; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #873efe; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/purple/theme.scss b/public/theme/theme-light/purple/theme.scss new file mode 100644 index 0000000..dc7a710 --- /dev/null +++ b/public/theme/theme-light/purple/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #873efe; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #873efe !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/red/theme.css b/public/theme/theme-light/red/theme.css new file mode 100644 index 0000000..77b0d60 --- /dev/null +++ b/public/theme/theme-light/red/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #fc6161; + --primary-color-text: #ffffff; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fff7f7; + --primary-100:#fed9d9; + --primary-200:#febbbb; + --primary-300:#fd9d9d; + --primary-400:#fd7f7f; + --primary-500:#fc6161; + --primary-600:#d65252; + --primary-700:#b04444; + --primary-800:#8b3535; + --primary-900:#652727; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #fc6161; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #fc6161; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #fc6161; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #fc6161; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(252, 97, 97, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #fc6161; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #fc6161; + background: #fc6161; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #fb1d1d; + background: #fb1d1d; + color: #ffffff; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #fb1d1d; + background: #fb1d1d; + color: #ffffff; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #fc6161; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #fb1d1d; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(252, 97, 97, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #fc6161; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #fb3f3f; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #fc6161; + background: #fc6161; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #fb1d1d; + background: #fb1d1d; + color: #ffffff; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #fc6161; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #fb1d1d; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #fc6161; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #fc6161; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #fc6161; + border-color: #fc6161; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #fb3f3f; + border-color: #fb3f3f; + color: #ffffff; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #fc6161; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #fc6161; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #fc6161; + border-color: #fc6161; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #fc6161; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #fc6161; + border-color: #fc6161; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #fb3f3f; + border-color: #fb3f3f; + color: #ffffff; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #ffffff; + background: #fc6161; + border: 1px solid #fc6161; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #fb3f3f; + color: #ffffff; + border-color: #fb3f3f; + } + .p-button:not(:disabled):active { + background: #fb1d1d; + color: #ffffff; + border-color: #fb1d1d; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #fc6161; + background-color: #ffffff; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #fc6161; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #fc6161; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(252, 97, 97, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(252, 97, 97, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(252, 97, 97, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #fc6161; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(252, 97, 97, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(217, 4, 4, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(252, 97, 97, 0.16); + border-color: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(252, 97, 97, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(251, 29, 29, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #fc6161; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(252, 97, 97, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #fc6161; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #fc6161; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #fc6161; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #fc6161; + color: #fc6161; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #fc6161; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #fc6161; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #fb3f3f; + color: #ffffff; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #fc6161; + color: #fc6161; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(252, 97, 97, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #fc6161; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #fc6161; + } + .p-progressbar .p-progressbar-label { + color: #ffffff; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #fc6161; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #fc6161; + color: #ffffff; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #fc6161; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #fc6161; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #fc6161; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #fc6161; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #fc6161; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/red/theme.scss b/public/theme/theme-light/red/theme.scss new file mode 100644 index 0000000..b3fc323 --- /dev/null +++ b/public/theme/theme-light/red/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #fc6161; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #ffffff; +$primary500: #fc6161 !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/teal/theme.css b/public/theme/theme-light/teal/theme.css new file mode 100644 index 0000000..57bb5af --- /dev/null +++ b/public/theme/theme-light/teal/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #00d0de; + --primary-color-text: #0a061a; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#f2fdfd; + --primary-100:#c2f4f7; + --primary-200:#91ebf1; + --primary-300:#61e2eb; + --primary-400:#30d9e4; + --primary-500:#00d0de; + --primary-600:#00b1bd; + --primary-700:#00929b; + --primary-800:#00727a; + --primary-900:#005359; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #00d0de; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #00d0de; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #00d0de; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #00d0de; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(0, 208, 222, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #00d0de; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #0a061a; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #00d0de; + background: #00d0de; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #00a6b2; + background: #00a6b2; + color: #0a061a; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #00a6b2; + background: #00a6b2; + color: #0a061a; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #00d0de; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #00a6b2; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(0, 208, 222, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #00d0de; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #00bbc8; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #0a061a; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #00d0de; + background: #00d0de; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #00a6b2; + background: #00a6b2; + color: #0a061a; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #00d0de; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #00a6b2; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #00d0de; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #00d0de; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #00d0de; + border-color: #00d0de; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #00bbc8; + border-color: #00bbc8; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #00d0de; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #00d0de; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #00d0de; + border-color: #00d0de; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #00d0de; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #00d0de; + border-color: #00d0de; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #00bbc8; + border-color: #00bbc8; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #0a061a; + background: #00d0de; + border: 1px solid #00d0de; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #00bbc8; + color: #0a061a; + border-color: #00bbc8; + } + .p-button:not(:disabled):active { + background: #00a6b2; + color: #0a061a; + border-color: #00a6b2; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #00d0de; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #00d0de; + background-color: #0a061a; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #00d0de; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #00d0de; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #00d0de; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #00d0de; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #00d0de; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(0, 208, 222, 0.04); + color: #00d0de; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(0, 208, 222, 0.16); + color: #00d0de; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(0, 208, 222, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(0, 208, 222, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(0, 208, 222, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #00d0de; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(0, 208, 222, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(0, 89, 95, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(0, 208, 222, 0.16); + border-color: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(0, 208, 222, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(0, 166, 178, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #00d0de; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(0, 208, 222, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #00d0de; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #00d0de; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #00d0de; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #00d0de; + color: #00d0de; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #00d0de; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #00d0de; + color: #0a061a; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #00bbc8; + color: #0a061a; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #00d0de; + color: #00d0de; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(0, 208, 222, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #00d0de; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #00d0de; + } + .p-progressbar .p-progressbar-label { + color: #0a061a; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #00d0de; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #00d0de; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #00d0de; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #00d0de; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #00d0de; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #6ff6ff, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #00d0de; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #00d0de; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/teal/theme.scss b/public/theme/theme-light/teal/theme.scss new file mode 100644 index 0000000..5680e6c --- /dev/null +++ b/public/theme/theme-light/teal/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #00d0de; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #0a061a; +$primary500: #00d0de !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/public/theme/theme-light/yellow/theme.css b/public/theme/theme-light/yellow/theme.css new file mode 100644 index 0000000..d37c1ef --- /dev/null +++ b/public/theme/theme-light/yellow/theme.css @@ -0,0 +1,6039 @@ +:root { + --surface-a: transparent; + --surface-b: rgba(68, 72, 109, 0.07); + --surface-c: rgba(68, 72, 109, 0.12); + --surface-d: rgba(68, 72, 109, 0.17); + --surface-e: transparent; + --surface-f: transparent; + --text-color: #44486d; + --text-color-secondary: #676b89; + --primary-color: #eee500; + --primary-color-text: #0a061a; + --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --surface-0: #ffffff; + --surface-50: #e1e2e8; + --surface-100: #cbccd6; + --surface-200: #b4b6c5; + --surface-300: #9ea0b3; + --surface-400: #878aa2; + --surface-500: #717490; + --surface-600: #5a5e7f; + --surface-700: #44486d; + --surface-800: #3c3f60; + --surface-900: #343753; + --gray-50: #e1e2e8; + --gray-100: #cbccd6; + --gray-200: #b4b6c5; + --gray-300: #9ea0b3; + --gray-400: #878aa2; + --gray-500: #717490; + --gray-600: #5a5e7f; + --gray-700: #44486d; + --gray-800: #3c3f60; + --gray-900: #343753; + --content-padding: 1.143rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --surface-section: #ffffff; + --surface-card: rgba(255, 255, 255, 0.9); + --surface-overlay: #ececf9; + --surface-border: rgba(68, 72, 109, 0.2); + --surface-hover: rgba(68, 72, 109, 0.07); + --maskbg: rgba(0, 0, 0, 0.2); + --focus-ring: 0 none; +} + +:root { + --blue-50:#f4fafe; + --blue-100:#cae6fc; + --blue-200:#a0d2fa; + --blue-300:#75bef8; + --blue-400:#4baaf5; + --blue-500:#2196f3; + --blue-600:#1c80cf; + --blue-700:#1769aa; + --blue-800:#125386; + --blue-900:#0d3c61; + --green-50:#f6fbf6; + --green-100:#d4ecd5; + --green-200:#b2ddb4; + --green-300:#90cd93; + --green-400:#6ebe71; + --green-500:#4caf50; + --green-600:#419544; + --green-700:#357b38; + --green-800:#2a602c; + --green-900:#1e4620; + --yellow-50:#fffcf5; + --yellow-100:#fef0cd; + --yellow-200:#fde4a5; + --yellow-300:#fdd87d; + --yellow-400:#fccc55; + --yellow-500:#fbc02d; + --yellow-600:#d5a326; + --yellow-700:#b08620; + --yellow-800:#8a6a19; + --yellow-900:#644d12; + --cyan-50:#f2fcfd; + --cyan-100:#c2eff5; + --cyan-200:#91e2ed; + --cyan-300:#61d5e4; + --cyan-400:#30c9dc; + --cyan-500:#00bcd4; + --cyan-600:#00a0b4; + --cyan-700:#008494; + --cyan-800:#006775; + --cyan-900:#004b55; + --pink-50:#fef4f7; + --pink-100:#fac9da; + --pink-200:#f69ebc; + --pink-300:#f1749e; + --pink-400:#ed4981; + --pink-500:#e91e63; + --pink-600:#c61a54; + --pink-700:#a31545; + --pink-800:#801136; + --pink-900:#5d0c28; + --indigo-50:#f5f6fb; + --indigo-100:#d1d5ed; + --indigo-200:#acb4df; + --indigo-300:#8893d1; + --indigo-400:#6372c3; + --indigo-500:#3f51b5; + --indigo-600:#36459a; + --indigo-700:#2c397f; + --indigo-800:#232d64; + --indigo-900:#192048; + --teal-50:#f2faf9; + --teal-100:#c2e6e2; + --teal-200:#91d2cc; + --teal-300:#61beb5; + --teal-400:#30aa9f; + --teal-500:#009688; + --teal-600:#008074; + --teal-700:#00695f; + --teal-800:#00534b; + --teal-900:#003c36; + --orange-50:#fff8f2; + --orange-100:#fde0c2; + --orange-200:#fbc791; + --orange-300:#f9ae61; + --orange-400:#f79530; + --orange-500:#f57c00; + --orange-600:#d06900; + --orange-700:#ac5700; + --orange-800:#874400; + --orange-900:#623200; + --bluegray-50:#f7f9f9; + --bluegray-100:#d9e0e3; + --bluegray-200:#bbc7cd; + --bluegray-300:#9caeb7; + --bluegray-400:#7e96a1; + --bluegray-500:#607d8b; + --bluegray-600:#526a76; + --bluegray-700:#435861; + --bluegray-800:#35454c; + --bluegray-900:#263238; + --purple-50:#faf4fb; + --purple-100:#e7cbec; + --purple-200:#d4a2dd; + --purple-300:#c279ce; + --purple-400:#af50bf; + --purple-500:#9c27b0; + --purple-600:#852196; + --purple-700:#6d1b7b; + --purple-800:#561561; + --purple-900:#3e1046; + --primary-50:#fefef2; + --primary-100:#fbf9c2; + --primary-200:#f8f491; + --primary-300:#f4ef61; + --primary-400:#f1ea30; + --primary-500:#eee500; + --primary-600:#cac300; + --primary-700:#a7a000; + --primary-800:#837e00; + --primary-900:#5f5c00; + --red-50:#fff5f5; + --red-100:#ffd0ce; + --red-200:#ffaca7; + --red-300:#ff8780; + --red-400:#ff6259; + --red-500:#ff3d32; + --red-600:#d9342b; + --red-700:#b32b23; + --red-800:#8c221c; + --red-900:#661814; +} + +.p-editor-container .p-editor-toolbar { + background: transparent; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #676b89; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + padding: 0.286rem; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #44486d; +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); +} +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.429rem 0.286rem; +} +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid rgba(68, 72, 109, 0.17); +} +.p-editor-container .p-editor-content .ql-editor { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #44486d; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #eee500; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #eee500; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #eee500; +} +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #eee500; +} + +@layer primereact { + * { + box-sizing: border-box; + } + + .p-component { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + font-weight: normal; + } + + .p-component-overlay { + background-color: rgba(0, 0, 0, 0.2); + transition-duration: 0.2s; + } + + .p-disabled, .p-component:disabled { + opacity: 0.6; + } + + .p-error { + color: #fc6161; + } + + .p-text-secondary { + color: #676b89; + } + + .pi { + font-size: 1rem; + } + + .p-icon { + width: 1rem; + height: 1rem; + } + + .p-link { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + border-radius: 6px; + } + .p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; + } + + .p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; + } + + @keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } + } + @keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + to { + background-color: transparent; + } + } + + .p-autocomplete .p-autocomplete-loader { + right: 0.571rem; + } + .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 2.857rem; + } + .p-autocomplete .p-autocomplete-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.2145rem 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(238, 229, 0, 0.16); + color: #44486d; + border-radius: 6px; + } + .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; + } + .p-autocomplete.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-autocomplete-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-autocomplete-panel .p-autocomplete-items { + padding: 0.286rem; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + + .p-calendar.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-datepicker { + padding: 0.857rem; + background: transparent; + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-datepicker:not(.p-datepicker-inline) { + background: #ececf9; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: transparent; + } + .p-datepicker .p-datepicker-header { + padding: 0 0 0.75rem 0; + color: #44486d; + background: transparent; + font-weight: 400; + margin: 0; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + color: #44486d; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + font-weight: 400; + padding: 0.357rem; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover { + color: #eee500; + } + .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; + } + .p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; + } + .p-datepicker table th { + padding: 0.357rem; + } + .p-datepicker table th > span { + width: 2.571rem; + height: 2.571rem; + } + .p-datepicker table td { + padding: 0.357rem; + } + .p-datepicker table td > span { + width: 2.571rem; + height: 2.571rem; + border-radius: 6px; + transition: box-shadow 0.2s; + border: 2px solid transparent; + } + .p-datepicker table td > span.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker table td > span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker table td.p-datepicker-today > span { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border-color: rgba(68, 72, 109, 0.12); + } + .p-datepicker table td.p-datepicker-today > span.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid rgba(68, 72, 109, 0.17); + } + .p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; + } + .p-datepicker .p-timepicker { + border-top: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.5rem; + } + .p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datepicker .p-timepicker button:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datepicker .p-timepicker button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; + } + .p-datepicker .p-timepicker span { + font-size: 1.25rem; + } + .p-datepicker .p-timepicker > div { + padding: 0 0.5rem; + } + .p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; + } + .p-datepicker .p-monthpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker .p-yearpicker { + margin: 0.5rem 0; + } + .p-datepicker .p-yearpicker .p-yearpicker-year { + padding: 0.357rem; + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-left: 1px solid rgba(68, 72, 109, 0.17); + padding-right: 0.857rem; + padding-left: 0.857rem; + padding-top: 0; + padding-bottom: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; + } + .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-left: 0 none; + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + } + .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + @media screen and (max-width: 769px) { + .p-datepicker table th, .p-datepicker table td { + padding: 0; + } + } + .p-cascadeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-cascadeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.429rem 0.571rem; + } + .p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-cascadeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-cascadeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.429rem 0.286rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; + } + .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-input-filled .p-cascadeselect { + background: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-checkbox { + width: 20px; + height: 20px; + } + .p-checkbox .p-checkbox-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #0a061a; + font-size: 14px; + } + .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon { + width: 14px; + height: 14px; + } + .p-checkbox .p-checkbox-box.p-highlight { + border-color: #eee500; + background: #eee500; + } + .p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #beb700; + background: #beb700; + color: #0a061a; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: transparent; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #beb700; + background: #beb700; + color: #0a061a; + } + .p-checkbox.p-invalid > .p-checkbox-box { + border-color: #fc6161; + } + + .p-input-filled .p-checkbox .p-checkbox-box { + background-color: transparent; + } + .p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #eee500; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: transparent; + } + .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #beb700; + } + + .p-chips .p-chips-multiple-container { + padding: 0.2145rem 0.571rem; + gap: 0.5rem; + } + .p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: transparent; + } + .p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(238, 229, 0, 0.16); + color: #44486d; + border-radius: 16px; + } + .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; + } + .p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.2145rem 0; + } + .p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + padding: 0; + margin: 0; + } + .p-chips.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-colorpicker-preview { + width: 2rem; + height: 2rem; + } + + .p-colorpicker-panel { + background: rgba(68, 72, 109, 0.07); + border: 1px solid #191919; + } + .p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #191919; + } + + .p-colorpicker-overlay-panel { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .p-dropdown { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-dropdown:not(.p-disabled):hover { + border-color: transparent; + } + .p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.571rem; + } + .p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; + } + .p-dropdown .p-dropdown-label.p-placeholder { + color: #8a8ea6; + } + .p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; + } + .p-dropdown .p-dropdown-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dropdown .p-dropdown-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-dropdown.p-invalid.p-component { + border-color: #fc6161; + } + + .p-dropdown-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-dropdown-panel .p-dropdown-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.571rem; + margin-right: -1.571rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.142rem; + margin-right: -3.142rem; + } + .p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.142rem; + } + .p-dropdown-panel .p-dropdown-items { + padding: 0.286rem; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-dropdown { + background: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext { + background-color: transparent; + } + + .p-inputgroup-addon { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-bottom: 1px solid transparent; + padding: 0.429rem 0.571rem; + min-width: 2.357rem; + } + .p-inputgroup-addon:last-child { + border-right: 1px solid transparent; + } + + .p-inputgroup > .p-component, +.p-inputgroup > .p-inputwrapper > .p-inputtext, +.p-inputgroup > .p-float-label > .p-component { + border-radius: 0; + margin: 0; + } + .p-inputgroup > .p-component + .p-inputgroup-addon, +.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon, +.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon { + border-left: 0 none; + } + .p-inputgroup > .p-component:focus, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus, +.p-inputgroup > .p-float-label > .p-component:focus { + z-index: 1; + } + .p-inputgroup > .p-component:focus ~ label, +.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label, +.p-inputgroup > .p-float-label > .p-component:focus ~ label { + z-index: 1; + } + + .p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup > .p-inputwrapper:first-child, +.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup > .p-inputwrapper:last-child, +.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-fluid .p-inputgroup .p-button { + width: auto; + } + .p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 2.286rem; + } + + .p-inputnumber.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-inputswitch { + width: 2.714rem; + height: 1.429rem; + } + .p-inputswitch .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.07); + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 12px; + } + .p-inputswitch .p-inputswitch-slider:before { + background: #676b89; + width: 1.143rem; + height: 1.143rem; + left: 0.25rem; + margin-top: -0.5715rem; + border-radius: 8px; + transition-duration: 0.2s; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.143rem); + } + .p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: rgba(68, 72, 109, 0.12); + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #eee500; + } + .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; + } + .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #d6ce00; + } + .p-inputswitch.p-invalid .p-inputswitch-slider { + border-color: #fc6161; + } + + .p-inputtext { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + color: #44486d; + background: rgba(68, 72, 109, 0.07); + padding: 0.429rem 0.571rem; + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; + } + .p-inputtext:enabled:hover { + border-color: transparent; + } + .p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-inputtext.p-invalid.p-component { + border-color: #fc6161; + } + .p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-float-label > label { + left: 0.571rem; + color: #8a8ea6; + transition-duration: 0.2s; + } + + .p-float-label > label.p-error { + color: #fc6161; + } + + .p-input-icon-left > i:first-of-type, +.p-input-icon-left > svg:first-of-type, +.p-input-icon-left > .p-input-prefix { + left: 0.571rem; + color: #676b89; + } + + .p-input-icon-left > .p-inputtext { + padding-left: 2.142rem; + } + + .p-input-icon-left.p-float-label > label { + left: 2.142rem; + } + + .p-input-icon-right > i:last-of-type, +.p-input-icon-right > svg:last-of-type, +.p-input-icon-right > .p-input-suffix { + right: 0.571rem; + color: #676b89; + } + + .p-input-icon-right > .p-inputtext { + padding-right: 2.142rem; + } + + ::-webkit-input-placeholder { + color: #8a8ea6; + } + + :-moz-placeholder { + color: #8a8ea6; + } + + ::-moz-placeholder { + color: #8a8ea6; + } + + :-ms-input-placeholder { + color: #8a8ea6; + } + + .p-input-filled .p-inputtext { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:hover { + background-color: transparent; + } + .p-input-filled .p-inputtext:enabled:focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + + .p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + + .p-listbox { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + border: 1px solid transparent; + border-radius: 6px; + } + .p-listbox .p-listbox-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.571rem; + } + .p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-listbox .p-listbox-list { + padding: 0.286rem; + } + .p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-listbox.p-invalid { + border-color: #fc6161; + } + + .p-mention-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-mention-panel .p-mention-items { + padding: 0.286rem; + } + .p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-mention-panel .p-mention-items .p-mention-item:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + + .p-multiselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-multiselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + .p-multiselect .p-multiselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-multiselect .p-multiselect-label.p-placeholder { + color: #8a8ea6; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; + } + .p-multiselect .p-multiselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-multiselect .p-multiselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-multiselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.2145rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.429rem 0.571rem; + } + .p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.571rem; + } + + .p-multiselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-multiselect-panel .p-multiselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.571rem; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items { + padding: 0.286rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + } + .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-multiselect { + background: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-password.p-invalid.p-component > .p-inputtext { + border-color: #fc6161; + } + + .p-password-panel { + padding: 1.143rem; + background: transparent; + color: #44486d; + border: 0 none; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: rgba(68, 72, 109, 0.12); + } + .p-password-panel .p-password-meter .p-password-strength.weak { + background: #d32f2f; + } + .p-password-panel .p-password-meter .p-password-strength.medium { + background: #fbc02d; + } + .p-password-panel .p-password-meter .p-password-strength.strong { + background: #689f38; + } + + .p-radiobutton { + width: 20px; + height: 20px; + } + .p-radiobutton .p-radiobutton-box { + border: 2px solid #8a8ea6; + background: rgba(68, 72, 109, 0.07); + width: 20px; + height: 20px; + color: #44486d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: transparent; + } + .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #0a061a; + } + .p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #eee500; + background: #eee500; + } + .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #beb700; + background: #beb700; + color: #0a061a; + } + .p-radiobutton.p-invalid > .p-radiobutton-box { + border-color: #fc6161; + } + .p-radiobutton:focus { + outline: 0 none; + } + + .p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #eee500; + } + .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #beb700; + } + + .p-rating { + gap: 0.5rem; + } + .p-rating .p-rating-item .p-rating-icon { + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-rating .p-rating-item .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + .p-rating .p-rating-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-rating .p-rating-item.p-rating-item-active .p-rating-icon { + color: #eee500; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon { + color: #eee500; + } + .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel { + color: #fc6161; + } + + .p-selectbutton .p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-selectbutton .p-button.p-highlight { + background: #eee500; + border-color: #eee500; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover { + background: #d6ce00; + border-color: #d6ce00; + color: #0a061a; + } + .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-selectbutton.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-slider { + background: rgba(68, 72, 109, 0.12); + border: 0 none; + border-radius: 6px; + } + .p-slider.p-slider-horizontal { + height: 0.429rem; + } + .p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; + } + .p-slider.p-slider-vertical { + width: 0.429rem; + } + .p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; + } + .p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 4px solid #eee500; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slider .p-slider-range { + background: #eee500; + } + .p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #eee500; + border-color: #eee500; + } + + .p-treeselect { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-treeselect:not(.p-disabled):hover { + border-color: transparent; + } + .p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + border-color: #eee500; + } + .p-treeselect.p-treeselect-clearable .p-treeselect-label { + padding-right: 1.571rem; + } + .p-treeselect .p-treeselect-label { + padding: 0.429rem 0.571rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-treeselect .p-treeselect-label.p-placeholder { + color: #8a8ea6; + } + .p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.2145rem 0.571rem; + margin-right: 0.5rem; + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + } + .p-treeselect .p-treeselect-trigger { + background: transparent; + color: #676b89; + width: 2.357rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-treeselect .p-treeselect-clear-icon { + color: #676b89; + right: 2.357rem; + } + .p-treeselect.p-invalid.p-component { + border-color: #fc6161; + } + + .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.2145rem 0.571rem; + } + + .p-treeselect-panel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + .p-treeselect-panel .p-treeselect-header { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.571rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.142rem; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; + } + .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.429rem 0.286rem; + color: #44486d; + background: transparent; + } + + .p-input-filled .p-treeselect { + background: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: transparent; + } + .p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: rgba(68, 72, 109, 0.07); + } + + .p-togglebutton.p-button { + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + color: #44486d; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.12); + border-color: transparent; + color: #44486d; + } + .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #676b89; + } + .p-togglebutton.p-button.p-highlight { + background: #eee500; + border-color: #eee500; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover { + background: #d6ce00; + border-color: #d6ce00; + color: #0a061a; + } + .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #0a061a; + } + .p-togglebutton.p-button.p-invalid > .p-button { + border-color: #fc6161; + } + + .p-button { + color: #0a061a; + background: #eee500; + border: 1px solid #eee500; + padding: 0.429rem 0.571rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + } + .p-button:not(:disabled):hover { + background: #d6ce00; + color: #0a061a; + border-color: #d6ce00; + } + .p-button:not(:disabled):active { + background: #beb700; + color: #0a061a; + border-color: #beb700; + } + .p-button.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-outlined.p-button-plain { + color: #676b89; + border-color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-outlined.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border-color: transparent; + } + .p-button.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border-color: transparent; + } + .p-button.p-button-text.p-button-plain { + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-button.p-button-text.p-button-plain:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-button .p-button-label { + transition-duration: 0.2s; + } + .p-button .p-button-icon-left { + margin-right: 0.5rem; + } + .p-button .p-button-icon-right { + margin-left: 0.5rem; + } + .p-button .p-button-icon-bottom { + margin-top: 0.5rem; + } + .p-button .p-button-icon-top { + margin-bottom: 0.5rem; + } + .p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #eee500; + background-color: #0a061a; + } + .p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-button.p-button-rounded { + border-radius: 2rem; + } + .p-button.p-button-icon-only { + width: 2.286rem; + padding: 0.429rem 0; + } + .p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; + } + .p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 2.286rem; + } + .p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; + } + .p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; + } + .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; + } + .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; + } + .p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; + } + + .p-fluid .p-button { + width: 100%; + } + .p-fluid .p-button-icon-only { + width: 2.286rem; + } + .p-fluid .p-buttonset { + display: flex; + } + .p-fluid .p-buttonset .p-button { + flex: 1; + } + + .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + border: 1px solid transparent; + } + .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #44486d; + border-color: transparent; + } + .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info { + color: #ffffff; + background: #873efe; + border: 1px solid transparent; + } + .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover { + background: #6c1af2; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active { + background: #5310c1; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + border: 1px solid; + } + .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success { + color: #ffffff; + background: #0bd18a; + border: 1px solid transparent; + } + .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover { + background: #049b65; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active { + background: #017e52; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + border: 1px solid; + } + .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning { + color: #44486d; + background: #eee500; + border: 1px solid transparent; + } + .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover { + background: #d1c901; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active { + background: #bab302; + color: #44486d; + border-color: transparent; + } + .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border: 1px solid; + } + .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help { + color: #ffffff; + background: #ec4dbc; + border: 1px solid transparent; + } + .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover { + background: #e80ea6; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active { + background: #b30c81; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + border: 1px solid; + } + .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #fc6161; + border: 1px solid transparent; + } + .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover { + background: #e73a3a; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus { + box-shadow: none; + } + .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active { + background: #c42424; + color: #ffffff; + border-color: transparent; + } + .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + border: 1px solid; + } + .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-button.p-button-link { + color: #eee500; + background: transparent; + border: transparent; + } + .p-button.p-button-link:not(:disabled):hover { + background: transparent; + color: #eee500; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):hover .p-button-label { + text-decoration: underline; + } + .p-button.p-button-link:not(:disabled):focus { + background: transparent; + box-shadow: none; + border-color: transparent; + } + .p-button.p-button-link:not(:disabled):active { + background: transparent; + color: #eee500; + border-color: transparent; + } + + .p-splitbutton { + border-radius: 6px; + } + .p-splitbutton.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button { + color: #676b89; + border-color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button { + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #676b89; + } + .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.17); + color: #676b89; + } + .p-splitbutton.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + .p-splitbutton.p-button-rounded { + border-radius: 2rem; + } + .p-splitbutton.p-button-rounded > .p-button { + border-radius: 2rem; + } + .p-splitbutton.p-button-sm > .p-button { + font-size: 0.875rem; + padding: 0.375375rem 0.499625rem; + } + .p-splitbutton.p-button-sm > .p-button .p-button-icon { + font-size: 0.875rem; + } + .p-splitbutton.p-button-lg > .p-button { + font-size: 1.25rem; + padding: 0.53625rem 0.71375rem; + } + .p-splitbutton.p-button-lg > .p-button.p-button-icon-only { + width: auto; + } + .p-splitbutton.p-button-lg > .p-button .p-button-icon { + font-size: 1.25rem; + } + .p-splitbutton .p-splitbutton-menubutton, +.p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button, +.p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border: 1px solid; + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button { + background-color: transparent; + color: rgba(68, 72, 109, 0.07); + border-color: transparent; + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover { + background: rgba(68, 72, 109, 0.04); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active { + background: rgba(68, 72, 109, 0.16); + border-color: transparent; + color: rgba(68, 72, 109, 0.07); + } + + .p-splitbutton.p-button-info.p-button-outlined > .p-button { + background-color: transparent; + color: #873efe; + border: 1px solid; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button { + background-color: transparent; + color: #873efe; + border-color: transparent; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover { + background: rgba(135, 62, 254, 0.04); + border-color: transparent; + color: #873efe; + } + .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active { + background: rgba(135, 62, 254, 0.16); + border-color: transparent; + color: #873efe; + } + + .p-splitbutton.p-button-success.p-button-outlined > .p-button { + background-color: transparent; + color: #0bd18a; + border: 1px solid; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button { + background-color: transparent; + color: #0bd18a; + border-color: transparent; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover { + background: rgba(11, 209, 138, 0.04); + border-color: transparent; + color: #0bd18a; + } + .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active { + background: rgba(11, 209, 138, 0.16); + border-color: transparent; + color: #0bd18a; + } + + .p-splitbutton.p-button-warning.p-button-outlined > .p-button { + background-color: transparent; + color: #eee500; + border: 1px solid; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button { + background-color: transparent; + color: #eee500; + border-color: transparent; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover { + background: rgba(238, 229, 0, 0.04); + border-color: transparent; + color: #eee500; + } + .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active { + background: rgba(238, 229, 0, 0.16); + border-color: transparent; + color: #eee500; + } + + .p-splitbutton.p-button-help.p-button-outlined > .p-button { + background-color: transparent; + color: #ec4dbc; + border: 1px solid; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button { + background-color: transparent; + color: #ec4dbc; + border-color: transparent; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover { + background: rgba(236, 77, 188, 0.04); + border-color: transparent; + color: #ec4dbc; + } + .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active { + background: rgba(236, 77, 188, 0.16); + border-color: transparent; + color: #ec4dbc; + } + + .p-splitbutton.p-button-danger.p-button-outlined > .p-button { + background-color: transparent; + color: #fc6161; + border: 1px solid; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button { + background-color: transparent; + color: #fc6161; + border-color: transparent; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover { + background: rgba(252, 97, 97, 0.04); + border-color: transparent; + color: #fc6161; + } + .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active { + background: rgba(252, 97, 97, 0.16); + border-color: transparent; + color: #fc6161; + } + + .p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; + } + .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon { + width: 1.3rem; + height: 1.3rem; + } + + .p-speeddial-action { + width: 3rem; + height: 3rem; + background: #676b89; + color: #fff; + } + .p-speeddial-action:hover { + background: #44486d; + color: #fff; + } + + .p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; + } + + .p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; + } + .p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; + } + + .p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; + } + + .p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; + } + .p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; + } + + .p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; + } + .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; + } + + .p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 6px; + } + + .p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; + } + .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-carousel .p-carousel-content .p-carousel-prev:focus-visible, +.p-carousel .p-carousel-content .p-carousel-next:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-carousel .p-carousel-indicators { + padding: 1rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.572rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + + .p-datatable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datatable .p-datatable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datatable .p-datatable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-datatable .p-datatable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-datatable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(238, 229, 0, 0.16); + margin-left: 0.5rem; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-datatable .p-sortable-column:focus-visible { + box-shadow: 0 none; + outline: 0 none; + } + .p-datatable .p-datatable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible, +.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save { + margin-right: 0.5rem; + } + .p-datatable .p-datatable-tbody > tr > td > .p-column-title { + font-weight: 500; + } + .p-datatable .p-datatable-tbody > tr > td.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 rgba(238, 229, 0, 0.16); + } + .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 rgba(238, 229, 0, 0.16); + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-datatable .p-column-resizer-helper { + background: #eee500; + } + .p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: transparent; + } + .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead, +.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot { + background-color: transparent; + } + .p-datatable .p-datatable-loading-icon { + font-size: 2rem; + } + .p-datatable .p-datatable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td { + border-width: 1px 0 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child { + border-width: 1px 1px 0 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td { + border-width: 1px 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child { + border-width: 1px 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td { + border-width: 0 0 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child { + border-width: 0 1px 1px 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td { + border-width: 0 0 0 1px; + } + .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child { + border-width: 0 1px 0 1px; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd { + background: transparent; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; + } + .p-datatable.p-datatable-lg .p-datatable-header { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; + } + + .p-datatable-drag-selection-helper { + background: rgba(238, 229, 0, 0.16); + } + + .p-dataview .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-dataview .p-dataview-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-dataview .p-dataview-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-dataview.p-dataview-list .p-dataview-content > .p-grid > div { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-dataview .p-dataview-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + .p-dataview .p-dataview-loading-icon { + font-size: 2rem; + } + .p-dataview .p-dataview-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + + .p-datascroller .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-datascroller .p-datascroller-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-datascroller .p-datascroller-content { + background: transparent; + color: #44486d; + border: 0 none; + padding: 0; + } + .p-datascroller.p-datascroller-inline .p-datascroller-list > li { + border: solid rgba(68, 72, 109, 0.07); + border-width: 0 0 0 0; + } + .p-datascroller .p-datascroller-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + } + + .p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; + } + + .p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-menu-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-column-filter-menu-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-column-filter-clear-button:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-clear-button:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-column-filter-overlay { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + min-width: 12.5rem; + } + .p-column-filter-overlay .p-column-filter-row-items { + padding: 0.286rem; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.429rem 0.286rem; + border: 0 none; + color: #44486d; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.429rem 0.286rem; + border-bottom: 0 none; + color: #44486d; + background: transparent; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.143rem; + border-bottom: 1px solid rgba(68, 72, 109, 0.17); + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; + } + .p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; + } + .p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.714rem 1.143rem; + } + .p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.143rem; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.143rem; + } + .p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; + } + .p-orderlist .p-orderlist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-orderlist .p-orderlist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input { + padding-right: 1.571rem; + } + .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-orderlist .p-orderlist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) { + background: rgba(0, 0, 0, 0); + } + .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover { + background: rgba(68, 72, 109, 0.07); + } + + .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: rgba(111, 106, 0, 0.16); + } + .p-organizationchart .p-organizationchart-line-down { + background: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid rgba(68, 72, 109, 0.17); + border-color: rgba(68, 72, 109, 0.17); + } + .p-organizationchart .p-organizationchart-node-content { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; + } + .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-paginator { + background: transparent; + color: #44486d; + border: solid rgba(68, 72, 109, 0.17); + border-width: 0; + padding: 0.571rem 0.571rem; + border-radius: 6px; + } + .p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + .p-paginator .p-paginator-first { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + } + .p-paginator .p-paginator-last { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + } + .p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 1.429rem; + } + .p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; + } + .p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .p-paginator .p-paginator-page-input .p-inputtext { + max-width: 1.429rem; + } + .p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + padding: 0 0.5rem; + } + .p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #44486d; + min-width: 1.429rem; + height: 1.429rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 4px; + } + .p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: rgba(238, 229, 0, 0.16); + border-color: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + border-color: transparent; + color: #44486d; + } + + .p-picklist .p-picklist-buttons { + padding: 1.143rem; + } + .p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; + } + .p-picklist .p-picklist-header { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + font-weight: 500; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-picklist .p-picklist-filter-container { + padding: 0.714rem 1.143rem; + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-bottom: 0 none; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-input { + padding-right: 1.571rem; + } + .p-picklist .p-picklist-filter-container .p-picklist-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-picklist .p-picklist-list { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 0.286rem; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-picklist .p-picklist-list .p-picklist-item { + padding: 0.429rem 0.286rem; + margin: 0; + border: 0 none; + color: #44486d; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; + } + .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #44486d; + background: rgba(238, 229, 0, 0.16); + } + + .p-tree { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + padding: 1.143rem; + border-radius: 6px; + } + .p-tree .p-tree-container .p-treenode { + padding: 0.143rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.429rem 0.571rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; + } + .p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.571rem; + } + .p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.571rem; + color: #676b89; + } + .p-tree .p-treenode-children { + padding: 0 0 0 1rem; + } + .p-tree .p-tree-loading-icon { + font-size: 2rem; + } + .p-tree .p-tree-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-tree .p-treenode-droppoint { + height: 0.5rem; + } + .p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: rgba(190, 183, 0, 0.16); + } + + .p-treetable .p-paginator-top { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-paginator-bottom { + border-width: 1px 0 1px 0; + border-radius: 0; + } + .p-treetable .p-treetable-header { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 1px 0 1px 0; + padding: 0.571rem 0.571rem; + font-weight: 500; + } + .p-treetable .p-treetable-footer { + background: transparent; + color: #8a8ea6; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 500; + } + .p-treetable .p-treetable-thead > tr > th { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tfoot > tr > td { + text-align: left; + padding: 0.571rem 0.571rem; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 1px 0; + font-weight: 500; + color: #8a8ea6; + background: transparent; + } + .p-treetable .p-sortable-column { + outline-color: #eee500; + } + .p-treetable .p-sortable-column .p-sortable-column-icon { + color: #8a8ea6; + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #44486d; + background: rgba(238, 229, 0, 0.16); + margin-left: 0.5rem; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #8a8ea6; + } + .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight { + background: rgba(68, 72, 109, 0.12); + color: #8a8ea6; + } + .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #8a8ea6; + } + .p-treetable .p-treetable-tbody > tr { + background: transparent; + color: #44486d; + transition: box-shadow 0.2s; + } + .p-treetable .p-treetable-tbody > tr > td { + text-align: left; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 0 0; + padding: 0.429rem 0.571rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox { + margin-right: 0.5rem; + } + .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr:focus-visible { + outline: 0.15rem solid #eee500; + outline-offset: -0.15rem; + } + .p-treetable .p-treetable-tbody > tr.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler { + color: #44486d; + } + .p-treetable .p-column-resizer-helper { + background: #eee500; + } + .p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: transparent; + } + .p-treetable .p-treetable-loading-icon { + font-size: 2rem; + } + .p-treetable .p-treetable-loading-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-treetable.p-treetable-gridlines .p-treetable-header { + border-width: 1px 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td { + border-width: 1px; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd { + background: transparent; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #44486d; + } + .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded { + background: transparent; + } + .p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.499625rem 0.499625rem; + } + .p-treetable.p-treetable-sm .p-treetable-thead > tr > th { + padding: 0.2855rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td { + padding: 0.2145rem 0.2855rem; + } + .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; + } + .p-treetable.p-treetable-lg .p-treetable-header { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-thead > tr > th { + padding: 0.71375rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td { + padding: 0.53625rem 0.71375rem; + } + .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td { + padding: 1.25rem 1.25rem; + } + .p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; + } + + .p-timeline .p-timeline-event-marker { + border: 2px solid #eee500; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: rgba(68, 72, 109, 0.07); + } + .p-timeline .p-timeline-event-connector { + background-color: rgba(68, 72, 109, 0.17); + } + .p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; + } + .p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; + } + .p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; + } + + .p-accordion .p-accordion-header .p-accordion-header-link { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; + } + .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-accordion .p-accordion-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab { + margin-bottom: 0; + } + .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link { + border-radius: 0; + } + .p-accordion .p-accordion-tab .p-accordion-content { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-top: 0 none; + } + .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-card { + background: transparent; + color: #44486d; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-card .p-card-body { + padding: 0.857rem 1.143rem; + } + .p-card .p-card-title { + font-size: 1.143rem; + font-weight: 500; + margin-bottom: 0.5rem; + } + .p-card .p-card-subtitle { + font-weight: 500; + margin-bottom: 0.5rem; + color: #8a8ea6; + } + .p-card .p-card-content { + padding: 1rem 0; + } + .p-card .p-card-footer { + padding: 1rem 0 0 0; + } + + .p-fieldset { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-radius: 6px; + } + .p-fieldset .p-fieldset-legend { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 0.714rem 1.143rem; + color: #44486d; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-fieldset .p-fieldset-content { + padding: 1.143rem; + } + + .p-divider .p-divider-content { + background-color: transparent; + } + .p-divider.p-divider-horizontal { + margin: 1rem 0; + padding: 0 1rem; + } + .p-divider.p-divider-horizontal:before { + border-top: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; + } + .p-divider.p-divider-vertical { + margin: 0 1rem; + padding: 1rem 0; + } + .p-divider.p-divider-vertical:before { + border-left: 1px rgba(68, 72, 109, 0.17); + } + .p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; + } + + .p-panel .p-panel-header { + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + background: transparent; + color: #44486d; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panel .p-panel-header .p-panel-title { + font-weight: 500; + } + .p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-panel .p-panel-header .p-panel-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panel.p-panel-toggleable .p-panel-header { + padding: 0.429rem 0.571rem; + } + .p-panel .p-panel-content { + padding: 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; + } + .p-panel .p-panel-footer { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0 none; + } + + .p-splitter { + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + border-radius: 6px; + color: #44486d; + } + .p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: rgba(68, 72, 109, 0.17); + } + .p-splitter .p-splitter-gutter-resizing { + background: rgba(68, 72, 109, 0.17); + } + + .p-scrollpanel .p-scrollpanel-bar { + background: transparent; + border: 0 none; + } + + .p-tabview .p-tabview-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabview .p-tabview-nav li { + margin-right: 0.857rem; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + } + .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: transparent; + border-color: #eee500; + color: #eee500; + } + .p-tabview .p-tabview-close { + margin-left: 0.5rem; + } + .p-tabview .p-tabview-nav-btn.p-link { + background: transparent; + color: #eee500; + width: 2.286rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; + } + .p-tabview .p-tabview-nav-btn.p-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabview .p-tabview-panels { + background: transparent; + padding: 1.143rem 0; + border: 0 none; + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-toolbar { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 0.714rem 1.143rem; + border-radius: 6px; + gap: 0.5rem; + } + .p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; + } + + .p-confirm-popup { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-confirm-popup .p-confirm-popup-content { + padding: 1.143rem; + } + .p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; + } + .p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; + } + .p-confirm-popup:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-confirm-popup:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ececf9; + } + .p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ececf9; + } + .p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + .p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; + } + + .p-dialog { + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + border: 0 none; + } + .p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ececf9; + color: #44486d; + padding: 1.286rem 1.714rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-dialog .p-dialog-header .p-dialog-title { + font-weight: 500; + font-size: 1.143rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; + } + .p-dialog .p-dialog-content { + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + } + .p-dialog .p-dialog-content:last-of-type { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ececf9; + color: #44486d; + padding: 0 1.714rem 1.714rem 1.714rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; + } + .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type { + border-radius: 0; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; + } + + .p-overlaypanel { + background: #ececf9; + color: #44486d; + border: 0 none; + border-radius: 6px; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-overlaypanel .p-overlaypanel-content { + padding: 1.143rem; + } + .p-overlaypanel .p-overlaypanel-close { + background: #eee500; + color: #0a061a; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; + } + .p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #d6ce00; + color: #0a061a; + } + .p-overlaypanel:after { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #ececf9; + } + .p-overlaypanel:before { + border: solid transparent; + border-color: rgba(236, 236, 249, 0); + border-bottom-color: #dadaf3; + } + .p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ececf9; + } + .p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ececf9; + } + + .p-sidebar { + background: #ececf9; + color: #44486d; + border: 0 none; + box-shadow: 0px 18px 50px -4px rgba(68, 72, 109, 0.1); + } + .p-sidebar .p-sidebar-header { + padding: 0.714rem 1.143rem; + } + .p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #676b89; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #44486d; + border-color: transparent; + background: rgba(68, 72, 109, 0.07); + } + .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-sidebar .p-sidebar-header + .p-sidebar-content { + padding-top: 0; + } + .p-sidebar .p-sidebar-content { + padding: 1.143rem; + } + + .p-tooltip .p-tooltip-text { + background: #ececf9; + color: #44486d; + padding: 0.429rem 0.571rem; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; + } + .p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #ececf9; + } + .p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #ececf9; + } + .p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #ececf9; + } + .p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #ececf9; + } + + .p-fileupload .p-fileupload-buttonbar { + background: transparent; + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + gap: 0.5rem; + } + .p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; + } + .p-fileupload .p-fileupload-content { + background: transparent; + padding: 2rem 1rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-fileupload .p-progressbar { + height: 0.25rem; + } + .p-fileupload .p-fileupload-row > div { + padding: 0.429rem 0.571rem; + } + .p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; + } + + .p-breadcrumb { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + padding: 0.857rem; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator { + margin: 0 0.5rem 0 0.5rem; + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text { + color: #676b89; + } + .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon { + color: #676b89; + } + + .p-contextmenu { + padding: 0.429rem; + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + width: 12.5rem; + } + .p-contextmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-contextmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + border-radius: 6px; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-contextmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-contextmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-contextmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; + } + .p-dock .p-dock-item { + padding: 0.5rem; + } + .p-dock .p-dock-action { + width: 4rem; + height: 4rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; + } + .p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; + } + + @media screen and (max-width: 960px) { + .p-dock.p-dock-top .p-dock-container, .p-dock.p-dock-bottom .p-dock-container { + overflow-x: auto; + width: 100%; + } + .p-dock.p-dock-top .p-dock-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-container .p-dock-list { + margin: 0 auto; + } + .p-dock.p-dock-left .p-dock-container, .p-dock.p-dock-right .p-dock-container { + overflow-y: auto; + height: 100%; + } + .p-dock.p-dock-left .p-dock-container .p-dock-list, .p-dock.p-dock-right .p-dock-container .p-dock-list { + margin: auto 0; + } + .p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + transform: none; + margin: 0; + } + } + .p-megamenu { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-megamenu-panel { + background: #ececf9; + color: #676b89; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-megamenu .p-megamenu-submenu { + padding: 0.429rem; + width: 12.5rem; + } + .p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.429rem; + } + .p-megamenu .p-megamenu-button { + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-megamenu .p-megamenu-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu .p-megamenu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu .p-submenu-icon { + transition: transform 0.2s; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-menu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menu.p-menu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-menu .p-submenu-header { + margin: 0; + padding: 0.571rem 0.429rem; + color: #8a8ea6; + background: transparent; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-menu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + + .p-menubar { + padding: 0.857rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-menubar .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + margin-left: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 12.5rem; + } + .p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-submenu-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + + @media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #676b89; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-menubar .p-menubar-button:hover { + color: #44486d; + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + width: 100%; + } + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-180deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon { + transform: rotate(-90deg); + } + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + .p-menubar .p-menubar-root-list ul li a { + padding-left: 1.713rem; + } + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 2.855rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 3.997rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 5.139rem; + } + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 6.281rem; + } + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } + } + .p-panelmenu .p-panelmenu-header > a { + padding: 0.714rem 1.143rem; + border: 1px solid rgba(68, 72, 109, 0.17); + color: #44486d; + background: transparent; + font-weight: 500; + border-radius: 6px; + transition: box-shadow 0.2s; + } + .p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-header > a:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover { + background: rgba(68, 72, 109, 0.07); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + } + .p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight > a { + background: rgba(68, 72, 109, 0.12); + border-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover { + border-color: rgba(68, 72, 109, 0.17); + background: rgba(68, 72, 109, 0.12); + color: #44486d; + } + .p-panelmenu .p-panelmenu-content { + padding: 0.429rem; + border: 1px solid rgba(68, 72, 109, 0.17); + background: transparent; + color: #44486d; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; + } + .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; + } + .p-panelmenu .p-panelmenu-panel { + margin-bottom: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel .p-panelmenu-content { + border-radius: 0; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a { + border-top: 0 none; + } + .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a { + border-top-right-radius: 6px; + border-top-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + } + + .p-slidemenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-slidemenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-slidemenu.p-slidemenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link { + background: rgba(68, 72, 109, 0.07); + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text { + color: #44486d; + } + .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon { + color: #44486d; + } + .p-slidemenu .p-slidemenu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; + } + .p-slidemenu .p-slidemenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + .p-slidemenu .p-slidemenu-backward { + padding: 0.571rem 0.429rem; + color: #676b89; + } + + .p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: transparent; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #8a8ea6; + border: 0 none; + background: transparent; + min-width: 1.714rem; + height: 1.714rem; + line-height: 1.714rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 12px; + } + .p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #8a8ea6; + } + .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-steps .p-steps-item.p-highlight .p-steps-number { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 400; + color: #44486d; + } + .p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid rgba(68, 72, 109, 0.17); + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -0.857rem; + } + + .p-tabmenu .p-tabmenu-nav { + background: transparent; + border: 1px solid rgba(68, 72, 109, 0.17); + border-width: 0 0 2px 0; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0.857rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid transparent; + border-width: 0 0 2px 0; + border-color: transparent transparent transparent transparent; + background: transparent; + color: #8a8ea6; + padding: 0.571rem 0.429rem; + font-weight: 500; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; + height: calc(100% + 2px); + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 none; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: transparent; + border-color: #44486d; + color: #44486d; + } + .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: transparent; + border-color: #eee500; + color: #eee500; + } + + .p-tieredmenu { + padding: 0.429rem; + background: transparent; + color: #676b89; + border: 1px solid rgba(68, 72, 109, 0.17); + border-radius: 6px; + width: 12.5rem; + } + .p-tieredmenu .p-menuitem-link { + padding: 0.571rem 0.429rem; + color: #676b89; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #676b89; + margin-right: 0.5rem; + } + .p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #676b89; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-tieredmenu.p-tieredmenu-overlay { + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-submenu-list { + padding: 0.429rem; + background: #ececf9; + border: 1px solid transparent; + box-shadow: 0px 9px 30px rgba(68, 72, 109, 0.06); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link { + background: rgba(68, 72, 109, 0.07); + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text { + color: #44486d; + } + .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon { + color: #44486d; + } + .p-tieredmenu .p-menu-separator { + border-top: 1px solid rgba(68, 72, 109, 0.17); + margin: 0.25rem 0; + } + .p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; + transition: transform 0.2s; + } + .p-tieredmenu .p-submenu-icon.p-icon { + width: 0.875rem; + height: 0.875rem; + } + + .p-inline-message { + padding: 0.429rem 0.571rem; + margin: 0; + border-radius: 6px; + } + .p-inline-message.p-inline-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #44486d; + } + .p-inline-message.p-inline-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #44486d; + } + .p-inline-message .p-inline-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-inline-message .p-inline-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-inline-message .p-inline-message-text { + font-size: 1rem; + } + .p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; + } + + .p-message { + margin: 1rem 0; + border-radius: 6px; + } + .p-message .p-message-wrapper { + padding: 1.143rem 1.357rem; + } + .p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-message .p-message-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-message.p-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-info .p-message-icon { + color: #44486d; + } + .p-message.p-message-info .p-message-close { + color: #44486d; + } + .p-message.p-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-success .p-message-icon { + color: #44486d; + } + .p-message.p-message-success .p-message-close { + color: #44486d; + } + .p-message.p-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-warn .p-message-icon { + color: #44486d; + } + .p-message.p-message-warn .p-message-close { + color: #44486d; + } + .p-message.p-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-message.p-message-error .p-message-icon { + color: #44486d; + } + .p-message.p-message-error .p-message-close { + color: #44486d; + } + .p-message .p-message-text { + font-size: 1rem; + font-weight: 400; + } + .p-message .p-message-icon { + font-size: 1.286rem; + margin-right: 0.5rem; + } + .p-message .p-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-message .p-message-summary { + font-weight: 700; + } + .p-message .p-message-detail { + margin-left: 0.5rem; + } + + .p-toast { + opacity: 0.9; + } + .p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: none; + border-radius: 6px; + } + .p-toast .p-toast-message .p-toast-message-content { + padding: 1.143rem 1.357rem; + border-width: 0 0 0 20px; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon { + width: 1.286rem; + height: 1.286rem; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 400; + } + .p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; + } + .p-toast .p-toast-message .p-toast-icon-close { + width: 1.286rem; + height: 1.286rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.5); + } + .p-toast .p-toast-message .p-toast-icon-close:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-toast .p-toast-message.p-toast-message-info { + background: rgba(68, 72, 109, 0.07); + border: solid #873efe; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success { + background: rgba(68, 72, 109, 0.07); + border: solid #0bd18a; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn { + background: rgba(68, 72, 109, 0.07); + border: solid #eee500; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error { + background: rgba(68, 72, 109, 0.07); + border: solid #fc6161; + border-width: 0 0 0 20px; + color: #44486d; + } + .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #44486d; + } + + .p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-close:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-item-nav { + background: transparent; + color: #44486d; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; + } + .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon { + width: 2rem; + height: 2rem; + } + .p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: transparent; + padding: 1rem; + } + .p-galleria .p-galleria-indicators { + padding: 1rem; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: rgba(68, 72, 109, 0.12); + width: 1.429rem; + height: 0.286rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 3px; + } + .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(68, 72, 109, 0.15); + } + .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; + } + .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: #676b89; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: #44486d; + } + .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: rgba(238, 229, 0, 0.16); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container { + background: #ececf9; + padding: 1rem 0.25rem; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #44486d; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(68, 72, 109, 0.15); + color: #44486d; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; + } + .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); + } + + .p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-image-preview-indicator .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-image-preview-container:hover > .p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); + } + + .p-image-toolbar { + padding: 1rem; + } + + .p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; + } + .p-image-action.p-link:last-child { + margin-right: 0; + } + .p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); + } + .p-image-action.p-link span { + font-size: 1.5rem; + } + .p-image-action.p-link .p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-avatar { + background-color: rgba(68, 72, 109, 0.17); + border-radius: 6px; + } + .p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; + } + .p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; + } + .p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; + } + .p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; + } + + .p-avatar-circle { + border-radius: 50%; + } + + .p-avatar-group .p-avatar { + border: 2px solid transparent; + } + + .p-chip { + background-color: rgba(68, 72, 109, 0.17); + color: #44486d; + border-radius: 16px; + padding: 0 0.571rem; + } + .p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.2145rem; + margin-bottom: 0.2145rem; + } + .p-chip .p-chip-icon { + margin-right: 0.5rem; + } + .p-chip img { + width: 1.929rem; + height: 1.929rem; + margin-left: -0.571rem; + margin-right: 0.5rem; + } + .p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; + } + .p-chip .p-chip-remove-icon:focus-visible { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + .p-chip .p-chip-remove-icon:focus { + outline: 0 none; + } + + .p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + .p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); + } + .p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); + } + .p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: transparent; + } + .p-scrolltop .p-scrolltop-icon.p-icon { + width: 1.5rem; + height: 1.5rem; + } + + .p-skeleton { + background-color: rgba(68, 72, 109, 0.07); + border-radius: 6px; + } + .p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); + } + + .p-tag { + background: #eee500; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 1rem; + } + .p-tag .p-tag-icon.p-icon { + width: 1rem; + height: 1rem; + } + + .p-inplace .p-inplace-display { + padding: 0.429rem 0.571rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + } + .p-inplace .p-inplace-display:not(.p-disabled):hover { + background: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 none; + } + + .p-progressbar { + border: 0 none; + height: 0.571rem; + background: rgba(68, 72, 109, 0.12); + border-radius: 6px; + } + .p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #eee500; + } + .p-progressbar .p-progressbar-label { + color: #0a061a; + line-height: 0.571rem; + } + + .p-terminal { + background: transparent; + color: #44486d; + border: 1px solid rgba(68, 72, 109, 0.17); + padding: 1.143rem; + } + .p-terminal .p-terminal-input { + font-family: var(--font-family); + font-feature-settings: var(--font-feature-settings, normal); + font-size: 1rem; + } + + .p-badge { + background: #eee500; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + min-width: 1.429rem; + height: 1.429rem; + line-height: 1.429rem; + } + .p-badge.p-badge-secondary { + background-color: rgba(68, 72, 109, 0.07); + color: #44486d; + } + .p-badge.p-badge-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-badge.p-badge-info { + background-color: #873efe; + color: #ffffff; + } + .p-badge.p-badge-warning { + background-color: #eee500; + color: #44486d; + } + .p-badge.p-badge-danger { + background-color: #fc6161; + color: #ffffff; + } + .p-badge.p-badge-lg { + font-size: 1.5rem; + min-width: 2.1435rem; + height: 2.1435rem; + line-height: 2.1435rem; + } + .p-badge.p-badge-xl { + font-size: 2rem; + min-width: 2.858rem; + height: 2.858rem; + line-height: 2.858rem; + } + + .p-tag { + background: #eee500; + color: #0a061a; + font-size: 1rem; + font-weight: 500; + padding: 0 0.429rem; + border-radius: 6px; + } + .p-tag.p-tag-success { + background-color: #0bd18a; + color: #ffffff; + } + .p-tag.p-tag-info { + background-color: #873efe; + color: #ffffff; + } + .p-tag.p-tag-warning { + background-color: #eee500; + color: #44486d; + } + .p-tag.p-tag-danger { + background-color: #fc6161; + color: #ffffff; + } +} +.p-button-label { + font-weight: 500; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #eee500; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #eee500; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #eee500; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(152, 156, 191, 0.07), 0 1px 2px 0 black; +} +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #75f8c9, 0 1px 2px 0 black; +} +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #c39fff, 0 1px 2px 0 black; +} +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #fffa77, 0 1px 2px 0 black; +} +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f6a6de, 0 1px 2px 0 black; +} +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #feb0b0, 0 1px 2px 0 black; +} + +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td { + box-shadow: inset 0 2px 0 0 #eee500; +} +.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td { + box-shadow: inset 0 -2px 0 0 #eee500; +} + +.custom-timeline.p-timeline.p-timeline-vertical .p-timeline-event-opposite { + flex: 0; + padding: 0; +} diff --git a/public/theme/theme-light/yellow/theme.scss b/public/theme/theme-light/yellow/theme.scss new file mode 100644 index 0000000..8101877 --- /dev/null +++ b/public/theme/theme-light/yellow/theme.scss @@ -0,0 +1,13 @@ +$primaryColor: #eee500; +$primaryLightColor: scale-color($primaryColor, $lightness: 60%) !default; +$primaryDarkColor: scale-color($primaryColor, $lightness: -10%) !default; +$primaryDarkerColor: scale-color($primaryColor, $lightness: -20%) !default; +$primaryTextColor: #0a061a; +$primary500: #eee500 !default; + +$highlightBg: $primaryColor; +$highlightTextColor: $primaryTextColor; + +@import '../_variables'; +@import '../../theme-base/_components'; +@import '../_extensions'; diff --git a/scripts/generate-logos.py b/scripts/generate-logos.py new file mode 100644 index 0000000..292aa40 --- /dev/null +++ b/scripts/generate-logos.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python3 +""" +Script pour générer les logos BTPXpress dans différentes variantes +""" + +from PIL import Image, ImageDraw, ImageFont +import os + +def create_logo_base(width, height, bg_color, text_color, border_color=None): + """Crée un logo de base BTPXpress""" + img = Image.new('RGBA', (width, height), (0, 0, 0, 0)) + draw = ImageDraw.Draw(img) + + # Calculer les dimensions du badge + badge_size = min(width, height) - 10 + badge_x = (width - badge_size) // 2 + badge_y = (height - badge_size) // 2 + + # Dessiner le badge principal + draw.rounded_rectangle( + [badge_x, badge_y, badge_x + badge_size, badge_y + badge_size], + radius=badge_size // 8, + fill=bg_color, + outline=border_color, + width=2 if border_color else 0 + ) + + # Calculer la taille de police + font_size = badge_size // 3 + try: + font = ImageFont.truetype("arial.ttf", font_size) + except: + font = ImageFont.load_default() + + # Dessiner le texte "BTP" + text = "BTP" + bbox = draw.textbbox((0, 0), text, font=font) + text_width = bbox[2] - bbox[0] + text_height = bbox[3] - bbox[1] + + text_x = badge_x + (badge_size - text_width) // 2 + text_y = badge_y + (badge_size - text_height) // 2 + + draw.text((text_x, text_y), text, fill=text_color, font=font) + + return img + +def create_appname_base(width, height, text_color, bg_transparent=True): + """Crée le nom de l'application BTPXpress""" + bg_color = (0, 0, 0, 0) if bg_transparent else (255, 255, 255, 255) + img = Image.new('RGBA', (width, height), bg_color) + draw = ImageDraw.Draw(img) + + # Calculer la taille de police + font_size = height // 2 + try: + font = ImageFont.truetype("arial.ttf", font_size) + except: + font = ImageFont.load_default() + + # Dessiner le texte "Xpress" + text = "Xpress" + bbox = draw.textbbox((0, 0), text, font=font) + text_width = bbox[2] - bbox[0] + text_height = bbox[3] - bbox[1] + + text_x = (width - text_width) // 2 + text_y = (height - text_height) // 2 + + draw.text((text_x, text_y), text, fill=text_color, font=font) + + return img + +def generate_all_logos(): + """Génère tous les logos nécessaires""" + output_dir = "../public/layout/images/logo" + os.makedirs(output_dir, exist_ok=True) + + # Couleurs BTPXpress + orange = (249, 115, 22, 255) # #f97316 + white = (255, 255, 255, 255) + black = (0, 0, 0, 255) + gray = (107, 114, 128, 255) # #6b7280 + + # Dimensions basées sur les fichiers existants + logo_size = (64, 64) # Taille standard pour les logos + appname_size = (120, 24) # Taille pour le nom de l'app + + # Générer les logos principaux + logos = { + 'logo-light.png': create_logo_base(*logo_size, white, orange, orange), + 'logo-dark.png': create_logo_base(*logo_size, orange, white), + 'logo-gray.png': create_logo_base(*logo_size, gray, white), + } + + # Générer les noms d'application + appnames = { + 'appname-light.png': create_appname_base(*appname_size, white), + 'appname-dark.png': create_appname_base(*appname_size, black), + 'appname-gray.png': create_appname_base(*appname_size, gray), + } + + # Créer un logo principal optimisé pour remplacer btpxpress-logo.png + main_logo = create_logo_base(128, 128, orange, white) + + # Sauvegarder tous les fichiers + all_images = {**logos, **appnames, 'btpxpress-logo-optimized.png': main_logo} + + for filename, img in all_images.items(): + filepath = os.path.join(output_dir, filename) + img.save(filepath, 'PNG', optimize=True) + print(f"✅ Généré: {filename}") + + print(f"\n🎉 Tous les logos ont été générés dans {output_dir}") + +if __name__ == "__main__": + generate_all_logos() diff --git a/scripts/test-api.js b/scripts/test-api.js new file mode 100644 index 0000000..4099ef7 --- /dev/null +++ b/scripts/test-api.js @@ -0,0 +1,103 @@ +// Script de test pour vérifier la connectivité API et créer des données de test + +const API_BASE_URL = 'http://localhost:8080/api/v1'; + +async function testAPI() { + console.log('🚀 Test de connectivité API BTPXpress...\n'); + + try { + // Test 1: Vérifier la santé de l'API + console.log('1. Test de santé de l\'API...'); + const healthResponse = await fetch(`${API_BASE_URL}/health`); + console.log(` Status: ${healthResponse.status}`); + + // Test 2: Lister les chantiers + console.log('\n2. Test GET /api/v1/chantiers...'); + const chantiersResponse = await fetch(`${API_BASE_URL}/chantiers`); + console.log(` Status: ${chantiersResponse.status}`); + const chantiers = await chantiersResponse.json(); + console.log(` Nombre de chantiers: ${chantiers.length}`); + + // Test 3: Lister les clients + console.log('\n3. Test GET /api/clients...'); + const clientsResponse = await fetch(`${API_BASE_URL}/clients`); + console.log(` Status: ${clientsResponse.status}`); + const clients = await clientsResponse.json(); + console.log(` Nombre de clients: ${clients.length}`); + + // Test 4: Créer un client de test si aucun n'existe + if (clients.length === 0) { + console.log('\n4. Création d\'un client de test...'); + const clientData = { + nom: 'Client Test', + email: 'test@btpxpress.dev', + telephone: '0123456789', + adresse: '123 Rue de Test', + ville: 'Paris', + codePostal: '75001', + typeClient: 'PARTICULIER', + actif: true + }; + + const createClientResponse = await fetch(`${API_BASE_URL}/clients`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(clientData) + }); + + console.log(` Status: ${createClientResponse.status}`); + if (createClientResponse.ok) { + const newClient = await createClientResponse.json(); + console.log(` Client créé avec ID: ${newClient.id}`); + } + } + + // Test 5: Créer un chantier de test si aucun n'existe + if (chantiers.length === 0 && clients.length > 0) { + console.log('\n5. Création d\'un chantier de test...'); + const chantierData = { + nom: 'Chantier Test', + description: 'Chantier de démonstration', + adresse: '456 Avenue de Test', + ville: 'Lyon', + codePostal: '69001', + clientId: clients[0].id, + statut: 'EN_PREPARATION', + typeChantier: 'CONSTRUCTION_NEUVE', + dateDebutPrevue: new Date().toISOString(), + dateFinPrevue: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(), + budgetPrevisionnel: 50000, + pourcentageAvancement: 0, + actif: true + }; + + const createChantierResponse = await fetch(`${API_BASE_URL}/chantiers`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(chantierData) + }); + + console.log(` Status: ${createChantierResponse.status}`); + if (createChantierResponse.ok) { + const newChantier = await createChantierResponse.json(); + console.log(` Chantier créé avec ID: ${newChantier.id}`); + } + } + + console.log('\n✅ Tests API terminés avec succès !'); + + } catch (error) { + console.error('\n❌ Erreur lors des tests API:', error); + } +} + +// Exécuter les tests si le script est appelé directement +if (typeof window === 'undefined') { + testAPI(); +} + +module.exports = { testAPI }; diff --git a/services/ApiService.ts b/services/ApiService.ts new file mode 100644 index 0000000..20cfb91 --- /dev/null +++ b/services/ApiService.ts @@ -0,0 +1,119 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { keycloak, KEYCLOAK_TIMEOUTS } from '../config/keycloak'; + +class ApiService { + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token Keycloak + this.api.interceptors.request.use( + async (config) => { + // Vérifier si Keycloak est initialisé et l'utilisateur authentifié + if (keycloak && keycloak.authenticated) { + try { + // Rafraîchir le token si nécessaire + await keycloak.updateToken(KEYCLOAK_TIMEOUTS.TOKEN_REFRESH_BEFORE_EXPIRY); + + // Ajouter le token Bearer à l'en-tête Authorization + if (keycloak.token) { + config.headers['Authorization'] = `Bearer ${keycloak.token}`; + } + } catch (error) { + console.error('Erreur lors de la mise à jour du token Keycloak:', error); + // En cas d'erreur, rediriger vers la page de connexion + keycloak.login(); + throw error; + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + async (error) => { + if (error.response?.status === 401) { + // Essayer de rafraîchir le token Keycloak + if (keycloak && keycloak.authenticated) { + try { + await keycloak.updateToken(-1); // Force refresh + // Retry the original request + return this.api.request(error.config); + } catch (refreshError) { + console.error('Impossible de rafraîchir le token:', refreshError); + keycloak.login(); + } + } else { + // Ne pas rediriger si on est en train de traiter un code d'autorisation + if (typeof window !== 'undefined') { + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + if (!hasAuthCode) { + // Fallback vers l'ancien système + localStorage.removeItem('token'); + localStorage.removeItem('user'); + localStorage.removeItem('auth_token'); + sessionStorage.removeItem('auth_token'); + window.location.href = '/api/auth/login'; + } else { + console.log('🔄 ApiService: Erreur 401 ignorée car authentification en cours...'); + } + } + } + } + return Promise.reject(error); + } + ); + } + + async get(url: string, config?: any): Promise { + const response = await this.api.get(url, config); + return response.data; + } + + async post(url: string, data?: any, config?: any): Promise { + const response = await this.api.post(url, data, config); + return response.data; + } + + async put(url: string, data?: any, config?: any): Promise { + const response = await this.api.put(url, data, config); + return response.data; + } + + async delete(url: string, config?: any): Promise { + const response = await this.api.delete(url, config); + return response.data; + } + + async patch(url: string, data?: any, config?: any): Promise { + const response = await this.api.patch(url, data, config); + return response.data; + } +} + +export default new ApiService(); \ No newline at end of file diff --git a/services/__tests__/errorHandler.test.ts b/services/__tests__/errorHandler.test.ts new file mode 100644 index 0000000..4400f55 --- /dev/null +++ b/services/__tests__/errorHandler.test.ts @@ -0,0 +1,199 @@ +/** + * Tests pour le service ErrorHandler + */ + +import { ErrorHandler } from '../errorHandler'; +import { AxiosError } from 'axios'; + +// Mock du Toast +const mockToast = { + current: { + show: jest.fn() + } +}; + +describe('ErrorHandler', () => { + beforeEach(() => { + jest.clearAllMocks(); + ErrorHandler.setToast(mockToast as any); + }); + + describe('handleApiError', () => { + it('should handle 400 Bad Request', () => { + const error = new AxiosError('Bad Request', '400', undefined, undefined, { + status: 400, + data: { error: 'Données invalides' } + } as any); + + ErrorHandler.handleApiError(error, 'test'); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'error', + summary: 'Données invalides', + detail: 'Données invalides', + life: 5000 + }); + }); + + it('should handle 401 Unauthorized', () => { + const error = new AxiosError('Unauthorized', '401', undefined, undefined, { + status: 401, + data: { error: 'Non autorisé' } + } as any); + + // Mock window.location + delete (window as any).location; + window.location = { href: '' } as any; + + ErrorHandler.handleApiError(error); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'error', + summary: 'Non autorisé', + detail: 'Veuillez vous reconnecter', + life: 5000 + }); + expect(window.location.href).toBe('/auth/login'); + }); + + it('should handle 404 Not Found', () => { + const error = new AxiosError('Not Found', '404', undefined, undefined, { + status: 404, + data: { error: 'Ressource non trouvée' } + } as any); + + ErrorHandler.handleApiError(error); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'error', + summary: 'Ressource non trouvée', + detail: 'Ressource non trouvée', + life: 5000 + }); + }); + + it('should handle 422 Validation Errors', () => { + const error = new AxiosError('Validation Error', '422', undefined, undefined, { + status: 422, + data: { + error: 'Erreurs de validation', + details: [ + { field: 'nom', message: 'Le nom est obligatoire' }, + { field: 'email', message: 'Email invalide' } + ] + } + } as any); + + ErrorHandler.handleApiError(error); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'error', + summary: 'Erreurs de validation', + detail: 'nom: Le nom est obligatoire\nemail: Email invalide', + life: 5000 + }); + }); + + it('should handle 500 Internal Server Error', () => { + const error = new AxiosError('Internal Server Error', '500', undefined, undefined, { + status: 500, + data: { error: 'Erreur serveur' } + } as any); + + ErrorHandler.handleApiError(error); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'error', + summary: 'Erreur serveur', + detail: 'Une erreur interne s\'est produite. Veuillez réessayer plus tard.', + life: 5000 + }); + }); + + it('should handle network errors', () => { + const error = new AxiosError('Network Error'); + error.request = {}; + + ErrorHandler.handleApiError(error); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'error', + summary: 'Erreur de connexion', + detail: 'Impossible de contacter le serveur. Vérifiez votre connexion internet.', + life: 5000 + }); + }); + }); + + describe('validation methods', () => { + it('should validate required fields', () => { + const fields = { + nom: 'John', + email: '', + age: null, + actif: true + }; + + const errors = ErrorHandler.validateRequired(fields); + + expect(errors).toEqual([ + 'Le champ "email" est obligatoire', + 'Le champ "age" est obligatoire' + ]); + }); + + it('should validate email addresses', () => { + expect(ErrorHandler.validateEmail('test@example.com')).toBe(true); + expect(ErrorHandler.validateEmail('invalid-email')).toBe(false); + expect(ErrorHandler.validateEmail('')).toBe(false); + }); + + it('should validate phone numbers', () => { + expect(ErrorHandler.validatePhoneNumber('01 23 45 67 89')).toBe(true); + expect(ErrorHandler.validatePhoneNumber('0123456789')).toBe(true); + expect(ErrorHandler.validatePhoneNumber('+33 1 23 45 67 89')).toBe(true); + expect(ErrorHandler.validatePhoneNumber('invalid')).toBe(false); + }); + + it('should validate SIRET numbers', () => { + expect(ErrorHandler.validateSiret('12345678901234')).toBe(false); // Invalid checksum + expect(ErrorHandler.validateSiret('123456789')).toBe(false); // Too short + expect(ErrorHandler.validateSiret('abcd')).toBe(false); // Not numeric + }); + }); + + describe('message methods', () => { + it('should show success message', () => { + ErrorHandler.showSuccess('Succès', 'Opération réussie'); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'success', + summary: 'Succès', + detail: 'Opération réussie', + life: 3000 + }); + }); + + it('should show warning message', () => { + ErrorHandler.showWarning('Attention', 'Avertissement'); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'warn', + summary: 'Attention', + detail: 'Avertissement', + life: 4000 + }); + }); + + it('should show info message', () => { + ErrorHandler.showInfo('Information', 'Message informatif'); + + expect(mockToast.current.show).toHaveBeenCalledWith({ + severity: 'info', + summary: 'Information', + detail: 'Message informatif', + life: 3000 + }); + }); + }); +}); diff --git a/services/analysePrixService.ts b/services/analysePrixService.ts new file mode 100644 index 0000000..6b69dd6 --- /dev/null +++ b/services/analysePrixService.ts @@ -0,0 +1,287 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { + AnalysePrixPhase, + ApiResponse +} from '../types/btp-extended'; +import materielPhaseService from './materielPhaseService'; +import fournisseurPhaseService from './fournisseurPhaseService'; + +class AnalysePrixService { + private readonly basePath = '/analyses-prix'; + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token JWT + this.api.interceptors.request.use( + (config) => { + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + window.location.href = '/api/auth/login'; + } + return Promise.reject(error); + } + ); + } + + /** + * Récupérer l'analyse de prix d'une phase + */ + async getByPhase(phaseId: string): Promise { + if (!phaseId || phaseId === 'undefined' || phaseId === 'null' || phaseId === 'NaN') { + console.warn(`ID de phase invalide: ${phaseId}`); + return null; + } + + try { + const response = await this.api.get(`${this.basePath}/phase/${phaseId}`); + return response.data; + } catch (error) { + console.warn(`Endpoint ${this.basePath}/phase/${phaseId} non disponible:`, error); + return null; + } + } + + /** + * Créer ou mettre à jour une analyse de prix + */ + async createOrUpdate(analyse: Omit): Promise { + try { + const response = await this.api.post(`${this.basePath}`, analyse); + return response.data; + } catch (error) { + console.warn('Endpoint createOrUpdate non disponible, calcul local:', error); + return { + ...analyse, + id: Date.now(), // ID temporaire + dateAnalyse: new Date() + }; + } + } + + /** + * Calculer automatiquement l'analyse de prix d'une phase + */ + async calculerAnalyseComplete(phaseId: string): Promise { + try { + // Récupération des données de base + const [materiels, fournisseurs] = await Promise.all([ + materielPhaseService.getByPhase(phaseId), + fournisseurPhaseService.getByPhase(phaseId) + ]); + + // Calcul du coût des matériaux + const coutMateriauxTotal = materiels.reduce((total, materiel) => { + const prix = materiel.prixUnitaireNegocie || materiel.prixUnitaireCatalogue || 0; + const quantite = materiel.quantiteUtilisee || materiel.quantitePrevue || 0; + return total + (prix * quantite); + }, 0); + + // Calcul du coût de main d'œuvre (estimation basée sur les matériaux) + const coutMainOeuvreTotal = this.estimerCoutMainOeuvre(coutMateriauxTotal); + + // Calcul du coût de sous-traitance + const coutSousTraitanceTotal = fournisseurs + .filter(f => f.typeContribution === 'SOUS_TRAITANCE') + .reduce((total, f) => total + (f.prixNegocie || f.prixCatalogue || 0), 0); + + // Calcul du coût des services et autres + const coutAutresTotal = fournisseurs + .filter(f => ['SERVICE', 'LOCATION', 'TRANSPORT'].includes(f.typeContribution)) + .reduce((total, f) => total + (f.prixNegocie || f.prixCatalogue || 0), 0); + + // Coût total direct + const coutTotalDirect = coutMateriauxTotal + coutMainOeuvreTotal + coutSousTraitanceTotal + coutAutresTotal; + + // Frais généraux (15% par défaut) + const tauxFraisGeneraux = 0.15; + const fraisGeneraux = coutTotalDirect * tauxFraisGeneraux; + const coutTotalAvecFrais = coutTotalDirect + fraisGeneraux; + + // Marge objectif (20% par défaut) + const tauxMargeObjectif = 0.20; + const margeObjectif = coutTotalAvecFrais * tauxMargeObjectif; + const prixVenteCalcule = coutTotalAvecFrais + margeObjectif; + + // Calcul de la rentabilité prévisionnelle + const rentabilitePrevisionnelle = (margeObjectif / prixVenteCalcule) * 100; + + const analyse: AnalysePrixPhase = { + phase: { id: parseInt(phaseId) } as any, + coutMateriauxTotal, + coutMainOeuvreTotal, + coutSousTraitanceTotal, + coutAutresTotal, + coutTotalDirect, + fraisGeneraux, + tauxFraisGeneraux: tauxFraisGeneraux * 100, + coutTotalAvecFrais, + margeObjectif, + tauxMargeObjectif: tauxMargeObjectif * 100, + prixVenteCalcule, + rentabilitePrevisionnelle, + dateAnalyse: new Date() + }; + + return await this.createOrUpdate(analyse); + } catch (error) { + console.error('Erreur lors du calcul de l\'analyse de prix:', error); + throw error; + } + } + + /** + * Comparer plusieurs scénarios de prix + */ + async comparerScenarios( + phaseId: string, + scenarios: Array<{ + nom: string; + tauxMarge: number; + tauxFraisGeneraux?: number; + }> + ): Promise> { + const analyseBase = await this.calculerAnalyseComplete(phaseId); + + return scenarios.map(scenario => { + const tauxFraisGeneraux = scenario.tauxFraisGeneraux || 0.15; + const fraisGeneraux = analyseBase.coutTotalDirect * tauxFraisGeneraux; + const coutTotalAvecFrais = analyseBase.coutTotalDirect + fraisGeneraux; + const margeObjectif = coutTotalAvecFrais * (scenario.tauxMarge / 100); + const prixVenteCalcule = coutTotalAvecFrais + margeObjectif; + const rentabilitePrevisionnelle = (margeObjectif / prixVenteCalcule) * 100; + + return { + ...analyseBase, + nomScenario: scenario.nom, + tauxFraisGeneraux: tauxFraisGeneraux * 100, + fraisGeneraux, + coutTotalAvecFrais, + tauxMargeObjectif: scenario.tauxMarge, + margeObjectif, + prixVenteCalcule, + rentabilitePrevisionnelle + }; + }); + } + + /** + * Valider une analyse de prix + */ + async validerAnalyse(id: number, validePar: string): Promise { + try { + const response = await this.api.post(`${this.basePath}/${id}/valider`, { + validePar, + dateValidation: new Date(), + validee: true + }); + return response.data; + } catch (error) { + console.warn('Validation non disponible côté serveur'); + throw error; + } + } + + /** + * Calculer la rentabilité réelle après réalisation + */ + async calculerRentabiliteReelle(phaseId: string, coutReel: number, prixVenteReel: number): Promise { + const margeReelle = prixVenteReel - coutReel; + return (margeReelle / prixVenteReel) * 100; + } + + /** + * Obtenir l'historique des analyses d'une phase + */ + async getHistorique(phaseId: string): Promise { + try { + const response = await this.api.get(`${this.basePath}/phase/${phaseId}/historique`); + return response.data; + } catch (error) { + console.warn('Historique non disponible'); + return []; + } + } + + /** + * Estimation du coût de main d'œuvre basée sur les matériaux + * (règle métier: environ 40-60% du coût des matériaux selon la complexité) + */ + private estimerCoutMainOeuvre(coutMateriaux: number): number { + // Facteur de complexité moyen: 0.5 (50% des matériaux) + return coutMateriaux * 0.5; + } + + /** + * Analyser la compétitivité d'un prix + */ + analyserCompetitivite(analyse: AnalysePrixPhase, prixMarche?: number): { + niveau: 'TRÈS_COMPÉTITIF' | 'COMPÉTITIF' | 'MOYEN' | 'ÉLEVÉ' | 'TRÈS_ÉLEVÉ'; + commentaire: string; + recommandation: string; + } { + const tauxMarge = analyse.tauxMargeObjectif || 0; + + if (tauxMarge < 10) { + return { + niveau: 'TRÈS_COMPÉTITIF', + commentaire: 'Prix très agressif avec marge faible', + recommandation: 'Attention aux risques financiers, vérifier la viabilité' + }; + } else if (tauxMarge < 20) { + return { + niveau: 'COMPÉTITIF', + commentaire: 'Prix compétitif avec marge raisonnable', + recommandation: 'Bon équilibre entre compétitivité et rentabilité' + }; + } else if (tauxMarge < 30) { + return { + niveau: 'MOYEN', + commentaire: 'Prix dans la moyenne du marché', + recommandation: 'Position standard, opportunités d\'optimisation possibles' + }; + } else if (tauxMarge < 40) { + return { + niveau: 'ÉLEVÉ', + commentaire: 'Prix élevé avec forte marge', + recommandation: 'Risque de perte de compétitivité, justifier la valeur ajoutée' + }; + } else { + return { + niveau: 'TRÈS_ÉLEVÉ', + commentaire: 'Prix très élevé', + recommandation: 'Revoir la stratégie tarifaire, optimiser les coûts' + }; + } + } +} + +export default new AnalysePrixService(); \ No newline at end of file diff --git a/services/api-client.ts b/services/api-client.ts new file mode 100644 index 0000000..daf8e5d --- /dev/null +++ b/services/api-client.ts @@ -0,0 +1,234 @@ +import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; +import { API_CONFIG } from '../config/api'; +import { keycloak } from '../config/keycloak'; +import { KEYCLOAK_TIMEOUTS } from '../config/keycloak'; + +// Créer une instance axios avec configuration par défaut depuis API_CONFIG +const axiosInstance: AxiosInstance = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, +}); + +// Intercepteur pour ajouter le token d'authentification +axiosInstance.interceptors.request.use( + async (config) => { + // Vérifier si nous avons un token d'accès stocké + if (typeof window !== 'undefined') { + const accessToken = localStorage.getItem('accessToken'); + + if (accessToken) { + // Ajouter le token Bearer à l'en-tête Authorization + config.headers.Authorization = `Bearer ${accessToken}`; + console.log('🔐 API Request avec token:', config.method?.toUpperCase(), config.url); + } else { + console.log('⚠️ API Request sans token:', config.method?.toUpperCase(), config.url); + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + if (typeof window !== 'undefined') { + const token = localStorage.getItem('accessToken') || localStorage.getItem('token'); + if (token) { + config.headers.Authorization = `Bearer ${token}`; + } + } + } + return config; + }, + (error) => { + return Promise.reject(error); + } +); + +// Intercepteur pour gérer les réponses et erreurs +axiosInstance.interceptors.response.use( + (response: AxiosResponse) => { + return response; + }, + (error) => { + // Gérer les erreurs d'authentification et d'autorisation + if (error.response?.status === 401 || error.response?.status === 403) { + // Ne pas rediriger si on est en train de traiter un code d'autorisation + if (typeof window !== 'undefined') { + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + console.log(`🔍 API Client ${error.response?.status}:`, { currentUrl, hasAuthCode }); + + if (!hasAuthCode) { + // Token expiré, invalide ou permissions insuffisantes - sauvegarder la page actuelle et rediriger + console.log(`🔄 API Client: Erreur ${error.response?.status}, redirection vers Keycloak...`); + + // Sauvegarder la page actuelle pour y revenir après reconnexion + const currentPath = window.location.pathname + window.location.search; + localStorage.setItem('returnUrl', currentPath); + + // Nettoyer les anciens tokens + localStorage.removeItem('accessToken'); + localStorage.removeItem('refreshToken'); + localStorage.removeItem('idToken'); + + // Rediriger vers Keycloak pour reconnexion + window.location.href = '/api/auth/login'; + } else { + console.log(`🔄 API Client: Erreur ${error.response?.status} ignorée car authentification en cours...`); + } + } + } + + // Gérer les erreurs serveur + if (error.response?.status >= 500) { + console.error('Erreur serveur:', error.response?.data || error.message); + } + + return Promise.reject(error); + } +); + +// Interface pour les réponses API standardisées +export interface ApiResponse { + data: T; + message?: string; + success?: boolean; +} + +// Interface pour les erreurs API +export interface ApiError { + message: string; + code?: string; + details?: any; +} + +// Client API avec méthodes utilitaires +export class ApiClient { + private instance: AxiosInstance; + + constructor(baseURL?: string) { + this.instance = baseURL ? axios.create({ baseURL }) : axiosInstance; + } + + // GET request + async get(url: string, config?: AxiosRequestConfig): Promise> { + return this.instance.get(url, config); + } + + // POST request + async post(url: string, data?: any, config?: AxiosRequestConfig): Promise> { + return this.instance.post(url, data, config); + } + + // PUT request + async put(url: string, data?: any, config?: AxiosRequestConfig): Promise> { + return this.instance.put(url, data, config); + } + + // DELETE request + async delete(url: string, config?: AxiosRequestConfig): Promise> { + return this.instance.delete(url, config); + } + + // PATCH request + async patch(url: string, data?: any, config?: AxiosRequestConfig): Promise> { + return this.instance.patch(url, data, config); + } + + // Upload file + async upload(url: string, file: File, config?: AxiosRequestConfig): Promise> { + const formData = new FormData(); + formData.append('file', file); + + return this.instance.post(url, formData, { + ...config, + headers: { + ...config?.headers, + 'Content-Type': 'multipart/form-data', + }, + }); + } + + // Upload multiple files + async uploadMultiple(url: string, files: File[], config?: AxiosRequestConfig): Promise> { + const formData = new FormData(); + files.forEach((file, index) => { + formData.append(`files[${index}]`, file); + }); + + return this.instance.post(url, formData, { + ...config, + headers: { + ...config?.headers, + 'Content-Type': 'multipart/form-data', + }, + }); + } + + // Download file + async download(url: string, filename?: string, config?: AxiosRequestConfig): Promise { + const response = await this.instance.get(url, { + ...config, + responseType: 'blob', + }); + + // Créer un lien de téléchargement + const blob = new Blob([response.data]); + const downloadUrl = window.URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = downloadUrl; + link.download = filename || 'download'; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + window.URL.revokeObjectURL(downloadUrl); + } + + // Set auth token + setAuthToken(token: string): void { + this.instance.defaults.headers.common['Authorization'] = `Bearer ${token}`; + } + + // Remove auth token + removeAuthToken(): void { + delete this.instance.defaults.headers.common['Authorization']; + } +} + +// Instance par défaut exportée +export const apiClient = new ApiClient(); + +// Export de l'instance axios brute pour les cas particuliers +export { axiosInstance }; + +// Utilitaires pour gérer les erreurs +export const handleApiError = (error: any): ApiError => { + if (error.response) { + // Erreur de réponse du serveur + return { + message: error.response.data?.message || error.response.statusText || 'Erreur serveur', + code: error.response.status.toString(), + details: error.response.data, + }; + } else if (error.request) { + // Erreur de réseau + return { + message: 'Impossible de se connecter au serveur', + code: 'NETWORK_ERROR', + details: error.request, + }; + } else { + // Autre erreur + return { + message: error.message || 'Une erreur inattendue est survenue', + code: 'UNKNOWN_ERROR', + details: error, + }; + } +}; + +// Type guards pour vérifier les réponses API +export const isApiResponse = (response: any): response is ApiResponse => { + return response && typeof response === 'object' && 'data' in response; +}; + +export const isApiError = (error: any): error is ApiError => { + return error && typeof error === 'object' && 'message' in error; +}; \ No newline at end of file diff --git a/services/api.ts b/services/api.ts new file mode 100644 index 0000000..f5124f3 --- /dev/null +++ b/services/api.ts @@ -0,0 +1,974 @@ +/** + * Services API pour BTP Xpress + */ + +import axios, { AxiosInstance, AxiosResponse } from 'axios'; +import { API_CONFIG } from '../config/api'; +import { keycloak, KEYCLOAK_TIMEOUTS } from '../config/keycloak'; +import { CacheService, CacheKeys } from './cacheService'; +import { + Client, + Chantier, + Devis, + Facture, + DashboardStats, + ChantierRecent, + FactureEnRetard, + DevisEnAttente, + FilterOptions, + SearchResult, + Employe, + Equipe, + Materiel, + MaintenanceMateriel, + PlanningEvent, + PlanningCalendrierView, + PlanningConflict, + PlanningStats +} from '../types/btp'; +import { UserInfo } from '../types/auth'; + +class ApiService { + private api: AxiosInstance; + private serverStatusListeners: ((isOnline: boolean) => void)[] = []; + + constructor() { + this.api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + // Interceptor pour les requêtes - ajouter le token d'authentification + this.api.interceptors.request.use( + async (config) => { + // Utiliser le token stocké dans localStorage (nouveau système) + if (typeof window !== 'undefined') { + const accessToken = localStorage.getItem('accessToken'); + + if (accessToken) { + config.headers['Authorization'] = `Bearer ${accessToken}`; + console.log('🔐 API Request avec token:', config.url); + } else { + console.log('⚠️ API Request sans token:', config.url); + } + } + + // Ajouter des en-têtes par défaut + config.headers['X-Requested-With'] = 'XMLHttpRequest'; + + return config; + }, + (error) => { + return Promise.reject(error); + } + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response: AxiosResponse) => response, + async (error) => { + // Ne pas logger les 404 sur les endpoints de chantiers par client (pas encore implémentés) + const is404OnChantiersByClient = error.response?.status === 404 && + error.config?.url?.includes('/chantiers/client/'); + + if (!is404OnChantiersByClient) { + // Utiliser console.warn au lieu de console.error pour éviter les erreurs React DevTools + console.warn('API Error:', error.response?.status, error.response?.data || error.message); + } + + // Gérer les erreurs de connexion réseau + if (!error.response) { + // Erreur réseau (serveur indisponible, pas de connexion, etc.) + if (error.code === 'ECONNABORTED') { + error.userMessage = 'Délai d\'attente dépassé. Le serveur backend met trop de temps à répondre.'; + error.statusCode = 'TIMEOUT'; + } else if (error.code === 'ERR_NETWORK') { + error.userMessage = 'Impossible de joindre le serveur backend. Vérifiez votre connexion internet et que le serveur backend est démarré (mvn quarkus:dev).'; + error.statusCode = 'NETWORK_ERROR'; + } else { + error.userMessage = 'Serveur backend indisponible. Vérifiez que le serveur backend est démarré (mvn quarkus:dev) et accessible sur le port 8080.'; + error.statusCode = 'SERVER_UNAVAILABLE'; + } + + // Émettre un événement global pour notifier l'application + this.notifyServerStatus(false); + return Promise.reject(error); + } + + // Serveur répond, donc il est disponible + this.notifyServerStatus(true); + + if (error.response?.status === 401) { + // Gestion des erreurs d'authentification + if (typeof window !== 'undefined') { + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + if (!hasAuthCode) { + console.log('🔄 Token expiré, redirection vers la connexion...'); + // Sauvegarder la page actuelle pour y revenir après reconnexion + const currentPath = window.location.pathname + window.location.search; + localStorage.setItem('returnUrl', currentPath); + + // Nettoyer les tokens expirés + localStorage.removeItem('accessToken'); + localStorage.removeItem('refreshToken'); + localStorage.removeItem('idToken'); + + // Rediriger vers la page de connexion + window.location.href = '/api/auth/login'; + } else { + console.log('🔄 API Service: Erreur 401 ignorée car authentification en cours...'); + } + } + } + + // Créer une erreur plus propre pour l'affichage + const errorMessage = error.response?.data?.message || + error.response?.data?.error || + error.message || + 'Une erreur est survenue'; + + const enhancedError = { + ...error, + userMessage: errorMessage, + statusCode: error.response?.status + }; + + return Promise.reject(enhancedError); + } + ); + } + + // === GESTION STATUT SERVEUR === + private notifyServerStatus(isOnline: boolean) { + this.serverStatusListeners.forEach(listener => { + try { + listener(isOnline); + } catch (error) { + console.error('Erreur dans listener de statut serveur:', error); + } + }); + } + + public onServerStatusChange(callback: (isOnline: boolean) => void) { + this.serverStatusListeners.push(callback); + return () => { + const index = this.serverStatusListeners.indexOf(callback); + if (index > -1) { + this.serverStatusListeners.splice(index, 1); + } + }; + } + + public async checkServerHealth(urgentCheck: boolean = false): Promise { + const timeout = urgentCheck ? 3000 : 8000; // Timeout plus long pour checks de routine + + try { + // Endpoint dédié health check ultra-léger + await this.api.get('/api/v1/health', { + timeout, + headers: { 'Cache-Control': 'no-cache' }, + params: { _t: Date.now() } // Cache busting + }); + this.notifyServerStatus(true); + return true; + } catch (error) { + // Fallback sur endpoint Quarkus standard puis clients + try { + await this.api.get('/q/health', { timeout: timeout * 0.8 }); + this.notifyServerStatus(true); + return true; + } catch (secondError) { + try { + await this.api.get('/api/v1/clients', { + timeout: timeout * 0.6, + params: { size: 1 } + }); + this.notifyServerStatus(true); + return true; + } catch (thirdError) { + this.notifyServerStatus(false); + return false; + } + } + } + } + + // === CLIENTS === + async getClients(): Promise { + return CacheService.getOrSet( + CacheKeys.CLIENTS, + async () => { + const response = await this.api.get('/api/v1/clients'); + return Array.isArray(response.data) ? response.data : []; + }, + 5 * 60 * 1000 // 5 minutes + ); + } + + async getClient(id: string): Promise { + const response = await this.api.get(`/api/v1/clients/${id}`); + return response.data; + } + + async createClient(client: Partial): Promise { + const response = await this.api.post('/api/v1/clients', client); + return response.data; + } + + async updateClient(id: string, client: Partial): Promise { + const response = await this.api.put(`/api/v1/clients/${id}`, client); + return response.data; + } + + async deleteClient(id: string): Promise { + await this.api.delete(`/api/v1/clients/${id}`); + } + + async searchClients(params: { + nom?: string; + entreprise?: string; + ville?: string; + email?: string; + }): Promise { + const response = await this.api.get('/api/v1/clients/search', { params }); + return response.data; + } + + async searchClientsByNom(nom: string): Promise { + const response = await this.api.get('/api/v1/clients/search', { params: { nom } }); + return response.data; + } + + async searchClientsByEntreprise(entreprise: string): Promise { + const response = await this.api.get('/api/v1/clients/search', { params: { entreprise } }); + return response.data; + } + + async searchClientsByVille(ville: string): Promise { + const response = await this.api.get('/api/v1/clients/search', { params: { ville } }); + return response.data; + } + + async searchClientsByEmail(email: string): Promise { + const response = await this.api.get('/api/v1/clients/search', { params: { email } }); + return response.data; + } + + async getClientsCount(): Promise { + const response = await this.api.get('/api/v1/clients/count'); + return response.data; + } + + // === CHANTIERS === + async getChantiers(): Promise { + const response = await this.api.get('/api/v1/chantiers'); + return Array.isArray(response.data) ? response.data : []; + } + + async getChantiersActifs(): Promise { + const response = await this.api.get('/api/v1/chantiers/actifs'); + return Array.isArray(response.data) ? response.data : []; + } + + async getChantier(id: string): Promise { + const response = await this.api.get(`/api/v1/chantiers/${id}`); + return response.data; + } + + async createChantier(chantier: Partial): Promise { + const response = await this.api.post('/api/v1/chantiers', chantier); + return response.data; + } + + async updateChantier(id: string, chantier: Partial): Promise { + const response = await this.api.put(`/api/v1/chantiers/${id}`, chantier); + return response.data; + } + + async deleteChantier(id: string, permanent: boolean = false): Promise { + await this.api.delete(`/api/v1/chantiers/${id}`, { + params: { permanent } + }); + } + + async getChantiersByClient(clientId: string): Promise { + try { + const response = await this.api.get(`/api/v1/chantiers/client/${clientId}`); + return response.data; + } catch (error: any) { + // Si l'endpoint n'existe pas encore côté backend (404) + if (error.response?.status === 404) { + console.debug(`Endpoint /api/v1/chantiers/client/${clientId} non implémenté, retour d'une liste vide`); + // Retourner une liste vide en attendant l'implémentation backend + return []; + } + // Relancer l'erreur pour les autres cas + throw error; + } + } + + async getChantiersRecents(): Promise { + const response = await this.api.get('/api/v1/chantiers/recent'); + return response.data; + } + + // === DEVIS === + async getDevis(): Promise { + return CacheService.getOrSet( + CacheKeys.DEVIS, + async () => { + const response = await this.api.get('/api/v1/devis'); + return Array.isArray(response.data) ? response.data : []; + }, + 3 * 60 * 1000 // 3 minutes (plus court car données plus volatiles) + ); + } + + async getDevisById(id: string): Promise { + const response = await this.api.get(`/api/v1/devis/${id}`); + return response.data; + } + + async getDevisEnAttente(): Promise { + const response = await this.api.get('/api/v1/devis/en-attente'); + return response.data; + } + + async createDevis(devis: Partial): Promise { + const response = await this.api.post('/api/v1/devis', devis); + // Invalider le cache des devis + CacheService.delete(CacheKeys.DEVIS); + CacheService.invalidatePattern('devis_.*'); + return response.data; + } + + async updateDevis(id: string, devis: Partial): Promise { + const response = await this.api.put(`/api/v1/devis/${id}`, devis); + // Invalider le cache des devis + CacheService.delete(CacheKeys.DEVIS); + CacheService.delete(CacheKeys.devisById(id)); + CacheService.invalidatePattern('devis_.*'); + return response.data; + } + + async deleteDevis(id: string): Promise { + await this.api.delete(`/api/v1/devis/${id}`); + // Invalider le cache des devis + CacheService.delete(CacheKeys.DEVIS); + CacheService.delete(CacheKeys.devisById(id)); + CacheService.invalidatePattern('devis_.*'); + } + + // === FACTURES === + async getFactures(): Promise { + return CacheService.getOrSet( + CacheKeys.FACTURES, + async () => { + const response = await this.api.get('/api/v1/factures'); + return Array.isArray(response.data) ? response.data : []; + }, + 3 * 60 * 1000 // 3 minutes + ); + } + + async getFacture(id: string): Promise { + const response = await this.api.get(`/api/v1/factures/${id}`); + return response.data; + } + + async getFacturesEnRetard(): Promise { + const response = await this.api.get('/api/v1/factures/en-retard'); + return response.data; + } + + async createFacture(facture: Partial): Promise { + const response = await this.api.post('/api/v1/factures', facture); + // Invalider le cache des factures + CacheService.delete(CacheKeys.FACTURES); + CacheService.invalidatePattern('factures_.*'); + return response.data; + } + + async updateFacture(id: string, facture: Partial): Promise { + const response = await this.api.put(`/api/v1/factures/${id}`, facture); + // Invalider le cache des factures + CacheService.delete(CacheKeys.FACTURES); + CacheService.delete(CacheKeys.factureById(id)); + CacheService.invalidatePattern('factures_.*'); + return response.data; + } + + async deleteFacture(id: string): Promise { + await this.api.delete(`/api/v1/factures/${id}`); + // Invalider le cache des factures + CacheService.delete(CacheKeys.FACTURES); + CacheService.delete(CacheKeys.factureById(id)); + CacheService.invalidatePattern('factures_.*'); + } + + // === DASHBOARD === + async getDashboardStats(): Promise { + const response = await this.api.get('/api/v1/dashboard/stats'); + return response.data; + } + + // === HEALTH === + async getHealth(): Promise<{ status: string; timestamp: string }> { + const response = await this.api.get('/api/v1/health'); + return response.data; + } + + async getVersion(): Promise<{ version: string; environment: string }> { + const response = await this.api.get('/api/v1/version'); + return response.data; + } + + // === AUTH === + async getCurrentUser(): Promise { + const response = await this.api.get('/api/v1/auth/user'); + return response.data; + } + + async getAuthStatus(): Promise<{ authenticated: boolean; principal: string | null; hasJWT: boolean; timestamp: number }> { + const response = await this.api.get('/api/v1/auth/status'); + return response.data; + } + + // === BUDGETS === + async getBudgets(params?: { search?: string; statut?: string; tendance?: string }) { + const response = await this.api.get('/api/v1/budgets', { params }); + return response.data; + } + + async getBudget(id: string) { + const response = await this.api.get(`/api/v1/budgets/${id}`); + return response.data; + } + + async getBudgetByChantier(chantierId: string) { + const response = await this.api.get(`/api/v1/budgets/chantier/${chantierId}`); + return response.data; + } + + async getBudgetsEnDepassement() { + const response = await this.api.get('/api/v1/budgets/depassement'); + return response.data; + } + + async getBudgetsNecessitantAttention() { + const response = await this.api.get('/api/v1/budgets/attention'); + return response.data; + } + + async createBudget(budget: any) { + const response = await this.api.post('/api/v1/budgets', budget); + return response.data; + } + + async updateBudget(id: string, budget: any) { + const response = await this.api.put(`/api/v1/budgets/${id}`, budget); + return response.data; + } + + async deleteBudget(id: string) { + const response = await this.api.delete(`/api/v1/budgets/${id}`); + return response.data; + } + + async updateBudgetDepenses(id: string, depense: number) { + const response = await this.api.put(`/api/v1/budgets/${id}/depenses`, { depense }); + return response.data; + } + + async updateBudgetAvancement(id: string, avancement: number) { + const response = await this.api.put(`/api/v1/budgets/${id}/avancement`, { avancement }); + return response.data; + } + + async ajouterAlerteBudget(id: string, description: string) { + const response = await this.api.post(`/api/v1/budgets/${id}/alertes`, { description }); + return response.data; + } + + async supprimerAlertesBudget(id: string) { + const response = await this.api.delete(`/api/v1/budgets/${id}/alertes`); + return response.data; + } + + // === EMPLOYÉS === + async getEmployes(): Promise { + const response = await this.api.get('/api/v1/employes'); + return Array.isArray(response.data) ? response.data : []; + } + + async getEmploye(id: string): Promise { + const response = await this.api.get(`/api/v1/employes/${id}`); + return response.data; + } + + async createEmploye(employe: Partial): Promise { + const response = await this.api.post('/api/v1/employes', employe); + return response.data; + } + + async updateEmploye(id: string, employe: Partial): Promise { + const response = await this.api.put(`/api/v1/employes/${id}`, employe); + return response.data; + } + + async deleteEmploye(id: string): Promise { + await this.api.delete(`/api/v1/employes/${id}`); + } + + async searchEmployes(params: { + nom?: string; + poste?: string; + specialite?: string; + statut?: string; + }): Promise { + const response = await this.api.get('/api/v1/employes/search', { params }); + return response.data; + } + + async getEmployesDisponibles(dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get('/api/v1/employes/disponibles', { + params: { dateDebut, dateFin } + }); + return response.data; + } + + async getEmployesByEquipe(equipeId: string): Promise { + const response = await this.api.get(`/api/v1/employes/by-equipe/${equipeId}`); + return response.data; + } + + async getEmployesCount(): Promise { + const response = await this.api.get('/api/v1/employes/count'); + return response.data; + } + + async getEmployesStats(): Promise { + const response = await this.api.get('/api/v1/employes/stats'); + return response.data; + } + + // === ÉQUIPES === + async getEquipes(): Promise { + const response = await this.api.get('/api/v1/equipes'); + return Array.isArray(response.data) ? response.data : []; + } + + async getEquipe(id: string): Promise { + const response = await this.api.get(`/api/v1/equipes/${id}`); + return response.data; + } + + async createEquipe(equipe: Partial): Promise { + const response = await this.api.post('/api/v1/equipes', equipe); + return response.data; + } + + async updateEquipe(id: string, equipe: Partial): Promise { + const response = await this.api.put(`/api/v1/equipes/${id}`, equipe); + return response.data; + } + + async deleteEquipe(id: string): Promise { + await this.api.delete(`/api/v1/equipes/${id}`); + } + + async searchEquipes(params: { + nom?: string; + specialite?: string; + statut?: string; + }): Promise { + const response = await this.api.get('/api/v1/equipes/search', { params }); + return response.data; + } + + async getEquipesDisponibles(dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get('/api/v1/equipes/disponibles', { + params: { dateDebut, dateFin } + }); + return response.data; + } + + async getMembresEquipe(equipeId: string): Promise { + const response = await this.api.get(`/api/v1/equipes/${equipeId}/membres`); + return response.data; + } + + async ajouterMembreEquipe(equipeId: string, employeId: string): Promise { + await this.api.post(`/api/v1/equipes/${equipeId}/membres/${employeId}`); + } + + async retirerMembreEquipe(equipeId: string, employeId: string): Promise { + await this.api.delete(`/api/v1/equipes/${equipeId}/membres/${employeId}`); + } + + async getEquipesCount(): Promise { + const response = await this.api.get('/api/v1/equipes/count'); + return response.data; + } + + async getEquipesStats(): Promise { + const response = await this.api.get('/api/v1/equipes/stats'); + return response.data; + } + + // === MATÉRIELS === + async getMateriels(): Promise { + const response = await this.api.get('/api/v1/materiels'); + return Array.isArray(response.data) ? response.data : []; + } + + async getMateriel(id: string): Promise { + const response = await this.api.get(`/api/v1/materiels/${id}`); + return response.data; + } + + async createMateriel(materiel: Partial): Promise { + const response = await this.api.post('/api/v1/materiels', materiel); + return response.data; + } + + async updateMateriel(id: string, materiel: Partial): Promise { + const response = await this.api.put(`/api/v1/materiels/${id}`, materiel); + return response.data; + } + + async deleteMateriel(id: string): Promise { + await this.api.delete(`/api/v1/materiels/${id}`); + } + + async searchMateriels(params: { + nom?: string; + type?: string; + marque?: string; + statut?: string; + localisation?: string; + }): Promise { + const response = await this.api.get('/api/v1/materiels/search', { params }); + return response.data; + } + + async getMaterielsDisponibles(dateDebut?: string, dateFin?: string, type?: string): Promise { + const response = await this.api.get('/api/v1/materiels/disponibles', { + params: { dateDebut, dateFin, type } + }); + return response.data; + } + + async getMaterielsMaintenancePrevue(jours: number = 30): Promise { + const response = await this.api.get('/api/v1/materiels/maintenance-prevue', { + params: { jours } + }); + return response.data; + } + + async getMaterielsByType(type: string): Promise { + const response = await this.api.get(`/api/v1/materiels/by-type/${type}`); + return response.data; + } + + async reserverMateriel(id: string, dateDebut: string, dateFin: string): Promise { + await this.api.post(`/api/v1/materiels/${id}/reserve`, null, { + params: { dateDebut, dateFin } + }); + } + + async libererMateriel(id: string): Promise { + await this.api.post(`/api/v1/materiels/${id}/liberer`); + } + + async getMaterielsCount(): Promise { + const response = await this.api.get('/api/v1/materiels/count'); + return response.data; + } + + async getMaterielsStats(): Promise { + const response = await this.api.get('/api/v1/materiels/stats'); + return response.data; + } + + async getValeurTotaleMateriels(): Promise { + const response = await this.api.get('/api/v1/materiels/valeur-totale'); + return response.data; + } + + // === MAINTENANCES === + async getMaintenances(): Promise { + const response = await this.api.get('/api/v1/maintenances'); + return Array.isArray(response.data) ? response.data : []; + } + + async getMaintenance(id: string): Promise { + const response = await this.api.get(`/api/v1/maintenances/${id}`); + return response.data; + } + + async createMaintenance(maintenance: Partial): Promise { + const response = await this.api.post('/api/v1/maintenances', maintenance); + return response.data; + } + + async updateMaintenance(id: string, maintenance: Partial): Promise { + const response = await this.api.put(`/api/v1/maintenances/${id}`, maintenance); + return response.data; + } + + async deleteMaintenance(id: string): Promise { + await this.api.delete(`/api/v1/maintenances/${id}`); + } + + async getMaintenancesByMateriel(materielId: string): Promise { + const response = await this.api.get(`/api/v1/maintenances/by-materiel/${materielId}`); + return response.data; + } + + // === PLANNING === + async getPlanningEvents(params?: { + dateDebut?: string; + dateFin?: string; + type?: string; + statut?: string; + }): Promise { + const response = await this.api.get('/api/v1/planning/events', { params }); + return Array.isArray(response.data) ? response.data : []; + } + + async getPlanningEvent(id: string): Promise { + const response = await this.api.get(`/api/v1/planning/events/${id}`); + return response.data; + } + + async createPlanningEvent(event: Partial): Promise { + const response = await this.api.post('/api/v1/planning/events', event); + return response.data; + } + + async updatePlanningEvent(id: string, event: Partial): Promise { + const response = await this.api.put(`/api/v1/planning/events/${id}`, event); + return response.data; + } + + async deletePlanningEvent(id: string): Promise { + await this.api.delete(`/api/v1/planning/events/${id}`); + } + + async getCalendrierView(annee: number, mois: number): Promise { + const response = await this.api.get('/api/v1/planning/calendrier', { + params: { annee, mois } + }); + return response.data; + } + + async detecterConflitsPlanification(dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get('/api/v1/planning/conflits', { + params: { dateDebut, dateFin } + }); + return response.data; + } + + async getPlanningEmploye(employeId: string, dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get(`/api/v1/planning/employe/${employeId}`, { + params: { dateDebut, dateFin } + }); + return response.data; + } + + async getPlanningEquipe(equipeId: string, dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get(`/api/v1/planning/equipe/${equipeId}`, { + params: { dateDebut, dateFin } + }); + return response.data; + } + + async getPlanningMateriel(materielId: string, dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get(`/api/v1/planning/materiel/${materielId}`, { + params: { dateDebut, dateFin } + }); + return response.data; + } + + async assignEmployesToEvent(eventId: string, employeIds: string[]): Promise { + await this.api.post(`/api/v1/planning/events/${eventId}/assign-employes`, employeIds); + } + + async assignMaterielsToEvent(eventId: string, materielIds: string[]): Promise { + await this.api.post(`/api/v1/planning/events/${eventId}/assign-materiels`, materielIds); + } + + async getPlanningStats(): Promise { + const response = await this.api.get('/api/v1/planning/stats'); + return response.data; + } + + async getTauxOccupation(dateDebut?: string, dateFin?: string): Promise { + const response = await this.api.get('/api/v1/planning/occupation', { + params: { dateDebut, dateFin } + }); + return response.data; + } + + // === TEST === + async testCreateChantier(chantier: any): Promise { + const response = await this.api.post('/api/v1/test/chantier', chantier); + return response.data; + } +} + +// Instance singleton +export const apiService = new ApiService(); + +// Services spécialisés +export const clientService = { + getAll: () => apiService.getClients(), + getById: (id: string) => apiService.getClient(id), + create: (client: Partial) => apiService.createClient(client), + update: (id: string, client: Partial) => apiService.updateClient(id, client), + delete: (id: string) => apiService.deleteClient(id), + search: (params: any) => apiService.searchClients(params), + searchByNom: (nom: string) => apiService.searchClientsByNom(nom), + searchByEntreprise: (entreprise: string) => apiService.searchClientsByEntreprise(entreprise), + searchByVille: (ville: string) => apiService.searchClientsByVille(ville), + searchByEmail: (email: string) => apiService.searchClientsByEmail(email), + count: () => apiService.getClientsCount(), +}; + +export const chantierService = { + getAll: () => apiService.getChantiers(), + getAllActive: () => apiService.getChantiersActifs(), + getById: (id: string) => apiService.getChantier(id), + create: (chantier: Partial) => apiService.createChantier(chantier), + update: (id: string, chantier: Partial) => apiService.updateChantier(id, chantier), + delete: (id: string, permanent: boolean = false) => apiService.deleteChantier(id, permanent), + getByClient: (clientId: string) => apiService.getChantiersByClient(clientId), + getRecents: () => apiService.getChantiersRecents(), +}; + +export const devisService = { + getAll: () => apiService.getDevis(), + getById: (id: string) => apiService.getDevisById(id), + getEnAttente: () => apiService.getDevisEnAttente(), + create: (devis: Partial) => apiService.createDevis(devis), + update: (id: string, devis: Partial) => apiService.updateDevis(id, devis), + delete: (id: string) => apiService.deleteDevis(id), +}; + +export const factureService = { + getAll: () => apiService.getFactures(), + getById: (id: string) => apiService.getFacture(id), + getEnRetard: () => apiService.getFacturesEnRetard(), + create: (facture: Partial) => apiService.createFacture(facture), + update: (id: string, facture: Partial) => apiService.updateFacture(id, facture), + delete: (id: string) => apiService.deleteFacture(id), +}; + +export const dashboardService = { + getStats: () => apiService.getDashboardStats(), +}; + +export const employeService = { + getAll: () => apiService.getEmployes(), + getById: (id: string) => apiService.getEmploye(id), + create: (employe: Partial) => apiService.createEmploye(employe), + update: (id: string, employe: Partial) => apiService.updateEmploye(id, employe), + delete: (id: string) => apiService.deleteEmploye(id), + search: (params: any) => apiService.searchEmployes(params), + getDisponibles: (dateDebut?: string, dateFin?: string) => apiService.getEmployesDisponibles(dateDebut, dateFin), + getByEquipe: (equipeId: string) => apiService.getEmployesByEquipe(equipeId), + count: () => apiService.getEmployesCount(), + getStats: () => apiService.getEmployesStats(), +}; + +export const equipeService = { + getAll: () => apiService.getEquipes(), + getById: (id: string) => apiService.getEquipe(id), + create: (equipe: Partial) => apiService.createEquipe(equipe), + update: (id: string, equipe: Partial) => apiService.updateEquipe(id, equipe), + delete: (id: string) => apiService.deleteEquipe(id), + search: (params: any) => apiService.searchEquipes(params), + getDisponibles: (dateDebut?: string, dateFin?: string) => apiService.getEquipesDisponibles(dateDebut, dateFin), + getMembres: (equipeId: string) => apiService.getMembresEquipe(equipeId), + ajouterMembre: (equipeId: string, employeId: string) => apiService.ajouterMembreEquipe(equipeId, employeId), + retirerMembre: (equipeId: string, employeId: string) => apiService.retirerMembreEquipe(equipeId, employeId), + count: () => apiService.getEquipesCount(), + getStats: () => apiService.getEquipesStats(), +}; + +export const materielService = { + getAll: () => apiService.getMateriels(), + getById: (id: string) => apiService.getMateriel(id), + create: (materiel: Partial) => apiService.createMateriel(materiel), + update: (id: string, materiel: Partial) => apiService.updateMateriel(id, materiel), + delete: (id: string) => apiService.deleteMateriel(id), + search: (params: any) => apiService.searchMateriels(params), + getDisponibles: (dateDebut?: string, dateFin?: string, type?: string) => apiService.getMaterielsDisponibles(dateDebut, dateFin, type), + getMaintenancePrevue: (jours?: number) => apiService.getMaterielsMaintenancePrevue(jours), + getByType: (type: string) => apiService.getMaterielsByType(type), + reserver: (id: string, dateDebut: string, dateFin: string) => apiService.reserverMateriel(id, dateDebut, dateFin), + liberer: (id: string) => apiService.libererMateriel(id), + count: () => apiService.getMaterielsCount(), + getStats: () => apiService.getMaterielsStats(), + getValeurTotale: () => apiService.getValeurTotaleMateriels(), +}; + +export const budgetService = { + getAll: (params?: { search?: string; statut?: string; tendance?: string }) => apiService.getBudgets(params), + getById: (id: string) => apiService.getBudget(id), + getByChantier: (chantierId: string) => apiService.getBudgetByChantier(chantierId), + getEnDepassement: () => apiService.getBudgetsEnDepassement(), + getNecessitantAttention: () => apiService.getBudgetsNecessitantAttention(), + create: (budget: any) => apiService.createBudget(budget), + update: (id: string, budget: any) => apiService.updateBudget(id, budget), + delete: (id: string) => apiService.deleteBudget(id), + updateDepenses: (id: string, depense: number) => apiService.updateBudgetDepenses(id, depense), + updateAvancement: (id: string, avancement: number) => apiService.updateBudgetAvancement(id, avancement), + ajouterAlerte: (id: string, description: string) => apiService.ajouterAlerteBudget(id, description), + supprimerAlertes: (id: string) => apiService.supprimerAlertesBudget(id), +}; + +export const maintenanceService = { + getAll: () => apiService.getMaintenances(), + getById: (id: string) => apiService.getMaintenance(id), + create: (maintenance: Partial) => apiService.createMaintenance(maintenance), + update: (id: string, maintenance: Partial) => apiService.updateMaintenance(id, maintenance), + delete: (id: string) => apiService.deleteMaintenance(id), + getByMateriel: (materielId: string) => apiService.getMaintenancesByMateriel(materielId), +}; + +export const planningService = { + getEvents: (params?: any) => apiService.getPlanningEvents(params), + getEvent: (id: string) => apiService.getPlanningEvent(id), + createEvent: (event: Partial) => apiService.createPlanningEvent(event), + updateEvent: (id: string, event: Partial) => apiService.updatePlanningEvent(id, event), + deleteEvent: (id: string) => apiService.deletePlanningEvent(id), + getCalendrierView: (annee: number, mois: number) => apiService.getCalendrierView(annee, mois), + detecterConflits: (dateDebut?: string, dateFin?: string) => apiService.detecterConflitsPlanification(dateDebut, dateFin), + getPlanningEmploye: (employeId: string, dateDebut?: string, dateFin?: string) => apiService.getPlanningEmploye(employeId, dateDebut, dateFin), + getPlanningEquipe: (equipeId: string, dateDebut?: string, dateFin?: string) => apiService.getPlanningEquipe(equipeId, dateDebut, dateFin), + getPlanningMateriel: (materielId: string, dateDebut?: string, dateFin?: string) => apiService.getPlanningMateriel(materielId, dateDebut, dateFin), + assignEmployes: (eventId: string, employeIds: string[]) => apiService.assignEmployesToEvent(eventId, employeIds), + assignMateriels: (eventId: string, materielIds: string[]) => apiService.assignMaterielsToEvent(eventId, materielIds), + getStats: () => apiService.getPlanningStats(), + getTauxOccupation: (dateDebut?: string, dateFin?: string) => apiService.getTauxOccupation(dateDebut, dateFin), +}; + +// Service pour les types de chantier +export const typeChantierService = { + getAll: () => apiService.get('/api/v1/types-chantier'), + getByCategorie: () => apiService.get('/api/v1/types-chantier/par-categorie'), + getById: (id: string) => apiService.get(`/api/v1/types-chantier/${id}`), + getByCode: (code: string) => apiService.get(`/api/v1/types-chantier/code/${code}`), + create: (typeChantier: any) => apiService.post('/api/v1/types-chantier', typeChantier), + update: (id: string, typeChantier: any) => apiService.put(`/api/v1/types-chantier/${id}`, typeChantier), + delete: (id: string) => apiService.delete(`/api/v1/types-chantier/${id}`), + reactivate: (id: string) => apiService.post(`/api/v1/types-chantier/${id}/reactivate`), + getStatistiques: () => apiService.get('/api/v1/types-chantier/statistiques'), +}; + +export default apiService; \ No newline at end of file diff --git a/services/budgetCoherenceService.ts b/services/budgetCoherenceService.ts new file mode 100644 index 0000000..09746fb --- /dev/null +++ b/services/budgetCoherenceService.ts @@ -0,0 +1,283 @@ +/** + * Service pour gérer la cohérence des budgets entre chantiers et phases + * Assure que le montant_prevu du chantier correspond à la somme des budget_prevu des phases + */ + +import { API_CONFIG } from '../config/api'; +import axios from 'axios'; + +interface BudgetCoherence { + chantierId: string; + chantierNom: string; + budgetChantier: number; + budgetPhasesTotal: number; + ecartAbsolu: number; + ecartPourcentage: number; + coherent: boolean; + nombrePhases: number; +} + +interface ValidationBudget { + valide: boolean; + message: string; + recommandation?: 'METTRE_A_JOUR_CHANTIER' | 'AJUSTER_PHASES' | 'AUCUNE_ACTION'; + nouveauBudgetSuggere?: number; +} + +class BudgetCoherenceService { + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token Keycloak + this.api.interceptors.request.use( + async (config) => { + // Vérifier si Keycloak est initialisé et l'utilisateur authentifié + if (typeof window !== 'undefined') { + const { keycloak, KEYCLOAK_TIMEOUTS } = await import('../config/keycloak'); + + if (keycloak.authenticated) { + try { + // Rafraîchir le token si nécessaire + await keycloak.updateToken(KEYCLOAK_TIMEOUTS.TOKEN_REFRESH_BEFORE_EXPIRY); + + // Ajouter le token Bearer à l'en-tête Authorization + if (keycloak.token) { + config.headers['Authorization'] = `Bearer ${keycloak.token}`; + } + } catch (error) { + console.error('Erreur lors de la mise à jour du token Keycloak:', error); + keycloak.login(); + throw error; + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + } + } + return config; + }, + (error) => Promise.reject(error) + ); + } + + /** + * Vérifier la cohérence budgétaire pour un chantier donné + */ + async verifierCoherence(chantierId: string): Promise { + try { + // Pour l'instant, on fait toujours le calcul côté client + // L'endpoint backend sera implémenté plus tard + const [chantierResponse, phasesResponse] = await Promise.all([ + this.api.get(`/api/v1/chantiers/${chantierId}`), + this.api.get(`/api/v1/phases-chantier/chantier/${chantierId}`) + ]); + + const chantier = chantierResponse.data; + const phases = phasesResponse.data || []; + + const budgetChantier = parseFloat(chantier.montantPrevu || 0); + const budgetPhasesTotal = phases.reduce((sum: number, phase: any) => + sum + parseFloat(phase.budgetPrevu || 0), 0); + + const ecartAbsolu = Math.abs(budgetChantier - budgetPhasesTotal); + const ecartPourcentage = budgetChantier > 0 ? (ecartAbsolu / budgetChantier) * 100 : 0; + + return { + chantierId, + chantierNom: chantier.nom, + budgetChantier, + budgetPhasesTotal, + ecartAbsolu, + ecartPourcentage, + coherent: ecartPourcentage <= 5, // Tolérance de 5% + nombrePhases: phases.length + }; + } catch (error) { + console.warn('Erreur lors de la vérification de cohérence:', error); + // Retourner des valeurs par défaut en cas d'erreur + return { + chantierId, + chantierNom: 'Chantier inconnu', + budgetChantier: 0, + budgetPhasesTotal: 0, + ecartAbsolu: 0, + ecartPourcentage: 0, + coherent: true, // Considérer comme cohérent en cas d'erreur + nombrePhases: 0 + }; + } + } + + /** + * Valider un budget de phases avant génération + */ + async validerBudgetPhases(chantierId: string, budgetPhasesPrevu: number): Promise { + try { + const coherence = await this.verifierCoherence(chantierId); + const nouveauTotal = budgetPhasesPrevu; + const ecart = Math.abs(coherence.budgetChantier - nouveauTotal); + const ecartPourcentage = coherence.budgetChantier > 0 ? (ecart / coherence.budgetChantier) * 100 : 0; + + if (ecartPourcentage <= 5) { + return { + valide: true, + message: 'Le budget des phases est cohérent avec le budget du chantier', + recommandation: 'AUCUNE_ACTION' + }; + } else if (nouveauTotal > coherence.budgetChantier) { + return { + valide: false, + message: `Le budget des phases (${this.formatCurrency(nouveauTotal)}) dépasse le budget du chantier (${this.formatCurrency(coherence.budgetChantier)}) de ${ecartPourcentage.toFixed(1)}%`, + recommandation: 'METTRE_A_JOUR_CHANTIER', + nouveauBudgetSuggere: Math.ceil(nouveauTotal * 1.1) // +10% de marge + }; + } else { + return { + valide: false, + message: `Le budget des phases (${this.formatCurrency(nouveauTotal)}) est inférieur au budget du chantier (${this.formatCurrency(coherence.budgetChantier)}) de ${ecartPourcentage.toFixed(1)}%`, + recommandation: 'AJUSTER_PHASES', + nouveauBudgetSuggere: coherence.budgetChantier + }; + } + } catch (error) { + console.error('Erreur lors de la validation budgétaire:', error); + return { + valide: true, // En cas d'erreur, on laisse passer + message: 'Impossible de valider la cohérence budgétaire' + }; + } + } + + /** + * Mettre à jour le budget du chantier pour le faire correspondre aux phases + */ + async synchroniserBudgetChantier(chantierId: string, nouveauBudget: number): Promise { + try { + await this.api.put(`/api/v1/chantiers/${chantierId}`, { + montantPrevu: nouveauBudget + }); + console.log(`Budget du chantier mis à jour: ${this.formatCurrency(nouveauBudget)}`); + return true; + } catch (error) { + console.error('Erreur lors de la mise à jour du budget:', error); + return false; + } + } + + /** + * Suggérer une répartition équilibrée du budget sur les phases + */ + suggererRepartitionBudget(budgetTotal: number, phases: any[]): any[] { + if (!phases.length) return []; + + // Répartition basée sur la complexité/durée des phases + const phasesAvecPoids = phases.map(phase => ({ + ...phase, + poids: this.calculerPoidsPhase(phase) + })); + + const poidsTotal = phasesAvecPoids.reduce((sum, p) => sum + p.poids, 0); + + return phasesAvecPoids.map(phase => ({ + ...phase, + budgetSuggere: Math.round((phase.poids / poidsTotal) * budgetTotal) + })); + } + + /** + * Calculer le poids d'une phase pour la répartition budgétaire + */ + private calculerPoidsPhase(phase: any): number { + let poids = 1; + + // Basé sur la durée + if (phase.dureeEstimee) { + poids *= Math.max(1, phase.dureeEstimee / 5); // Phases plus longues = plus de poids + } + + // Basé sur le type de phase + const typesPoids: Record = { + 'GROS_OEUVRE': 2.0, + 'FONDATIONS': 1.8, + 'CHARPENTE': 1.5, + 'SECOND_OEUVRE': 1.2, + 'FINITIONS': 1.0, + 'EQUIPEMENTS': 1.3 + }; + + if (phase.categorieMetier && typesPoids[phase.categorieMetier]) { + poids *= typesPoids[phase.categorieMetier]; + } + + // Phase critique = plus de poids + if (phase.obligatoire || phase.critique) { + poids *= 1.2; + } + + return poids; + } + + /** + * Formater un montant en devise + */ + private formatCurrency(amount: number): string { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 0 + }).format(amount); + } + + /** + * Obtenir des recommandations budgétaires pour un chantier + */ + async obtenirRecommandations(chantierId: string): Promise { + const coherence = await this.verifierCoherence(chantierId); + const recommandations: string[] = []; + + if (!coherence.coherent) { + if (coherence.budgetPhasesTotal > coherence.budgetChantier) { + recommandations.push( + `💰 Le budget des phases dépasse celui du chantier de ${this.formatCurrency(coherence.ecartAbsolu)}` + ); + recommandations.push( + `🔧 Recommandation : Augmenter le budget du chantier à ${this.formatCurrency(coherence.budgetPhasesTotal * 1.1)}` + ); + } else { + recommandations.push( + `📉 Le budget des phases est inférieur à celui du chantier de ${this.formatCurrency(coherence.ecartAbsolu)}` + ); + recommandations.push( + `🔧 Recommandation : Réajuster les budgets des phases ou prévoir des phases supplémentaires` + ); + } + } + + if (coherence.nombrePhases === 0) { + recommandations.push( + `⚠️ Aucune phase définie pour ce chantier. Utilisez l'assistant de génération de phases.` + ); + } + + return recommandations; + } +} + +export default new BudgetCoherenceService(); \ No newline at end of file diff --git a/services/cacheService.ts b/services/cacheService.ts new file mode 100644 index 0000000..ebcd156 --- /dev/null +++ b/services/cacheService.ts @@ -0,0 +1,157 @@ +/** + * Service de cache pour optimiser les performances + */ + +export interface CacheEntry { + data: T; + timestamp: number; + ttl: number; // Time to live en millisecondes +} + +export class CacheService { + private static cache = new Map>(); + private static readonly DEFAULT_TTL = 5 * 60 * 1000; // 5 minutes par défaut + + /** + * Stocke une valeur dans le cache + */ + static set(key: string, data: T, ttl: number = this.DEFAULT_TTL): void { + const entry: CacheEntry = { + data, + timestamp: Date.now(), + ttl + }; + this.cache.set(key, entry); + } + + /** + * Récupère une valeur du cache + */ + static get(key: string): T | null { + const entry = this.cache.get(key); + + if (!entry) { + return null; + } + + // Vérifier si l'entrée a expiré + if (Date.now() - entry.timestamp > entry.ttl) { + this.cache.delete(key); + return null; + } + + return entry.data as T; + } + + /** + * Supprime une entrée du cache + */ + static delete(key: string): boolean { + return this.cache.delete(key); + } + + /** + * Vide tout le cache + */ + static clear(): void { + this.cache.clear(); + } + + /** + * Nettoie les entrées expirées + */ + static cleanup(): void { + const now = Date.now(); + for (const [key, entry] of this.cache.entries()) { + if (now - entry.timestamp > entry.ttl) { + this.cache.delete(key); + } + } + } + + /** + * Récupère ou exécute une fonction avec mise en cache + */ + static async getOrSet( + key: string, + fetchFunction: () => Promise, + ttl: number = this.DEFAULT_TTL + ): Promise { + // Essayer de récupérer depuis le cache + const cached = this.get(key); + if (cached !== null) { + return cached; + } + + // Exécuter la fonction et mettre en cache + try { + const data = await fetchFunction(); + this.set(key, data, ttl); + return data; + } catch (error) { + // Ne pas mettre en cache les erreurs + throw error; + } + } + + /** + * Invalide le cache pour un pattern de clés + */ + static invalidatePattern(pattern: string): void { + const regex = new RegExp(pattern); + for (const key of this.cache.keys()) { + if (regex.test(key)) { + this.cache.delete(key); + } + } + } + + /** + * Obtient les statistiques du cache + */ + static getStats(): { + size: number; + keys: string[]; + expired: number; + } { + const now = Date.now(); + let expired = 0; + + for (const [key, entry] of this.cache.entries()) { + if (now - entry.timestamp > entry.ttl) { + expired++; + } + } + + return { + size: this.cache.size, + keys: Array.from(this.cache.keys()), + expired + }; + } +} + +// Nettoyage automatique toutes les 10 minutes +if (typeof window !== 'undefined') { + setInterval(() => { + CacheService.cleanup(); + }, 10 * 60 * 1000); +} + +// Clés de cache prédéfinies +export const CacheKeys = { + CLIENTS: 'clients', + CHANTIERS: 'chantiers', + DEVIS: 'devis', + FACTURES: 'factures', + DASHBOARD_STATS: 'dashboard_stats', + USER_PROFILE: 'user_profile', + + // Fonctions utilitaires pour générer des clés + clientById: (id: string) => `client_${id}`, + chantierId: (id: string) => `chantier_${id}`, + devisById: (id: string) => `devis_${id}`, + factureById: (id: string) => `facture_${id}`, + devisByClient: (clientId: string) => `devis_client_${clientId}`, + facturesByClient: (clientId: string) => `factures_client_${clientId}`, +} as const; diff --git a/services/calculsTechniquesService.ts b/services/calculsTechniquesService.ts new file mode 100644 index 0000000..b8c1e96 --- /dev/null +++ b/services/calculsTechniquesService.ts @@ -0,0 +1,484 @@ +import ApiService from './ApiService'; + +/** + * Service pour les calculs techniques ultra-détaillés BTP + * Le plus ambitieux système de calculs BTP d'Afrique + */ + +// =================== INTERFACES PARAMÈTRES =================== + +export interface ParametresCalculBriques { + surface: number; + epaisseurMur: number; + codeBrique: string; + zoneClimatique: string; + typeAppareillage: 'DROIT' | 'QUINCONCE' | 'FLAMAND' | 'ANGLAIS'; + jointHorizontal: number; + jointVertical: number; + ouvertures: Ouverture[]; +} + +export interface Ouverture { + largeur: number; + hauteur: number; +} + +export interface ParametresCalculMortier { + volumeMaconnerie: number; + typeMortier: 'POSE_BRIQUES' | 'JOINTOIEMENT' | 'ENDUIT_BASE' | 'ENDUIT_FINITION' | 'STANDARD'; + zoneClimatique: string; +} + +export interface ParametresCalculBetonArme { + volume: number; + classeBeton: 'C20/25' | 'C25/30' | 'C30/37' | 'C35/45'; + classeExposition: 'XC1' | 'XC3' | 'XC4' | 'XS1' | 'XS3'; + typeOuvrage: 'DALLE' | 'POUTRE' | 'POTEAU' | 'VOILE'; + epaisseur: number; + zoneClimatique: string; +} + +// =================== INTERFACES RÉSULTATS =================== + +export interface ResultatCalculBriques { + nombreBriques: number; + nombrePalettes: number; + briquesParM2: number; + surfaceNette: number; + mortier: ResultatCalculMortier; + facteurPerte: number; + facteurClimatique: number; + nombreCouches: number; + recommendationsZone: string[]; +} + +export interface ResultatCalculMortier { + volumeTotal: number; + cimentKg: number; + sableLitres: number; + eauLitres: number; + sacs50kg: number; +} + +export interface ResultatCalculBetonArme { + volume: number; + cimentKg: number; + cimentSacs50kg: number; + sableKg: number; + sableM3: number; + graviersKg: number; + graviersM3: number; + eauLitres: number; + acierKgTotal: number; + repartitionAcier: Record; // diamètre -> poids en kg + enrobage: number; + dosageAdapte: DosageBeton; + adaptationsClimatiques: string[]; +} + +export interface DosageBeton { + ciment: number; // kg/m³ + eau: number; // L/m³ + graviers: number; // kg/m³ + sable: number; // kg/m³ +} + +export interface DosageBetonInfo { + usage: string; + ciment: string; + resistance: string; + exposition: string; +} + +// =================== CLASSES DE SERVICE =================== + +export class CalculsTechniquesService { + private static readonly BASE_PATH = '/api/v1/calculs-techniques'; + + // =================== CALCULS MAÇONNERIE =================== + + /** + * Calcul ultra-précis quantité briques pour mur + * Prend en compte dimensions exactes, joints, appareillage, pertes, zone climatique + */ + static async calculerBriquesMur(params: ParametresCalculBriques): Promise { + const response = await ApiService.post( + `${this.BASE_PATH}/briques-mur`, + params + ); + + return response; + } + + /** + * Calcul mortier pour maçonnerie traditionnelle + */ + static async calculerMortierMaconnerie(params: ParametresCalculMortier): Promise { + const response = await ApiService.post( + `${this.BASE_PATH}/mortier-maconnerie`, + params + ); + + return response; + } + + /** + * Estimation rapide briques pour surface donnée + */ + static async estimationRapideBriques(surface: number, typeBrique: string = 'brique-rouge-15x10x5'): Promise<{ + estimationBasse: number; + estimationHaute: number; + estimationMoyenne: number; + baseCalcul: string; + }> { + // Calcul côté client pour estimation rapide + const briquesParM2Moyen = 67; // Moyenne pour brique 15x10x5cm + const facteurPerteMoyen = 1.08; // 8% de perte moyenne + + const estimationMoyenne = Math.ceil(surface * briquesParM2Moyen * facteurPerteMoyen); + const estimationBasse = Math.ceil(estimationMoyenne * 0.85); + const estimationHaute = Math.ceil(estimationMoyenne * 1.25); + + return { + estimationBasse, + estimationHaute, + estimationMoyenne, + baseCalcul: `Surface: ${surface}m² × ${briquesParM2Moyen} briques/m² × ${facteurPerteMoyen} (pertes)` + }; + } + + // =================== CALCULS BÉTON ARMÉ =================== + + /** + * Calcul béton armé avec adaptation climatique africaine + */ + static async calculerBetonArme(params: ParametresCalculBetonArme): Promise { + const response = await ApiService.post( + `${this.BASE_PATH}/beton-arme`, + params + ); + + return response; + } + + /** + * Récupère les dosages béton standard avec adaptations climatiques + */ + static async getDosagesBeton(): Promise<{ + dosages: Record; + notes: string[]; + }> { + const response = await ApiService.get<{ + dosages: Record; + notes: string[]; + }>(`${this.BASE_PATH}/dosages-beton`); + + return response; + } + + /** + * Estimation rapide béton pour volume donné + */ + static async estimationRapideBeton(volume: number, classeBeton: string = 'C25/30'): Promise<{ + cimentSacs: number; + sableM3: number; + graviersM3: number; + eauLitres: number; + coutEstime: number; + }> { + // Dosages moyens selon classe + const dosages = { + 'C20/25': { ciment: 300, sable: 1100, graviers: 650, eau: 165 }, + 'C25/30': { ciment: 350, sable: 1050, graviers: 600, eau: 175 }, + 'C30/37': { ciment: 385, sable: 1000, graviers: 580, eau: 180 }, + 'C35/45': { ciment: 420, sable: 950, graviers: 550, eau: 185 } + }; + + const dosage = dosages[classeBeton] || dosages['C25/30']; + + const cimentKg = volume * dosage.ciment; + const cimentSacs = Math.ceil(cimentKg / 50); + const sableKg = volume * dosage.sable; + const sableM3 = sableKg / 1600; // densité sable + const graviersKg = volume * dosage.graviers; + const graviersM3 = graviersKg / 1500; // densité graviers + const eauLitres = volume * dosage.eau; + + // Estimation coût (prix moyens Afrique de l'Ouest) + const coutEstime = (cimentSacs * 8000) + // 8000 FCFA/sac + (sableM3 * 25000) + // 25000 FCFA/m³ + (graviersM3 * 30000) + // 30000 FCFA/m³ + (eauLitres * 2); // 2 FCFA/L + + return { + cimentSacs, + sableM3: Math.ceil(sableM3 * 100) / 100, // 2 décimales + graviersM3: Math.ceil(graviersM3 * 100) / 100, + eauLitres, + coutEstime + }; + } + + // =================== CALCULS COMPLEXES =================== + + /** + * Calcul complet d'un mur (briques + mortier + enduit) + */ + static async calculerMurComplet(params: { + surface: number; + epaisseurMur: number; + codeBrique: string; + zoneClimatique: string; + typeAppareillage: string; + avecEnduit: boolean; + typeEnduit?: 'CIMENT' | 'CHAUX' | 'PLATRE'; + }): Promise<{ + briques: ResultatCalculBriques; + enduit?: { + mortierM3: number; + cimentKg: number; + sableKg: number; + eauLitres: number; + }; + coutTotal: number; + tempsTotal: number; // en heures + }> { + // Calcul briques + const paramsB: ParametresCalculBriques = { + surface: params.surface, + epaisseurMur: params.epaisseurMur, + codeBrique: params.codeBrique, + zoneClimatique: params.zoneClimatique, + typeAppareillage: params.typeAppareillage as any, + jointHorizontal: 10, // défaut 10mm + jointVertical: 10, // défaut 10mm + ouvertures: [] + }; + + const briques = await this.calculerBriquesMur(paramsB); + + let enduit; + if (params.avecEnduit) { + // Calcul enduit (15mm d'épaisseur moyenne) + const volumeEnduit = params.surface * 0.015; // 1.5cm + const dosageEnduit = params.typeEnduit === 'CHAUX' ? 250 : 350; // kg/m³ + + enduit = { + mortierM3: volumeEnduit, + cimentKg: volumeEnduit * dosageEnduit, + sableKg: volumeEnduit * 800, // 800kg sable/m³ mortier + eauLitres: volumeEnduit * 200 // 200L eau/m³ mortier + }; + } + + // Estimation coûts et temps + const coutBriques = briques.nombreBriques * 250; // 250 FCFA/brique + const coutMortier = briques.mortier.cimentKg * 160; // 160 FCFA/kg ciment + const coutEnduit = enduit ? enduit.cimentKg * 160 : 0; + const coutTotal = coutBriques + coutMortier + coutEnduit; + + const tempsBriques = briques.nombreBriques * 3 / 60; // 3min/brique + const tempsEnduit = params.avecEnduit ? params.surface * 45 / 60 : 0; // 45min/m² + const tempsTotal = tempsBriques + tempsEnduit; + + return { + briques, + enduit, + coutTotal, + tempsTotal + }; + } + + /** + * Calcul dalle béton complète (béton + armatures + coffrages) + */ + static async calculerDalleComplete(params: { + surface: number; + epaisseur: number; + classeBeton: string; + zoneClimatique: string; + typeArmature: 'LEGERE' | 'NORMALE' | 'RENFORCEE'; + avecCoffrage: boolean; + }): Promise<{ + beton: ResultatCalculBetonArme; + coffrage?: { + planchesM2: number; + etaisNombre: number; + }; + coutTotal: number; + tempsTotal: number; + }> { + const volume = params.surface * (params.epaisseur / 100); // épaisseur en cm -> m + + const paramsBA: ParametresCalculBetonArme = { + volume, + classeBeton: params.classeBeton as any, + classeExposition: 'XC3', // défaut intérieur humide + typeOuvrage: 'DALLE', + epaisseur: params.epaisseur, + zoneClimatique: params.zoneClimatique + }; + + const beton = await this.calculerBetonArme(paramsBA); + + let coffrage; + if (params.avecCoffrage) { + // Surface coffrante = surface dalle + rives + const perimetre = 2 * Math.sqrt(params.surface * 4); // approximation carré + const surfaceCoffrante = params.surface + (perimetre * params.epaisseur / 100); + + coffrage = { + planchesM2: surfaceCoffrante * 1.15, // 15% majoration + etaisNombre: Math.ceil(params.surface / 2) // 1 étai par 2m² + }; + } + + // Estimation coûts + const coutBeton = (beton.cimentSacs50kg * 8000) + + (beton.sableM3.valueOf() * 25000) + + (beton.graviersM3.valueOf() * 30000); + const coutAcier = beton.acierKgTotal * 1200; // 1200 FCFA/kg acier + const coutCoffrage = coffrage ? (coffrage.planchesM2 * 5000) + (coffrage.etaisNombre * 15000) : 0; + const coutTotal = coutBeton + coutAcier + coutCoffrage; + + // Estimation temps + const tempsBeton = volume * 2; // 2h/m³ + const tempsArmature = beton.acierKgTotal * 0.5; // 30min/kg + const tempsCoffrage = coffrage ? coffrage.planchesM2 * 0.25 : 0; // 15min/m² + const tempsTotal = tempsBeton + tempsArmature + tempsCoffrage; + + return { + beton, + coffrage, + coutTotal, + tempsTotal + }; + } + + // =================== OUTILS UTILITAIRES =================== + + /** + * Conversion d'unités de mesure BTP + */ + static convertirUnites(valeur: number, uniteSource: string, uniteDestination: string): number { + const conversions: Record> = { + 'm': { 'cm': 100, 'mm': 1000, 'km': 0.001 }, + 'm²': { 'cm²': 10000, 'mm²': 1000000, 'ha': 0.0001 }, + 'm³': { 'l': 1000, 'cm³': 1000000, 'mm³': 1000000000 }, + 'kg': { 'g': 1000, 't': 0.001, 'quintal': 0.01 }, + 'MPa': { 'kPa': 1000, 'Pa': 1000000, 'bar': 10 } + }; + + if (conversions[uniteSource]?.[uniteDestination]) { + return valeur * conversions[uniteSource][uniteDestination]; + } + + throw new Error(`Conversion non supportée: ${uniteSource} vers ${uniteDestination}`); + } + + /** + * Validation des paramètres de calcul + */ + static validerParametres(type: 'BRIQUES' | 'MORTIER' | 'BETON', params: any): { + valide: boolean; + erreurs: string[]; + avertissements: string[]; + } { + const erreurs: string[] = []; + const avertissements: string[] = []; + + switch (type) { + case 'BRIQUES': + if (!params.surface || params.surface <= 0) erreurs.push('Surface requise et > 0'); + if (!params.epaisseurMur || params.epaisseurMur <= 0) erreurs.push('Épaisseur mur requise et > 0'); + if (!params.codeBrique) erreurs.push('Code brique requis'); + if (!params.zoneClimatique) erreurs.push('Zone climatique requise'); + + if (params.surface > 1000) avertissements.push('Surface très importante (>1000m²)'); + if (params.epaisseurMur > 30) avertissements.push('Mur très épais (>30cm)'); + break; + + case 'BETON': + if (!params.volume || params.volume <= 0) erreurs.push('Volume requis et > 0'); + if (!params.classeBeton) erreurs.push('Classe béton requise'); + if (!params.typeOuvrage) erreurs.push('Type ouvrage requis'); + + if (params.volume > 500) avertissements.push('Volume très important (>500m³)'); + if (params.epaisseur && params.epaisseur < 10) avertissements.push('Épaisseur faible (<10cm)'); + break; + } + + return { + valide: erreurs.length === 0, + erreurs, + avertissements + }; + } + + /** + * Génération de devis détaillé + */ + static async genererDevis(calculs: { + briques?: ResultatCalculBriques; + mortier?: ResultatCalculMortier; + beton?: ResultatCalculBetonArme; + }, options?: { + margeEntreprise?: number; // % + tva?: number; // % + delaiExecution?: number; // jours + }): Promise<{ + lignesDevis: Array<{ + designation: string; + quantite: number; + unite: string; + prixUnitaire: number; + montantHT: number; + }>; + totalHT: number; + totalTTC: number; + delaiExecution: number; + }> { + const lignesDevis: Array<{ + designation: string; + quantite: number; + unite: string; + prixUnitaire: number; + montantHT: number; + }> = []; + + // Ajout lignes selon calculs + if (calculs.briques) { + lignesDevis.push({ + designation: 'Briques terre cuite', + quantite: calculs.briques.nombreBriques, + unite: 'unité', + prixUnitaire: 250, + montantHT: calculs.briques.nombreBriques * 250 + }); + } + + if (calculs.beton) { + lignesDevis.push({ + designation: 'Ciment Portland CEM I', + quantite: calculs.beton.cimentSacs50kg, + unite: 'sac 50kg', + prixUnitaire: 8000, + montantHT: calculs.beton.cimentSacs50kg * 8000 + }); + } + + const totalHT = lignesDevis.reduce((sum, ligne) => sum + ligne.montantHT, 0); + const marge = (options?.margeEntreprise || 20) / 100; + const tva = (options?.tva || 18) / 100; + + const totalAvecMarge = totalHT * (1 + marge); + const totalTTC = totalAvecMarge * (1 + tva); + + return { + lignesDevis, + totalHT: totalAvecMarge, + totalTTC, + delaiExecution: options?.delaiExecution || 15 + }; + } +} \ No newline at end of file diff --git a/services/chantierActionsService.ts b/services/chantierActionsService.ts new file mode 100644 index 0000000..090946a --- /dev/null +++ b/services/chantierActionsService.ts @@ -0,0 +1,303 @@ +/** + * Service pour les actions sur les chantiers + */ + +import { apiClient } from './api-client'; + +export interface ChantierActionResult { + success: boolean; + message: string; + data?: any; + pdfUrl?: string; + amendmentId?: string; +} + +class ChantierActionsService { + private readonly basePath = '/chantiers'; + + /** + * Suspendre ou reprendre un chantier + */ + async toggleSuspend(chantierId: string, suspend: boolean): Promise { + try { + const action = suspend ? 'suspend' : 'resume'; + const response = await apiClient.put(`${this.basePath}/${chantierId}/${action}`); + return { + success: true, + message: suspend ? 'Chantier suspendu avec succès' : 'Chantier repris avec succès', + data: response.data + }; + } catch (error) { + return { + success: false, + message: 'Erreur lors de la modification du statut', + data: error + }; + } + } + + /** + * Clôturer un chantier + */ + async closeChantier(chantierId: string): Promise { + try { + const response = await apiClient.put(`${this.basePath}/${chantierId}/close`, { + dateFinReelle: new Date().toISOString(), + statut: 'TERMINE' + }); + return { + success: true, + message: 'Chantier clôturé avec succès', + data: response.data + }; + } catch (error) { + return { + success: false, + message: 'Erreur lors de la clôture du chantier', + data: error + }; + } + } + + /** + * Archiver un chantier + */ + async archiveChantier(chantierId: string): Promise { + try { + const response = await apiClient.put(`${this.basePath}/${chantierId}/archive`, { + actif: false, + dateArchivage: new Date().toISOString() + }); + return { + success: true, + message: 'Chantier archivé avec succès', + data: response.data + }; + } catch (error) { + return { + success: false, + message: 'Erreur lors de l\'archivage du chantier', + data: error + }; + } + } + + /** + * Générer un rapport pour un chantier + */ + async generateReport(chantierId: string, format: 'pdf' | 'excel' = 'pdf'): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierId}/report`, { + params: { format }, + responseType: 'blob' + }); + + // Créer un lien de téléchargement + const url = window.URL.createObjectURL(new Blob([response.data])); + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', `rapport-chantier-${chantierId}.${format}`); + document.body.appendChild(link); + link.click(); + link.remove(); + window.URL.revokeObjectURL(url); + + return { + success: true, + message: 'Rapport généré avec succès', + data: response.data + }; + } catch (error) { + return { + success: false, + message: 'Erreur lors de la génération du rapport', + data: error + }; + } + } + + /** + * Exporter les données d'un chantier + */ + async exportChantier(chantierId: string, format: 'pdf' | 'excel'): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierId}/export`, { + params: { format }, + responseType: 'blob' + }); + + // Créer un lien de téléchargement + const url = window.URL.createObjectURL(new Blob([response.data])); + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', `export-chantier-${chantierId}.${format === 'excel' ? 'xlsx' : format}`); + document.body.appendChild(link); + link.click(); + link.remove(); + window.URL.revokeObjectURL(url); + + return { + success: true, + message: `Export ${format.toUpperCase()} réussi`, + data: response.data + }; + } catch (error) { + return { + success: false, + message: `Erreur lors de l'export ${format.toUpperCase()}`, + data: error + }; + } + } + + /** + * Obtenir un résumé rapide d'un chantier + */ + async getQuickSummary(chantierId: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierId}/summary`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération du résumé:', error); + throw error; + } + } + + /** + * Obtenir les statistiques d'un chantier + */ + async getChantierStats(chantierId: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierId}/stats`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des statistiques:', error); + throw error; + } + } + + /** + * Obtenir les alertes d'un chantier + */ + async getChantierAlerts(chantierId: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierId}/alerts`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des alertes:', error); + throw error; + } + } + + // === NOUVELLES ACTIONS PRIORITAIRES BTP === + + /** + * Suspendre temporairement un chantier + */ + async suspendChantier(chantierId: string): Promise { + try { + const response = await apiClient.put(`${this.basePath}/${chantierId}/suspend`, { + datesSuspension: new Date().toISOString(), + motif: 'Suspension temporaire', + statut: 'SUSPENDU' + }); + return { + success: true, + message: 'Chantier suspendu temporairement', + data: response.data + }; + } catch (error) { + console.error('Erreur lors de la suspension:', error); + throw error; + } + } + + /** + * Clôturer définitivement un chantier avec rapport final + */ + async closeChantierDefinitively(chantierId: string): Promise { + try { + const response = await apiClient.put(`${this.basePath}/${chantierId}/close-definitively`, { + dateFinReelle: new Date().toISOString(), + statut: 'TERMINE', + generateFinalReport: true + }); + return { + success: true, + message: 'Chantier clôturé définitivement', + data: response.data + }; + } catch (error) { + console.error('Erreur lors de la clôture:', error); + throw error; + } + } + + /** + * Envoyer notification au client + */ + async notifyClient(chantierId: string): Promise { + try { + const response = await apiClient.post(`${this.basePath}/${chantierId}/notify-client`, { + type: 'progress_update', + includePhotos: true, + includeProgress: true, + timestamp: new Date().toISOString() + }); + return { + success: true, + message: 'Notification envoyée au client', + data: response.data + }; + } catch (error) { + console.error('Erreur lors de la notification client:', error); + throw error; + } + } + + /** + * Générer facture intermédiaire + */ + async generateIntermediateInvoice(chantierId: string): Promise { + try { + const response = await apiClient.post(`${this.basePath}/${chantierId}/invoice/intermediate`, { + dateGeneration: new Date().toISOString(), + type: 'INTERMEDIAIRE', + basedOnProgress: true + }); + return { + success: true, + message: 'Facture intermédiaire générée', + data: response.data, + pdfUrl: response.data.pdfUrl + }; + } catch (error) { + console.error('Erreur lors de la génération de facture:', error); + throw error; + } + } + + /** + * Créer un avenant budgétaire + */ + async createAmendment(chantierId: string): Promise { + try { + const response = await apiClient.post(`${this.basePath}/${chantierId}/amendment`, { + dateCreation: new Date().toISOString(), + type: 'BUDGETAIRE', + status: 'DRAFT' + }); + return { + success: true, + message: 'Avenant budgétaire créé', + data: response.data, + amendmentId: response.data.id + }; + } catch (error) { + console.error('Erreur lors de la création d\'avenant:', error); + throw error; + } + } +} + +export const chantierActionsService = new ChantierActionsService(); \ No newline at end of file diff --git a/services/chantierService.ts b/services/chantierService.ts new file mode 100644 index 0000000..a8ce271 --- /dev/null +++ b/services/chantierService.ts @@ -0,0 +1,348 @@ +import { chantierService as apiChantierService, apiService } from './api'; +import { Chantier, ChantierFormData } from '../types/btp'; + +class ChantierService { + /** + * Récupérer tous les chantiers + */ + async getAll(): Promise { + return await apiChantierService.getAll(); + } + + /** + * Récupérer un chantier par ID + */ + async getById(id: string): Promise { + return await apiChantierService.getById(id); + } + + /** + * Créer un nouveau chantier + */ + async create(chantier: ChantierFormData): Promise { + return await apiChantierService.create(chantier); + } + + /** + * Modifier un chantier existant + */ + async update(id: string, chantier: ChantierFormData): Promise { + return await apiChantierService.update(id, chantier); + } + + /** + * Supprimer un chantier + * @param id - ID du chantier + * @param permanent - Si true, suppression physique définitive. Si false, suppression logique (défaut) + */ + async delete(id: string, permanent: boolean = false): Promise { + await apiChantierService.delete(id, permanent); + } + + /** + * Récupérer les chantiers d'un client + */ + async getByClient(clientId: string): Promise { + try { + return await apiChantierService.getByClient(clientId); + } catch (error: any) { + // Si l'endpoint spécifique n'existe pas (404), essayer de filtrer tous les chantiers + if (error.status === 404 || error.response?.status === 404) { + try { + const tousLesChantiers = await this.getAll(); + return tousLesChantiers.filter(chantier => chantier.clientId === clientId); + } catch (fallbackError) { + console.debug('Fallback sur filtrage côté client également impossible, retour liste vide'); + // Retourner une liste vide plutôt qu'une erreur si pas de chantiers + return []; + } + } + // Pour toute autre erreur, la remonter + throw error; + } + } + + /** + * Récupérer les chantiers récents + */ + async getRecents(): Promise { + return await apiChantierService.getRecents(); + } + + /** + * Récupérer les chantiers par statut + */ + async getByStatut(statut: string): Promise { + const allChantiers = await this.getAll(); + return allChantiers.filter(c => c.statut === statut); + } + + /** + * Récupérer les chantiers en retard + */ + async getEnRetard(): Promise { + const allChantiers = await this.getAll(); + return allChantiers.filter(c => this.isEnRetard(c)); + } + + /** + * Récupérer les chantiers actifs + */ + async getActifs(): Promise { + return await this.getByStatut('EN_COURS'); + } + + /** + * Actions sur les chantiers (nécessitent des endpoints spécifiques) + */ + async demarrer(id: string): Promise { + // Ces méthodes nécessiteraient des endpoints spécifiques dans l'API + throw new Error('Méthode non implémentée côté API'); + } + + async terminer(id: string): Promise { + throw new Error('Méthode non implémentée côté API'); + } + + async suspendre(id: string): Promise { + throw new Error('Méthode non implémentée côté API'); + } + + async reprendre(id: string): Promise { + throw new Error('Méthode non implémentée côté API'); + } + + async annuler(id: string): Promise { + throw new Error('Méthode non implémentée côté API'); + } + + /** + * Valider les données d'un chantier + */ + validateChantier(chantier: ChantierFormData): string[] { + const errors: string[] = []; + + if (!chantier.nom || chantier.nom.trim().length === 0) { + errors.push('Le nom du chantier est obligatoire'); + } + + if (!chantier.adresse || chantier.adresse.trim().length === 0) { + errors.push('L\'adresse est obligatoire'); + } + + if (!chantier.clientId) { + errors.push('Le client est obligatoire'); + } + + if (!chantier.dateDebut) { + errors.push('La date de début est obligatoire'); + } + + if (!chantier.dateFinPrevue) { + errors.push('La date de fin prévue est obligatoire'); + } + + if (chantier.dateDebut && chantier.dateFinPrevue) { + const debut = new Date(chantier.dateDebut); + const fin = new Date(chantier.dateFinPrevue); + if (debut >= fin) { + errors.push('La date de fin doit être postérieure à la date de début'); + } + } + + if (chantier.montantPrevu !== undefined && chantier.montantPrevu < 0) { + errors.push('Le montant prévu doit être positif'); + } + + return errors; + } + + /** + * Calculer la durée prévue du chantier en jours + */ + calculateDureePrevue(chantier: Chantier): number { + if (!chantier.dateDebut || !chantier.dateFinPrevue) return 0; + + const debut = new Date(chantier.dateDebut); + const fin = new Date(chantier.dateFinPrevue); + const diffTime = Math.abs(fin.getTime() - debut.getTime()); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + } + + /** + * Calculer la durée réelle du chantier en jours + */ + calculateDureeReelle(chantier: Chantier): number { + if (!chantier.dateDebut) return 0; + + const debut = new Date(chantier.dateDebut); + const fin = chantier.dateFinReelle ? new Date(chantier.dateFinReelle) : new Date(); + const diffTime = Math.abs(fin.getTime() - debut.getTime()); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + } + + /** + * Vérifier si un chantier est en retard + */ + isEnRetard(chantier: Chantier): boolean { + if (chantier.statut === 'TERMINE') return false; + if (!chantier.dateFinPrevue) return false; + + return new Date() > new Date(chantier.dateFinPrevue); + } + + /** + * Calculer le retard en jours + */ + calculateRetard(chantier: Chantier): number { + if (!this.isEnRetard(chantier)) return 0; + + const dateFinPrevue = new Date(chantier.dateFinPrevue!); + const maintenant = new Date(); + const diffTime = maintenant.getTime() - dateFinPrevue.getTime(); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + } + + /** + * Calculer l'avancement du chantier en pourcentage + */ + calculateAvancement(chantier: Chantier): number { + if (chantier.statut === 'TERMINE') return 100; + if (chantier.statut === 'ANNULE') return 0; + if (!chantier.dateDebut || !chantier.dateFinPrevue) return 0; + + const now = new Date(); + const start = new Date(chantier.dateDebut); + const end = new Date(chantier.dateFinPrevue); + + if (now < start) return 0; + if (now > end) return 100; + + const totalDays = (end.getTime() - start.getTime()) / (1000 * 60 * 60 * 24); + const elapsedDays = (now.getTime() - start.getTime()) / (1000 * 60 * 60 * 24); + + return Math.min(Math.max((elapsedDays / totalDays) * 100, 0), 100); + } + + /** + * Obtenir le libellé d'un statut + */ + getStatutLabel(statut: string): string { + const labels: Record = { + PLANIFIE: 'Planifié', + EN_COURS: 'En cours', + TERMINE: 'Terminé', + ANNULE: 'Annulé', + SUSPENDU: 'Suspendu' + }; + return labels[statut] || statut; + } + + /** + * Obtenir la couleur d'un statut + */ + getStatutColor(statut: string): string { + const colors: Record = { + PLANIFIE: '#6c757d', + EN_COURS: '#0d6efd', + TERMINE: '#198754', + ANNULE: '#dc3545', + SUSPENDU: '#fd7e14' + }; + return colors[statut] || '#6c757d'; + } + + /** + * Calculer les statistiques des chantiers + */ + calculateStatistiques(chantiers: Chantier[]): { + total: number; + planifies: number; + enCours: number; + termines: number; + annules: number; + suspendus: number; + enRetard: number; + montantTotal: number; + coutTotal: number; + } { + const stats = { + total: chantiers.length, + planifies: 0, + enCours: 0, + termines: 0, + annules: 0, + suspendus: 0, + enRetard: 0, + montantTotal: 0, + coutTotal: 0 + }; + + chantiers.forEach(chantier => { + // Compter par statut + switch (chantier.statut) { + case 'PLANIFIE': + stats.planifies++; + break; + case 'EN_COURS': + stats.enCours++; + break; + case 'TERMINE': + stats.termines++; + break; + case 'ANNULE': + stats.annules++; + break; + case 'SUSPENDU': + stats.suspendus++; + break; + } + + // Vérifier les retards + if (this.isEnRetard(chantier)) { + stats.enRetard++; + } + + // Calculer montants + stats.montantTotal += chantier.montantPrevu || 0; + stats.coutTotal += chantier.montantReel || 0; + }); + + return stats; + } + + /** + * Exporter les chantiers au format CSV + */ + async exportToCsv(): Promise { + const chantiers = await this.getAll(); + + const headers = [ + 'ID', 'Nom', 'Description', 'Adresse', 'Client', 'Statut', + 'Date Début', 'Date Fin Prévue', 'Date Fin Réelle', + 'Montant Prévu', 'Montant Réel', 'Actif' + ]; + + const csvContent = [ + headers.join(';'), + ...chantiers.map(c => [ + c.id || '', + c.nom || '', + c.description || '', + c.adresse || '', + c.client ? `${c.client.prenom} ${c.client.nom}` : '', + this.getStatutLabel(c.statut), + c.dateDebut ? new Date(c.dateDebut).toLocaleDateString('fr-FR') : '', + c.dateFinPrevue ? new Date(c.dateFinPrevue).toLocaleDateString('fr-FR') : '', + c.dateFinReelle ? new Date(c.dateFinReelle).toLocaleDateString('fr-FR') : '', + c.montantPrevu || 0, + c.montantReel || 0, + c.actif ? 'Oui' : 'Non' + ].join(';')) + ].join('\n'); + + return new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + } +} + +export default new ChantierService(); \ No newline at end of file diff --git a/services/chantierTemplateService.ts b/services/chantierTemplateService.ts new file mode 100644 index 0000000..af10e37 --- /dev/null +++ b/services/chantierTemplateService.ts @@ -0,0 +1,169 @@ +/** + * Service pour la gestion des templates de chantiers et l'auto-génération des phases + */ + +import { TypeChantier, PhaseTemplate, ChantierTemplate } from '../types/chantier-templates'; +import { PhaseChantier } from '../types/btp-extended'; +import phaseTemplateService from './phaseTemplateService'; + +class ChantierTemplateService { + + /** + * Récupérer la liste des types de chantiers disponibles + */ + async getAvailableChantierTypes(): Promise<{ value: TypeChantier; label: string; categorie: string }[]> { + return phaseTemplateService.getAvailableChantierTypes(); + } + + /** + * Récupérer le template d'un type de chantier + */ + async getTemplate(typeChantier: TypeChantier): Promise { + const templates = await phaseTemplateService.getTemplatesByType(typeChantier); + const dureeTotal = await phaseTemplateService.calculateDureeTotale(typeChantier); + + // Construire un ChantierTemplate à partir des données API + return { + typeChantier, + nom: typeChantier, + description: `Template pour ${typeChantier}`, + dureeMoyenneJours: dureeTotal, + phases: templates + }; + } + + /** + * Estimer la durée d'un projet selon son type + */ + async estimateProjectDuration(typeChantier: TypeChantier): Promise { + return phaseTemplateService.calculateDureeTotale(typeChantier); + } + + /** + * Générer automatiquement les phases d'un chantier + */ + async generatePhases( + chantierId: string, + typeChantier: TypeChantier, + dateDebutProjet: Date, + options?: { + ajusterDelais?: boolean; + inclureSousPhases?: boolean; + personnaliser?: boolean; + } + ): Promise { + + try { + // Utiliser l'API backend pour générer les phases + const phasesGenerees = await phaseTemplateService.generatePhases( + chantierId, + dateDebutProjet, + options?.inclureSousPhases !== false // Par défaut true + ); + + return phasesGenerees; + + } catch (error) { + console.error('Erreur lors de la génération des phases:', error); + throw new Error('Impossible de générer les phases automatiquement'); + } + } + + /** + * Prévisualiser les phases qui seraient générées (sans les créer) + */ + async previewPhases(typeChantier: TypeChantier, dateDebutProjet: Date): Promise { + return phaseTemplateService.previewPhases(typeChantier); + } + + /** + * Obtenir les spécificités d'un type de chantier + */ + async getSpecificites(typeChantier: TypeChantier): Promise { + const template = await this.getTemplate(typeChantier); + return template.specificites || []; + } + + /** + * Obtenir les réglementations applicables + */ + async getReglementations(typeChantier: TypeChantier): Promise { + const template = await this.getTemplate(typeChantier); + return template.reglementations || []; + } + + /** + * Calculer le planning prévisionnel complet + */ + async calculatePlanning(typeChantier: TypeChantier, dateDebutProjet: Date): Promise<{ + dateDebut: Date; + dateFin: Date; + dureeJours: number; + phases: Array<{ + nom: string; + dateDebut: Date; + dateFin: Date; + duree: number; + critique: boolean; + }>; + }> { + const template = await this.getTemplate(typeChantier); + let currentDate = new Date(dateDebutProjet); + + const phases = template.phases.map(phase => { + const phaseDebut = new Date(currentDate); + const phaseFin = new Date(currentDate); + phaseFin.setDate(phaseFin.getDate() + phase.dureePrevueJours); + + const phaseInfo = { + nom: phase.nom, + dateDebut: phaseDebut, + dateFin: phaseFin, + duree: phase.dureePrevueJours, + critique: phase.critique + }; + + currentDate = new Date(phaseFin); + return phaseInfo; + }); + + return { + dateDebut: dateDebutProjet, + dateFin: currentDate, + dureeJours: template.dureeMoyenneJours, + phases + }; + } + + /** + * Analyser la complexité d'un projet + */ + async analyzeComplexity(typeChantier: TypeChantier): Promise<{ + niveau: 'SIMPLE' | 'MOYEN' | 'COMPLEXE' | 'TRES_COMPLEXE'; + score: number; + facteurs: string[]; + }> { + const complexiteAPI = await phaseTemplateService.analyzeComplexity(typeChantier); + + // Calculer des facteurs supplémentaires basés sur les données + const facteurs: string[] = []; + + if (complexiteAPI.nombrePhases > 8) facteurs.push('Nombreuses phases'); + if (complexiteAPI.dureeTotal > 365) facteurs.push('Durée longue'); + if (complexiteAPI.nombrePhasesCritiques > 3) facteurs.push('Phases critiques multiples'); + + // Calculer un score basé sur les données API + let score = 0; + score += complexiteAPI.nombrePhases * 2; + score += Math.floor(complexiteAPI.dureeTotal / 30); + score += complexiteAPI.nombrePhasesCritiques * 3; + + return { + niveau: complexiteAPI.niveauComplexite as 'SIMPLE' | 'MOYEN' | 'COMPLEXE' | 'TRES_COMPLEXE', + score, + facteurs + }; + } +} + +export default new ChantierTemplateService(); \ No newline at end of file diff --git a/services/clientService.ts b/services/clientService.ts new file mode 100644 index 0000000..589fd2d --- /dev/null +++ b/services/clientService.ts @@ -0,0 +1,143 @@ +import { clientService } from './api'; +import { Client, ClientFormData } from '../types/btp'; + +class ClientService { + private readonly basePath = '/api/clients'; + + /** + * Récupérer tous les clients + */ + async getAll(): Promise { + return await clientService.getAll(); + } + + /** + * Récupérer un client par ID + */ + async getById(id: string): Promise { + return await clientService.getById(id); + } + + /** + * Créer un nouveau client + */ + async create(client: ClientFormData): Promise { + return await clientService.create(client as Partial); + } + + /** + * Modifier un client existant + */ + async update(id: string, client: ClientFormData): Promise { + return await clientService.update(id, client as Partial); + } + + /** + * Supprimer un client + */ + async delete(id: string): Promise { + await clientService.delete(id); + } + + /** + * Rechercher des clients + */ + async search(query: string): Promise { + return await clientService.searchByNom(query); + } + + /** + * Récupérer les chantiers d'un client + */ + async getChantiers(clientId: string): Promise { + // Utiliser le service chantier pour récupérer les chantiers par client + const { chantierService } = await import('./api'); + return await chantierService.getByClient(clientId); + } + + /** + * Valider les données d'un client + */ + validateClient(client: ClientFormData): string[] { + const errors: string[] = []; + + if (!client.nom || client.nom.trim().length === 0) { + errors.push('Le nom est obligatoire'); + } + + if (!client.prenom || client.prenom.trim().length === 0) { + errors.push('Le prénom est obligatoire'); + } + + if (client.email && !this.isValidEmail(client.email)) { + errors.push('L\'email n\'est pas valide'); + } + + if (client.telephone && !this.isValidPhoneNumber(client.telephone)) { + errors.push('Le numéro de téléphone n\'est pas valide'); + } + + return errors; + } + + /** + * Valider une adresse email + */ + private isValidEmail(email: string): boolean { + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailRegex.test(email); + } + + /** + * Valider un numéro de téléphone + */ + private isValidPhoneNumber(phone: string): boolean { + const phoneRegex = /^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/; + return phoneRegex.test(phone); + } + + /** + * Formater le nom complet d'un client + */ + formatFullName(client: Client): string { + let fullName = `${client.prenom} ${client.nom}`; + if (client.entreprise) { + fullName += ` - ${client.entreprise}`; + } + return fullName; + } + + /** + * Exporter les clients au format CSV + */ + async exportToCsv(): Promise { + const clients = await this.getAll(); + + const headers = [ + 'ID', 'Prénom', 'Nom', 'Entreprise', 'Email', 'Téléphone', + 'Adresse', 'Ville', 'Code Postal', 'Pays', 'Type', 'Actif' + ]; + + const csvContent = [ + headers.join(';'), + ...clients.map(c => [ + c.id || '', + c.prenom || '', + c.nom || '', + c.entreprise || '', + c.email || '', + c.telephone || '', + c.adresse || '', + c.ville || '', + c.codePostal || '', + c.pays || '', + c.typeClient || '', + c.actif ? 'Oui' : 'Non' + ].join(';')) + ].join('\n'); + + return new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + } +} + +export default new ClientService(); \ No newline at end of file diff --git a/services/dashboard.ts b/services/dashboard.ts new file mode 100644 index 0000000..c3b98a8 --- /dev/null +++ b/services/dashboard.ts @@ -0,0 +1,328 @@ +import { apiClient } from './api-client'; + +export interface DashboardMetrics { + totalChantiers: number; + chantiersActifs: number; + chantiersEnRetard: number; + chantiersTermines: number; + totalEquipes: number; + equipesDisponibles: number; + totalMateriel: number; + materielDisponible: number; + materielEnMaintenance: number; + totalDocuments: number; + totalPhotos: number; + budgetTotal: number; + coutReel: number; + chiffreAffaires: number; + objectifCA: number; + tauxReussite: number; + satisfactionClient: number; +} + +export interface ChantierActif { + id: string; + nom: string; + client: string; + avancement: number; + dateDebut: string; + dateFin: string; + statut: 'EN_COURS' | 'EN_RETARD' | 'PLANIFIE' | 'TERMINE'; + budget: number; + coutReel: number; + equipe?: { + id: string; + nom: string; + nombreMembres: number; + }; +} + +export interface ActiviteRecente { + id: string; + type: 'CHANTIER' | 'MAINTENANCE' | 'DOCUMENT' | 'EQUIPE'; + titre: string; + description: string; + date: string; + utilisateur: string; + statut: 'SUCCESS' | 'WARNING' | 'ERROR' | 'INFO'; +} + +export interface TacheUrgente { + id: string; + titre: string; + description: string; + priorite: 'HAUTE' | 'MOYENNE' | 'BASSE'; + echeance: string; + assignee: string; + statut: 'A_FAIRE' | 'EN_COURS' | 'TERMINEE'; + chantier?: { + id: string; + nom: string; + }; +} + +export interface StatistiquesMaintenance { + totalEquipements: number; + maintenancesPreventives: number; + maintenancesCorrectives: number; + equipementsEnPanne: number; + tauxDisponibilite: number; +} + +export interface DashboardData { + metrics: DashboardMetrics; + chantiersActifs: ChantierActif[]; + activitesRecentes: ActiviteRecente[]; + tachesUrgentes: TacheUrgente[]; + statistiquesMaintenance: StatistiquesMaintenance; + graphiques: { + chiffreAffaires: { + labels: string[]; + objectifs: number[]; + realisations: number[]; + }; + avancementPhases: { + labels: string[]; + pourcentages: number[]; + }; + }; +} + +class DashboardService { + private readonly baseUrl = '/api'; + + async getDashboardData(periode: 'semaine' | 'mois' | 'trimestre' | 'annee' = 'mois'): Promise { + try { + console.log('🏗️ DashboardService: Récupération des données depuis les endpoints réels...'); + + // Récupérer les données depuis les différents endpoints réels + const [chantiers, clients, materiels, employes] = await Promise.all([ + apiClient.get('/api/v1/chantiers').catch(() => ({ data: [] })), + apiClient.get('/api/v1/clients').catch(() => ({ data: [] })), + apiClient.get('/api/v1/materiels').catch(() => ({ data: [] })), + apiClient.get('/api/v1/employes').catch(() => ({ data: [] })) + ]); + + console.log('🏗️ DashboardService: Données récupérées:', { + chantiers: chantiers.data.length, + clients: clients.data.length, + materiels: materiels.data.length, + employes: employes.data.length + }); + + // Calculer les métriques à partir des données réelles + const metrics = this.calculateMetrics(chantiers.data, clients.data, materiels.data, employes.data); + const chantiersActifs = this.filterChantiersActifs(chantiers.data); + + return { + metrics, + chantiersActifs, + activitesRecentes: [], // TODO: Implémenter avec les vraies données + tachesUrgentes: [], // TODO: Implémenter avec les vraies données + statistiquesMaintenance: this.calculateMaintenanceStats(materiels.data) + }; + } catch (error) { + console.error('Erreur lors de la récupération des données du dashboard:', error); + throw error; + } + } + + async getMetrics(periode: 'semaine' | 'mois' | 'trimestre' | 'annee' = 'mois'): Promise { + try { + // Utiliser les endpoints réels pour calculer les métriques + const [chantiers, employes, materiels] = await Promise.all([ + apiClient.get('/api/chantiers').catch(() => ({ data: [] })), + apiClient.get('/api/employes').catch(() => ({ data: [] })), + apiClient.get('/api/materiels').catch(() => ({ data: [] })) + ]); + + return this.calculateMetrics(chantiers.data, [], materiels.data, employes.data); + } catch (error) { + console.error('Erreur lors de la récupération des métriques:', error); + throw error; + } + } + + async getChantiersActifs(limit: number = 10): Promise { + try { + const response = await apiClient.get('/api/v1/chantiers'); + const chantiers = response.data || []; + return this.filterChantiersActifs(chantiers).slice(0, limit); + } catch (error) { + console.error('Erreur lors de la récupération des chantiers actifs:', error); + return []; // Retourner un tableau vide en cas d'erreur + } + } + + async getActivitesRecentes(limit: number = 20): Promise { + try { + const response = await apiClient.get(`${this.baseUrl}/activites-recentes?limit=${limit}`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des activités récentes:', error); + throw error; + } + } + + async getTachesUrgentes(limit: number = 10): Promise { + try { + const response = await apiClient.get(`${this.baseUrl}/taches-urgentes?limit=${limit}`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des tâches urgentes:', error); + throw error; + } + } + + async getStatistiquesMaintenance(): Promise { + try { + const response = await apiClient.get(`${this.baseUrl}/statistiques-maintenance`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des statistiques de maintenance:', error); + throw error; + } + } + + async exportDashboard(format: 'pdf' | 'excel' = 'pdf', periode: string = 'mois'): Promise { + try { + const response = await apiClient.get(`${this.baseUrl}/export`, { + params: { format, periode }, + responseType: 'blob' + }); + return response.data; + } catch (error) { + console.error('Erreur lors de l\'export du dashboard:', error); + throw error; + } + } + + // Méthodes utilitaires pour calculer les métriques à partir des données réelles + private calculateMetrics(chantiers: any[], clients: any[], materiels: any[], employes: any[]): DashboardMetrics { + const chantiersActifs = chantiers.filter(c => c.statut === 'EN_COURS' || c.statut === 'ACTIF'); + const chantiersEnRetard = chantiers.filter(c => c.statut === 'EN_RETARD'); + const chantiersTermines = chantiers.filter(c => c.statut === 'TERMINE'); + + const equipesDisponibles = employes.filter(e => e.statut === 'DISPONIBLE' || e.statut === 'ACTIF'); + const materielDisponible = materiels.filter(m => m.statut === 'DISPONIBLE'); + const materielEnMaintenance = materiels.filter(m => m.statut === 'MAINTENANCE'); + + return { + totalChantiers: chantiers.length, + chantiersActifs: chantiersActifs.length, + chantiersEnRetard: chantiersEnRetard.length, + chantiersTermines: chantiersTermines.length, + totalEquipes: employes.length, + equipesDisponibles: equipesDisponibles.length, + totalMateriel: materiels.length, + materielDisponible: materielDisponible.length, + materielEnMaintenance: materielEnMaintenance.length, + totalDocuments: 0, // TODO: Implémenter quand l'endpoint sera disponible + totalPhotos: 0, // TODO: Implémenter quand l'endpoint sera disponible + budgetTotal: chantiers.reduce((sum, c) => sum + (c.budget || 0), 0), + coutReel: chantiers.reduce((sum, c) => sum + (c.coutReel || 0), 0), + chiffreAffaires: chantiersTermines.reduce((sum, c) => sum + (c.budget || 0), 0), + objectifCA: 1000000, // TODO: Récupérer depuis la configuration + tauxReussite: chantiers.length > 0 ? (chantiersTermines.length / chantiers.length) * 100 : 0, + satisfactionClient: 85 // TODO: Calculer depuis les évaluations clients + }; + } + + private filterChantiersActifs(chantiers: any[]): ChantierActif[] { + return chantiers + .filter(c => c.statut === 'EN_COURS' || c.statut === 'ACTIF') + .map(c => ({ + id: c.id, + nom: c.nom || c.titre, + client: c.client?.nom || c.clientNom || 'Client non défini', + avancement: c.avancement || 0, + dateDebut: c.dateDebut, + dateFin: c.dateFin, + statut: c.statut, + budget: c.budget || 0, + coutReel: c.coutReel || 0, + equipe: c.equipe ? { + id: c.equipe.id, + nom: c.equipe.nom, + nombreMembres: c.equipe.nombreMembres || 0 + } : undefined + })); + } + + private calculateMaintenanceStats(materiels: any[]): StatistiquesMaintenance { + const materielEnMaintenance = materiels.filter(m => m.statut === 'MAINTENANCE'); + const materielDisponible = materiels.filter(m => m.statut === 'DISPONIBLE'); + + return { + materielEnMaintenance: materielEnMaintenance.length, + materielDisponible: materielDisponible.length, + maintenancesPrevues: 0, // TODO: Implémenter avec les vraies données + maintenancesEnRetard: 0, // TODO: Implémenter avec les vraies données + coutMaintenance: 0, // TODO: Calculer depuis les coûts de maintenance + tauxDisponibilite: materiels.length > 0 ? (materielDisponible.length / materiels.length) * 100 : 0 + }; + } + + // Méthodes utilitaires pour formatter les données + static formatCurrency(amount: number): string { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: 'EUR' + }).format(amount); + } + + static formatPercentage(value: number): string { + return new Intl.NumberFormat('fr-FR', { + style: 'percent', + minimumFractionDigits: 1, + maximumFractionDigits: 1 + }).format(value / 100); + } + + static formatDate(dateString: string): string { + return new Date(dateString).toLocaleDateString('fr-FR', { + day: '2-digit', + month: '2-digit', + year: 'numeric' + }); + } + + static getStatutColor(statut: string): string { + const colors: Record = { + 'EN_COURS': 'success', + 'EN_RETARD': 'danger', + 'PLANIFIE': 'info', + 'TERMINE': 'secondary', + 'SUCCESS': 'success', + 'WARNING': 'warning', + 'ERROR': 'danger', + 'INFO': 'info', + 'HAUTE': 'danger', + 'MOYENNE': 'warning', + 'BASSE': 'info', + 'A_FAIRE': 'secondary', + 'TERMINEE': 'success' + }; + return colors[statut] || 'secondary'; + } + + static getStatutIcon(statut: string): string { + const icons: Record = { + 'EN_COURS': 'pi-play', + 'EN_RETARD': 'pi-exclamation-triangle', + 'PLANIFIE': 'pi-calendar', + 'TERMINE': 'pi-check', + 'SUCCESS': 'pi-check-circle', + 'WARNING': 'pi-exclamation-triangle', + 'ERROR': 'pi-times-circle', + 'INFO': 'pi-info-circle', + 'CHANTIER': 'pi-building', + 'MAINTENANCE': 'pi-cog', + 'DOCUMENT': 'pi-file', + 'EQUIPE': 'pi-users' + }; + return icons[statut] || 'pi-circle'; + } +} + +export const dashboardService = new DashboardService(); \ No newline at end of file diff --git a/services/devisActionsService.ts b/services/devisActionsService.ts new file mode 100644 index 0000000..4784ed4 --- /dev/null +++ b/services/devisActionsService.ts @@ -0,0 +1,95 @@ +import { apiService } from './api'; + +interface DevisRenewalRequest { + devisId: string; + nouveaueDateValidite: string; + modifications?: string; +} + +interface DevisArchiveRequest { + devisId: string; + motif: string; +} + +interface ClientFollowUpRequest { + devisId: string; + clientId: string; + type: 'email' | 'telephone' | 'courrier'; + message: string; +} + +interface ChantierCreationRequest { + devisId: string; + dateDebutSouhaitee: string; + notes?: string; +} + +interface FactureCreationRequest { + devisId: string; + type: 'FACTURE' | 'ACOMPTE'; + pourcentage?: number; // Pour les acomptes +} + +class DevisActionsService { + /** + * Renouveler un devis expiré + */ + async renewDevis(request: DevisRenewalRequest): Promise { + try { + await apiService.api.post(`/devis/${request.devisId}/renew`, request); + } catch (error) { + console.error('Erreur lors du renouvellement du devis:', error); + throw new Error('Impossible de renouveler le devis. Veuillez réessayer.'); + } + } + + /** + * Archiver un devis + */ + async archiveDevis(request: DevisArchiveRequest): Promise { + try { + await apiService.api.post(`/devis/${request.devisId}/archive`, request); + } catch (error) { + console.error('Erreur lors de l\'archivage du devis:', error); + throw new Error('Impossible d\'archiver le devis. Veuillez réessayer.'); + } + } + + /** + * Effectuer un suivi client + */ + async followUpClient(request: ClientFollowUpRequest): Promise { + try { + await apiService.api.post(`/devis/${request.devisId}/follow-up`, request); + } catch (error) { + console.error('Erreur lors du suivi client:', error); + throw new Error('Impossible d\'effectuer le suivi client. Veuillez réessayer.'); + } + } + + /** + * Créer un chantier à partir d'un devis accepté + */ + async createChantierFromDevis(request: ChantierCreationRequest): Promise { + try { + await apiService.api.post(`/devis/${request.devisId}/create-chantier`, request); + } catch (error) { + console.error('Erreur lors de la création du chantier:', error); + throw new Error('Impossible de créer le chantier. Veuillez réessayer.'); + } + } + + /** + * Créer une facture à partir d'un devis accepté + */ + async createFactureFromDevis(request: FactureCreationRequest): Promise { + try { + await apiService.api.post(`/devis/${request.devisId}/create-facture`, request); + } catch (error) { + console.error('Erreur lors de la création de la facture:', error); + throw new Error('Impossible de créer la facture. Veuillez réessayer.'); + } + } +} + +export default new DevisActionsService(); \ No newline at end of file diff --git a/services/errorHandler.ts b/services/errorHandler.ts new file mode 100644 index 0000000..42630f1 --- /dev/null +++ b/services/errorHandler.ts @@ -0,0 +1,228 @@ +/** + * Service centralisé de gestion d'erreurs pour BTP Xpress + */ + +import { Toast } from 'primereact/toast'; +import { AxiosError } from 'axios'; + +export interface ErrorDetails { + code?: string; + message: string; + field?: string; + severity: 'error' | 'warn' | 'info'; +} + +export interface ApiErrorResponse { + error: string; + message?: string; + details?: ErrorDetails[]; + timestamp?: string; + path?: string; +} + +export class ErrorHandler { + private static toast: React.RefObject | null = null; + + static setToast(toastRef: React.RefObject) { + this.toast = toastRef; + } + + /** + * Gère les erreurs API avec messages appropriés + */ + static handleApiError(error: unknown, context?: string): void { + console.error(`Erreur API ${context ? `(${context})` : ''}:`, error); + + if (error instanceof AxiosError) { + const response = error.response; + + if (response) { + const status = response.status; + const data = response.data as ApiErrorResponse; + + switch (status) { + case 400: + this.showError('Données invalides', data.message || data.error || 'Vérifiez les informations saisies'); + break; + case 401: + this.showError('Non autorisé', 'Veuillez vous reconnecter'); + // Ne pas rediriger si on est en train de traiter un code d'autorisation + if (typeof window !== 'undefined') { + const currentUrl = window.location.href; + const hasAuthCode = currentUrl.includes('code=') && currentUrl.includes('/dashboard'); + + if (!hasAuthCode) { + // Rediriger vers la page de connexion + window.location.href = '/api/auth/login'; + } else { + console.log('🔄 ErrorHandler: Erreur 401 ignorée car authentification en cours...'); + } + } + break; + case 403: + this.showError('Accès refusé', 'Vous n\'avez pas les permissions nécessaires'); + break; + case 404: + this.showError('Ressource non trouvée', data.message || 'L\'élément demandé n\'existe pas'); + break; + case 409: + this.showError('Conflit', data.message || 'Cette opération entre en conflit avec l\'état actuel'); + break; + case 422: + this.handleValidationErrors(data); + break; + case 500: + this.showError('Erreur serveur', 'Une erreur interne s\'est produite. Veuillez réessayer plus tard.'); + break; + case 503: + this.showError('Service indisponible', 'Le service est temporairement indisponible'); + break; + default: + this.showError('Erreur réseau', `Erreur ${status}: ${data.message || data.error || 'Erreur inconnue'}`); + } + } else if (error.request) { + this.showError('Erreur de connexion', 'Impossible de contacter le serveur. Vérifiez votre connexion internet.'); + } else { + this.showError('Erreur', error.message || 'Une erreur inattendue s\'est produite'); + } + } else if (error instanceof Error) { + this.showError('Erreur', error.message); + } else { + this.showError('Erreur', 'Une erreur inconnue s\'est produite'); + } + } + + /** + * Gère les erreurs de validation (422) + */ + private static handleValidationErrors(data: ApiErrorResponse): void { + if (data.details && data.details.length > 0) { + const messages = data.details.map(detail => + detail.field ? `${detail.field}: ${detail.message}` : detail.message + ); + this.showError('Erreurs de validation', messages.join('\n')); + } else { + this.showError('Erreur de validation', data.message || data.error || 'Données invalides'); + } + } + + /** + * Affiche un message d'erreur + */ + static showError(summary: string, detail: string): void { + if (this.toast?.current) { + this.toast.current.show({ + severity: 'error', + summary, + detail, + life: 5000 + }); + } else { + console.error(`${summary}: ${detail}`); + } + } + + /** + * Affiche un message d'avertissement + */ + static showWarning(summary: string, detail: string): void { + if (this.toast?.current) { + this.toast.current.show({ + severity: 'warn', + summary, + detail, + life: 4000 + }); + } else { + console.warn(`${summary}: ${detail}`); + } + } + + /** + * Affiche un message de succès + */ + static showSuccess(summary: string, detail: string): void { + if (this.toast?.current) { + this.toast.current.show({ + severity: 'success', + summary, + detail, + life: 3000 + }); + } else { + console.log(`${summary}: ${detail}`); + } + } + + /** + * Affiche un message d'information + */ + static showInfo(summary: string, detail: string): void { + if (this.toast?.current) { + this.toast.current.show({ + severity: 'info', + summary, + detail, + life: 3000 + }); + } else { + console.info(`${summary}: ${detail}`); + } + } + + /** + * Valide les champs obligatoires + */ + static validateRequired(fields: Record): string[] { + const errors: string[] = []; + + Object.entries(fields).forEach(([fieldName, value]) => { + if (value === null || value === undefined || + (typeof value === 'string' && value.trim() === '') || + (Array.isArray(value) && value.length === 0)) { + errors.push(`Le champ "${fieldName}" est obligatoire`); + } + }); + + return errors; + } + + /** + * Valide un email + */ + static validateEmail(email: string): boolean { + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailRegex.test(email); + } + + /** + * Valide un numéro de téléphone français + */ + static validatePhoneNumber(phone: string): boolean { + const phoneRegex = /^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/; + return phoneRegex.test(phone); + } + + /** + * Valide un SIRET + */ + static validateSiret(siret: string): boolean { + if (!siret || siret.length !== 14) return false; + + const digits = siret.replace(/\s/g, '').split('').map(Number); + if (digits.some(isNaN)) return false; + + // Algorithme de validation SIRET + let sum = 0; + for (let i = 0; i < 14; i++) { + let digit = digits[i]; + if (i % 2 === 1) { + digit *= 2; + if (digit > 9) digit -= 9; + } + sum += digit; + } + + return sum % 10 === 0; + } +} diff --git a/services/executionGranulaireService.ts b/services/executionGranulaireService.ts new file mode 100644 index 0000000..302dbd6 --- /dev/null +++ b/services/executionGranulaireService.ts @@ -0,0 +1,301 @@ +/** + * Service pour la gestion de l'exécution granulaire des chantiers + * Gère les tâches, leur completion et le calcul d'avancement basé sur les tâches + */ + +import { apiClient } from './api-client'; + +export interface TacheExecution { + id: string; + tacheTemplateId: string; + chantierID: string; + nom: string; + description?: string; + ordreExecution: number; + dureeEstimeeMinutes?: number; + critique: boolean; + bloquante: boolean; + priorite: 'BASSE' | 'NORMALE' | 'HAUTE'; + niveauQualification?: string; + nombreOperateursRequis: number; + conditionsMeteo: string; + outilsRequis?: string[]; + materiauxRequis?: string[]; + + // État d'exécution + terminee: boolean; + dateCompletion?: Date; + completeepar?: string; + commentaires?: string; + tempsRealise?: number; + difficulteRencontree?: 'AUCUNE' | 'FAIBLE' | 'MOYENNE' | 'ELEVEE'; +} + +export interface AvancementGranulaire { + chantierID: string; + pourcentage: number; + totalTaches: number; + tachesTerminees: number; + phasesAvancement: { + phaseId: string; + nom: string; + pourcentage: number; + sousPhases: { + sousPhaseId: string; + nom: string; + pourcentage: number; + tachesTerminees: number; + totalTaches: number; + }[]; + }[]; + derniereMAJ: Date; +} + +export interface StatistiquesExecution { + totalTachesTerminees: number; + totalTaches: number; + pourcentageGlobal: number; + moyenneTempsByTache: number; + tachesEnRetard: number; + tachesCritiquesRestantes: number; + estimationFinChantier?: Date; + efficaciteEquipe: number; // % temps réalisé vs estimé +} + +class ExecutionGranulaireService { + private readonly basePath = '/chantiers'; + + /** + * Récupère l'avancement granulaire d'un chantier + */ + async getAvancementGranulaire(chantierID: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierID}/avancement-granulaire`); + return { + ...response.data, + derniereMAJ: new Date(response.data.derniereMAJ) + }; + } catch (error) { + console.error('Erreur lors de la récupération de l\'avancement granulaire:', error); + throw error; + } + } + + /** + * Récupère toutes les tâches d'exécution pour un chantier + */ + async getTachesExecution(chantierID: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierID}/taches-execution`); + return response.data.map((tache: any) => ({ + ...tache, + dateCompletion: tache.dateCompletion ? new Date(tache.dateCompletion) : undefined + })); + } catch (error) { + console.error('Erreur lors de la récupération des tâches:', error); + throw error; + } + } + + /** + * Récupère les tâches d'exécution pour une sous-phase spécifique + */ + async getTachesExecutionBySousPhase(chantierID: string, sousPhaseId: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierID}/taches-execution/${sousPhaseId}`); + return response.data.map((tache: any) => ({ + ...tache, + dateCompletion: tache.dateCompletion ? new Date(tache.dateCompletion) : undefined + })); + } catch (error) { + console.error('Erreur lors de la récupération des tâches de la sous-phase:', error); + throw error; + } + } + + /** + * Marque une tâche comme terminée + */ + async marquerTacheTerminee( + chantierID: string, + tacheTemplateId: string, + details: { + commentaires?: string; + tempsRealise?: number; + difficulteRencontree?: 'AUCUNE' | 'FAIBLE' | 'MOYENNE' | 'ELEVEE'; + completeepar?: string; + } + ): Promise { + try { + await apiClient.post(`${this.basePath}/${chantierID}/taches-execution`, { + tacheTemplateId, + terminee: true, + dateCompletion: new Date().toISOString(), + ...details + }); + } catch (error) { + console.error('Erreur lors du marquage de la tâche comme terminée:', error); + throw error; + } + } + + /** + * Marque une tâche comme non terminée + */ + async marquerTacheNonTerminee(chantierID: string, tacheTemplateId: string): Promise { + try { + await apiClient.post(`${this.basePath}/${chantierID}/taches-execution`, { + tacheTemplateId, + terminee: false, + dateCompletion: null, + commentaires: '', + tempsRealise: null, + difficulteRencontree: 'AUCUNE' + }); + } catch (error) { + console.error('Erreur lors du marquage de la tâche comme non terminée:', error); + throw error; + } + } + + /** + * Met à jour l'état d'exécution d'une tâche + */ + async updateTacheExecution( + chantierID: string, + tacheTemplateId: string, + updates: Partial + ): Promise { + try { + await apiClient.put(`${this.basePath}/${chantierID}/taches-execution/${tacheTemplateId}`, updates); + } catch (error) { + console.error('Erreur lors de la mise à jour de la tâche:', error); + throw error; + } + } + + /** + * Récupère les statistiques d'exécution d'un chantier + */ + async getStatistiquesExecution(chantierID: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierID}/statistiques-execution`); + return { + ...response.data, + estimationFinChantier: response.data.estimationFinChantier + ? new Date(response.data.estimationFinChantier) + : undefined + }; + } catch (error) { + console.error('Erreur lors de la récupération des statistiques:', error); + throw error; + } + } + + /** + * Récupère les tâches critiques en retard + */ + async getTachesCritiquesEnRetard(chantierID: string): Promise { + try { + const response = await apiClient.get(`${this.basePath}/${chantierID}/taches-critiques-retard`); + return response.data.map((tache: any) => ({ + ...tache, + dateCompletion: tache.dateCompletion ? new Date(tache.dateCompletion) : undefined + })); + } catch (error) { + console.error('Erreur lors de la récupération des tâches critiques:', error); + throw error; + } + } + + /** + * Génère un rapport d'avancement granulaire + */ + async genererRapportAvancement(chantierID: string, format: 'PDF' | 'EXCEL' = 'PDF'): Promise { + try { + const response = await apiClient.get( + `${this.basePath}/${chantierID}/rapport-avancement-granulaire`, + { + params: { format }, + responseType: 'blob' + } + ); + return response.data; + } catch (error) { + console.error('Erreur lors de la génération du rapport:', error); + throw error; + } + } + + /** + * Initialise l'exécution granulaire pour un chantier + * Crée les entrées de tâches basées sur les templates + */ + async initialiserExecutionGranulaire(chantierID: string): Promise { + try { + await apiClient.post(`${this.basePath}/${chantierID}/initialiser-execution-granulaire`); + } catch (error) { + console.error('Erreur lors de l\'initialisation de l\'exécution granulaire:', error); + throw error; + } + } + + /** + * Calcule l'avancement projeté basé sur la vitesse actuelle + */ + async calculerAvancementProjetee(chantierID: string, dateTarget: Date): Promise { + try { + const response = await apiClient.post( + `${this.basePath}/${chantierID}/avancement-projete`, + { dateTarget: dateTarget.toISOString() } + ); + return response.data.pourcentageProjecte; + } catch (error) { + console.error('Erreur lors du calcul de l\'avancement projeté:', error); + throw error; + } + } + + /** + * Récupère l'historique d'avancement du chantier + */ + async getHistoriqueAvancement(chantierID: string, periode: 'SEMAINE' | 'MOIS' = 'SEMAINE'): Promise<{ + date: Date; + pourcentage: number; + tachesTermineesJour: number; + efficaciteJour: number; + }[]> { + try { + const response = await apiClient.get(`${this.basePath}/${chantierID}/historique-avancement`, { + params: { periode } + }); + return response.data.map((entry: any) => ({ + ...entry, + date: new Date(entry.date) + })); + } catch (error) { + console.error('Erreur lors de la récupération de l\'historique:', error); + throw error; + } + } + + /** + * Valide la completion d'une sous-phase + * Toutes les tâches critiques doivent être terminées + */ + async validerCompletionSousPhase(chantierID: string, sousPhaseId: string): Promise<{ + valide: boolean; + tachesCritiquesRestantes: string[]; + pourcentageCompletion: number; + }> { + try { + const response = await apiClient.post(`${this.basePath}/${chantierID}/valider-sous-phase/${sousPhaseId}`); + return response.data; + } catch (error) { + console.error('Erreur lors de la validation de la sous-phase:', error); + throw error; + } + } +} + +export const executionGranulaireService = new ExecutionGranulaireService(); \ No newline at end of file diff --git a/services/exportBTPService.ts b/services/exportBTPService.ts new file mode 100644 index 0000000..21b0523 --- /dev/null +++ b/services/exportBTPService.ts @@ -0,0 +1,464 @@ +import ApiService from './ApiService'; +import { MaterielBTP, RechercheMaterielParams } from './materielBTPService'; +import { ZoneClimatique } from './zoneClimatiqueService'; +import { ResultatCalculBriques, ResultatCalculBetonArme } from './calculsTechniquesService'; + +/** + * Service d'export pour les données BTP ultra-détaillées + * Permet l'export en CSV, Excel et PDF des matériaux, calculs et zones climatiques + */ + +export type FormatExport = 'CSV' | 'EXCEL' | 'PDF'; + +export interface OptionsExport { + format: FormatExport; + includeImages?: boolean; + includeCharts?: boolean; + filtres?: any; + colonnesPersonnalisees?: string[]; + template?: 'STANDARD' | 'DETAILLE' | 'RESUME'; +} + +export interface ResultatExport { + filename: string; + blob: Blob; + size: number; + format: FormatExport; + nbLignes: number; + dateGeneration: string; +} + +export class ExportBTPService { + + /** + * Export des matériaux BTP avec filtres + */ + static async exporterMateriaux(options: OptionsExport & { + filtres?: RechercheMaterielParams; + }): Promise { + try { + const blob = await ApiService.post( + '/calculs-techniques/materiaux/export', + { + format: options.format, + filtres: options.filtres, + template: options.template || 'STANDARD', + colonnesPersonnalisees: options.colonnesPersonnalisees + }, + { responseType: 'blob' } + ); + + const filename = this.genererNomFichier('materiaux', options.format); + + return { + filename, + blob, + size: blob.size, + format: options.format, + nbLignes: 0, // Sera calculé côté serveur + dateGeneration: new Date().toISOString() + }; + + } catch (error) { + console.error('Erreur export matériaux:', error); + throw new Error('Impossible d\'exporter les matériaux'); + } + } + + /** + * Export des zones climatiques + */ + static async exporterZonesClimatiques(options: OptionsExport): Promise { + try { + const blob = await ApiService.post( + '/calculs-techniques/zones-climatiques/export', + { + format: options.format, + template: options.template || 'STANDARD' + }, + { responseType: 'blob' } + ); + + const filename = this.genererNomFichier('zones-climatiques', options.format); + + return { + filename, + blob, + size: blob.size, + format: options.format, + nbLignes: 0, + dateGeneration: new Date().toISOString() + }; + + } catch (error) { + console.error('Erreur export zones climatiques:', error); + throw new Error('Impossible d\'exporter les zones climatiques'); + } + } + + /** + * Export des résultats de calculs techniques + */ + static async exporterCalculs( + calculs: Array<{ + type: 'BRIQUES' | 'BETON' | 'MORTIER'; + resultat: ResultatCalculBriques | ResultatCalculBetonArme | any; + parametres: any; + }>, + options: OptionsExport + ): Promise { + try { + const data = { + calculs: calculs, + format: options.format, + template: options.template || 'DETAILLE', + includeCharts: options.includeCharts || false + }; + + const blob = await ApiService.post( + '/calculs-techniques/export-calculs', + data, + { responseType: 'blob' } + ); + + const filename = this.genererNomFichier('calculs-techniques', options.format); + + return { + filename, + blob, + size: blob.size, + format: options.format, + nbLignes: calculs.length, + dateGeneration: new Date().toISOString() + }; + + } catch (error) { + // Fallback : export côté client si serveur indisponible + console.warn('Export serveur indisponible, génération côté client'); + return this.exporterCalculsCoteClient(calculs, options); + } + } + + /** + * Export complet du projet BTP (matériaux + zones + calculs) + */ + static async exporterProjetComplet( + chantierId: string, + options: OptionsExport & { + includeMateriaux?: boolean; + includeZones?: boolean; + includeCalculs?: boolean; + includePhases?: boolean; + } + ): Promise { + try { + const data = { + chantierId, + format: options.format, + template: options.template || 'DETAILLE', + sections: { + materiaux: options.includeMateriaux !== false, + zones: options.includeZones !== false, + calculs: options.includeCalculs !== false, + phases: options.includePhases !== false + }, + includeCharts: options.includeCharts || false, + includeImages: options.includeImages || false + }; + + const blob = await ApiService.post( + '/calculs-techniques/export-projet-complet', + data, + { responseType: 'blob' } + ); + + const filename = this.genererNomFichier(`projet-${chantierId}`, options.format); + + return { + filename, + blob, + size: blob.size, + format: options.format, + nbLignes: 0, + dateGeneration: new Date().toISOString() + }; + + } catch (error) { + console.error('Erreur export projet complet:', error); + throw new Error('Impossible d\'exporter le projet complet'); + } + } + + /** + * Génération de devis BTP détaillé avec matériaux et calculs + */ + static async genererDevisBTP( + devisData: { + chantierId: string; + phases: Array<{ + nom: string; + materiaux: Array<{ + code: string; + quantite: number; + prixUnitaire?: number; + }>; + calculs?: any; + }>; + client: { + nom: string; + adresse: string; + telephone?: string; + email?: string; + }; + options: { + margeCommerciale: number; + tva: number; + delaiExecution: number; + validiteDevis: number; // jours + conditionsPaiement: string; + }; + }, + format: FormatExport = 'PDF' + ): Promise { + try { + const blob = await ApiService.post( + '/calculs-techniques/generer-devis', + { + ...devisData, + format, + template: 'DEVIS_PROFESSIONNEL' + }, + { responseType: 'blob' } + ); + + const filename = this.genererNomFichier(`devis-${devisData.chantierId}`, format); + + return { + filename, + blob, + size: blob.size, + format, + nbLignes: devisData.phases.length, + dateGeneration: new Date().toISOString() + }; + + } catch (error) { + console.error('Erreur génération devis:', error); + throw new Error('Impossible de générer le devis'); + } + } + + /** + * Export des matériaux avec QR codes pour traçabilité + */ + static async exporterMateriauxAvecQRCodes( + materiaux: MaterielBTP[], + options: OptionsExport + ): Promise { + try { + const data = { + materiaux: materiaux.map(m => ({ + id: m.id, + code: m.code, + nom: m.nom, + categorie: m.categorie, + specifications: { + resistance: m.resistanceCompression, + densite: m.densite, + norme: m.normePrincipale + } + })), + format: options.format, + includeQRCodes: true, + template: 'TRACABILITE' + }; + + const blob = await ApiService.post( + '/calculs-techniques/export-tracabilite', + data, + { responseType: 'blob' } + ); + + const filename = this.genererNomFichier('tracabilite-materiaux', options.format); + + return { + filename, + blob, + size: blob.size, + format: options.format, + nbLignes: materiaux.length, + dateGeneration: new Date().toISOString() + }; + + } catch (error) { + console.error('Erreur export traçabilité:', error); + throw new Error('Impossible d\'exporter la traçabilité'); + } + } + + // =================== MÉTHODES UTILITAIRES =================== + + /** + * Télécharge automatiquement le fichier exporté + */ + static telechargerFichier(resultat: ResultatExport): void { + const url = window.URL.createObjectURL(resultat.blob); + const a = document.createElement('a'); + a.href = url; + a.download = resultat.filename; + document.body.appendChild(a); + a.click(); + window.URL.revokeObjectURL(url); + document.body.removeChild(a); + } + + /** + * Prévisualise le contenu avant export (pour PDF) + */ + static async previsualiserExport( + type: 'MATERIAUX' | 'ZONES' | 'CALCULS' | 'DEVIS', + donnees: any, + options: OptionsExport + ): Promise { + try { + const response = await ApiService.post<{ previewUrl: string }>( + '/calculs-techniques/previsualiser-export', + { + type, + donnees, + options + } + ); + + return response.previewUrl; + + } catch (error) { + console.error('Erreur prévisualisation:', error); + throw new Error('Impossible de générer la prévisualisation'); + } + } + + /** + * Obtient les templates d'export disponibles + */ + static async getTemplatesDisponibles(): Promise> { + try { + const response = await ApiService.get>('/calculs-techniques/templates-export'); + + return response; + + } catch (error) { + // Templates par défaut + return [ + { + id: 'STANDARD', + nom: 'Standard', + description: 'Export standard avec informations essentielles', + formatsSupportes: ['CSV', 'EXCEL', 'PDF'], + sections: ['donnees_base'] + }, + { + id: 'DETAILLE', + nom: 'Détaillé', + description: 'Export complet avec toutes les spécifications techniques', + formatsSupportes: ['EXCEL', 'PDF'], + sections: ['donnees_base', 'specifications', 'calculs', 'normes'] + }, + { + id: 'RESUME', + nom: 'Résumé', + description: 'Export synthétique pour présentation', + formatsSupportes: ['PDF'], + sections: ['resume', 'graphiques'] + } + ]; + } + } + + /** + * Validation des options d'export + */ + static validerOptionsExport(options: OptionsExport): { + valide: boolean; + erreurs: string[]; + } { + const erreurs: string[] = []; + + if (!options.format) { + erreurs.push('Format d\'export requis'); + } + + if (options.format === 'PDF' && options.colonnesPersonnalisees?.length > 20) { + erreurs.push('Maximum 20 colonnes pour export PDF'); + } + + if (options.includeImages && options.format === 'CSV') { + erreurs.push('Images non supportées en format CSV'); + } + + return { + valide: erreurs.length === 0, + erreurs + }; + } + + // =================== MÉTHODES PRIVÉES =================== + + /** + * Génère un nom de fichier unique + */ + private static genererNomFichier(prefix: string, format: FormatExport): string { + const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, -5); + const extension = format.toLowerCase(); + return `${prefix}_${timestamp}.${extension}`; + } + + /** + * Export côté client en cas de problème serveur + */ + private static async exporterCalculsCoteClient( + calculs: any[], + options: OptionsExport + ): Promise { + let contenu = ''; + + if (options.format === 'CSV') { + // Génération CSV simple + contenu = 'Type,Résultat,Date\n'; + calculs.forEach(calcul => { + contenu += `${calcul.type},"${JSON.stringify(calcul.resultat)}",${new Date().toISOString()}\n`; + }); + } else { + // Format texte pour autres formats + contenu = 'Export des calculs techniques BTP\n\n'; + calculs.forEach(calcul => { + contenu += `Type: ${calcul.type}\n`; + contenu += `Résultat: ${JSON.stringify(calcul.resultat, null, 2)}\n\n`; + }); + } + + const blob = new Blob([contenu], { type: 'text/plain;charset=utf-8' }); + const filename = this.genererNomFichier('calculs-fallback', 'CSV'); + + return { + filename, + blob, + size: blob.size, + format: 'CSV', + nbLignes: calculs.length, + dateGeneration: new Date().toISOString() + }; + } +} \ No newline at end of file diff --git a/services/factureActionsService.ts b/services/factureActionsService.ts new file mode 100644 index 0000000..db9b76c --- /dev/null +++ b/services/factureActionsService.ts @@ -0,0 +1,135 @@ +import { apiService } from './api'; + +interface PaymentRecordRequest { + factureId: string; + montant: number; + datePaiement: string; + modePaiement: 'VIREMENT' | 'CHEQUE' | 'ESPECES' | 'CARTE'; + reference?: string; + notes?: string; +} + +interface RelanceRequest { + factureId: string; + type: 'GENTILLE' | 'FERME' | 'URGENTE'; + message?: string; + delaiSupplementaire?: number; // en jours +} + +interface PaymentPlanRequest { + factureId: string; + nbEcheances: number; + datePremiereEcheance: string; + montantEcheance: number; + conditions?: string; +} + +interface MiseEnDemeureRequest { + factureId: string; + delaiPaiement: number; // en jours + mentionsLegales: string; + fraisDossier?: number; +} + +interface ClientSuspensionRequest { + clientId: string; + motif: string; + duree?: number; // en jours, si temporaire + temporaire: boolean; +} + +interface AvoirCreationRequest { + factureOriginaleId: string; + motif: string; + montant: number; + lignesRetournees: string[]; // IDs des lignes concernées + notes?: string; +} + +class FactureActionsService { + /** + * Enregistrer un paiement + */ + async recordPayment(request: PaymentRecordRequest): Promise { + try { + await apiService.api.post(`/factures/${request.factureId}/payment`, request); + } catch (error) { + console.error('Erreur lors de l\'enregistrement du paiement:', error); + throw new Error('Impossible d\'enregistrer le paiement. Veuillez réessayer.'); + } + } + + /** + * Envoyer une relance + */ + async sendRelance(request: RelanceRequest): Promise { + try { + await apiService.api.post(`/factures/${request.factureId}/relance`, request); + } catch (error) { + console.error('Erreur lors de l\'envoi de la relance:', error); + throw new Error('Impossible d\'envoyer la relance. Veuillez réessayer.'); + } + } + + /** + * Planifier un échéancier de paiement + */ + async createPaymentPlan(request: PaymentPlanRequest): Promise { + try { + await apiService.api.post(`/factures/${request.factureId}/payment-plan`, request); + } catch (error) { + console.error('Erreur lors de la création de l\'échéancier:', error); + throw new Error('Impossible de créer l\'échéancier. Veuillez réessayer.'); + } + } + + /** + * Envoyer une mise en demeure + */ + async sendMiseEnDemeure(request: MiseEnDemeureRequest): Promise { + try { + await apiService.api.post(`/factures/${request.factureId}/mise-en-demeure`, request); + } catch (error) { + console.error('Erreur lors de l\'envoi de la mise en demeure:', error); + throw new Error('Impossible d\'envoyer la mise en demeure. Veuillez réessayer.'); + } + } + + /** + * Suspendre un client + */ + async suspendClient(request: ClientSuspensionRequest): Promise { + try { + await apiService.api.post(`/clients/${request.clientId}/suspend`, request); + } catch (error) { + console.error('Erreur lors de la suspension du client:', error); + throw new Error('Impossible de suspendre le client. Veuillez réessayer.'); + } + } + + /** + * Créer un avoir + */ + async createAvoir(request: AvoirCreationRequest): Promise { + try { + await apiService.api.post('/factures/avoir', request); + } catch (error) { + console.error('Erreur lors de la création de l\'avoir:', error); + throw new Error('Impossible de créer l\'avoir. Veuillez réessayer.'); + } + } + + /** + * Envoyer une relance urgente + */ + async sendUrgentRelance(factureId: string, message: string): Promise { + await this.sendRelance({ + factureId, + type: 'URGENTE', + message, + delaiSupplementaire: 7 + }); + } +} + +export default new FactureActionsService(); \ No newline at end of file diff --git a/services/fournisseurPhaseService.ts b/services/fournisseurPhaseService.ts new file mode 100644 index 0000000..73aa94f --- /dev/null +++ b/services/fournisseurPhaseService.ts @@ -0,0 +1,239 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { + FournisseurPhase, + ApiResponse +} from '../types/btp-extended'; + +class FournisseurPhaseService { + private readonly basePath = '/fournisseurs-phases'; + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token Keycloak + this.api.interceptors.request.use( + async (config) => { + // Vérifier si Keycloak est initialisé et l'utilisateur authentifié + if (typeof window !== 'undefined') { + const { keycloak, KEYCLOAK_TIMEOUTS } = await import('../config/keycloak'); + + if (keycloak.authenticated) { + try { + // Rafraîchir le token si nécessaire + await keycloak.updateToken(KEYCLOAK_TIMEOUTS.TOKEN_REFRESH_BEFORE_EXPIRY); + + // Ajouter le token Bearer à l'en-tête Authorization + if (keycloak.token) { + config.headers['Authorization'] = `Bearer ${keycloak.token}`; + } + } catch (error) { + console.error('Erreur lors de la mise à jour du token Keycloak:', error); + keycloak.login(); + throw error; + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + } + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + window.location.href = '/api/auth/login'; + } + return Promise.reject(error); + } + ); + } + + /** + * Récupérer les fournisseurs d'une phase + */ + async getByPhase(phaseId: string): Promise { + if (!phaseId || phaseId === 'undefined' || phaseId === 'null' || phaseId === 'NaN') { + console.warn(`ID de phase invalide: ${phaseId}`); + return []; + } + + try { + const response = await this.api.get(`${this.basePath}/phase/${phaseId}`); + return response.data; + } catch (error) { + console.warn(`Endpoint ${this.basePath}/phase/${phaseId} non disponible:`, error); + return []; + } + } + + /** + * Récupérer un fournisseur de phase par ID + */ + async getById(id: number): Promise { + const response = await this.api.get(`${this.basePath}/${id}`); + return response.data; + } + + /** + * Créer un nouveau fournisseur de phase + */ + async create(fournisseurPhase: Omit): Promise { + console.log('Creating fournisseur phase with data:', fournisseurPhase); + const response = await this.api.post(this.basePath, fournisseurPhase); + return response.data; + } + + /** + * Modifier un fournisseur de phase existant + */ + async update(id: number, fournisseurPhase: Partial): Promise { + const response = await this.api.put(`${this.basePath}/${id}`, fournisseurPhase); + return response.data; + } + + /** + * Supprimer un fournisseur de phase + */ + async delete(id: number): Promise { + await this.api.delete(`${this.basePath}/${id}`); + } + + /** + * Obtenir les fournisseurs par type de contribution + */ + async getByTypeContribution(phaseId: string, type: string): Promise { + try { + const fournisseurs = await this.getByPhase(phaseId); + return fournisseurs.filter(f => f.typeContribution === type); + } catch (error) { + console.error('Erreur lors de la récupération par type:', error); + return []; + } + } + + /** + * Calculer les économies réalisées avec les négociations + */ + async calculerEconomies(phaseId: string): Promise { + try { + const fournisseurs = await this.getByPhase(phaseId); + return fournisseurs.reduce((total, fournisseur) => { + const prixCatalogue = fournisseur.prixCatalogue || 0; + const prixNegocie = fournisseur.prixNegocie || prixCatalogue; + return total + (prixCatalogue - prixNegocie); + }, 0); + } catch (error) { + console.error('Erreur lors du calcul des économies:', error); + return 0; + } + } + + /** + * Obtenir le fournisseur principal d'une phase + */ + async getFournisseurPrincipal(phaseId: string): Promise { + try { + const fournisseurs = await this.getByPhase(phaseId); + return fournisseurs.find(f => f.priorite === 1) || null; + } catch (error) { + console.error('Erreur lors de la récupération du fournisseur principal:', error); + return null; + } + } + + /** + * Lancer un appel d'offres pour une phase + */ + async lancerAppelOffres(phaseId: string, fournisseurIds: number[]): Promise { + try { + const response = await this.api.post(`${this.basePath}/appel-offres`, { + phaseId, + fournisseurIds + }); + return response.data; + } catch (error) { + console.warn('Appel d\'offres non disponible:', error); + return []; + } + } + + /** + * Comparer les offres de fournisseurs + */ + async comparerOffres(phaseId: string): Promise { + try { + const fournisseurs = await this.getByPhase(phaseId); + // Tri par prix négocié croissant + return fournisseurs.sort((a, b) => { + const prixA = a.prixNegocie || a.prixCatalogue || Infinity; + const prixB = b.prixNegocie || b.prixCatalogue || Infinity; + return prixA - prixB; + }); + } catch (error) { + console.error('Erreur lors de la comparaison des offres:', error); + return []; + } + } + + /** + * Valider une négociation + */ + async validerNegociation(id: number, validePar: string): Promise { + const response = await this.api.post(`${this.basePath}/${id}/valider`, { + validePar, + dateValidation: new Date() + }); + return response.data; + } + + /** + * Calculer le score d'un fournisseur (prix, délai, qualité) + */ + calculerScoreFournisseur(fournisseur: FournisseurPhase): number { + let score = 0; + + // Score prix (40% du total) + const prixFinal = fournisseur.prixNegocie || fournisseur.prixCatalogue || 0; + const remise = fournisseur.remise || 0; + const scoreRemise = Math.min(remise / 100, 0.3); // Max 30% de remise + score += scoreRemise * 40; + + // Score délai (30% du total) + const delai = fournisseur.delaiLivraison || 30; + const scoreDelai = Math.max(0, (30 - delai) / 30); // Meilleur si délai < 30 jours + score += scoreDelai * 30; + + // Score priorité/historique (30% du total) + const priorite = fournisseur.priorite || 5; + const scorePriorite = Math.max(0, (6 - priorite) / 5); // Meilleur si priorité = 1 + score += scorePriorite * 30; + + return Math.round(score); + } +} + +export default new FournisseurPhaseService(); \ No newline at end of file diff --git a/services/fournisseurService.ts b/services/fournisseurService.ts new file mode 100644 index 0000000..eec7525 --- /dev/null +++ b/services/fournisseurService.ts @@ -0,0 +1,353 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { + Fournisseur, + FournisseurFormData, + FournisseurFilters, + CommandeFournisseur, + CatalogueItem, + TypeFournisseur, + ApiResponse, + PaginatedResponse +} from '../types/btp-extended'; + +class FournisseurService { + private readonly basePath = '/api/v1/fournisseurs'; + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token Keycloak + this.api.interceptors.request.use( + async (config) => { + // Vérifier si Keycloak est initialisé et l'utilisateur authentifié + if (typeof window !== 'undefined') { + const { keycloak, KEYCLOAK_TIMEOUTS } = await import('../config/keycloak'); + + if (keycloak.authenticated) { + try { + // Rafraîchir le token si nécessaire + await keycloak.updateToken(KEYCLOAK_TIMEOUTS.TOKEN_REFRESH_BEFORE_EXPIRY); + + // Ajouter le token Bearer à l'en-tête Authorization + if (keycloak.token) { + config.headers['Authorization'] = `Bearer ${keycloak.token}`; + } + } catch (error) { + console.error('Erreur lors de la mise à jour du token Keycloak:', error); + keycloak.login(); + throw error; + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + } + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + window.location.href = '/api/auth/login'; + } + return Promise.reject(error); + } + ); + } + + /** + * Récupérer tous les fournisseurs + */ + async getAll(filters?: FournisseurFilters): Promise { + const params = new URLSearchParams(); + + if (filters?.actif !== undefined) { + params.append('actifs', filters.actif.toString()); + } + if (filters?.type) { + params.append('type', filters.type); + } + + const response = await this.api.get(`${this.basePath}?${params}`); + return response.data; + } + + /** + * Récupérer un fournisseur par ID + */ + async getById(id: number): Promise { + const response = await this.api.get(`${this.basePath}/${id}`); + return response.data; + } + + /** + * Créer un nouveau fournisseur + */ + async create(fournisseur: FournisseurFormData): Promise { + const response = await this.api.post(this.basePath, fournisseur); + return response.data; + } + + /** + * Modifier un fournisseur existant + */ + async update(id: number, fournisseur: FournisseurFormData): Promise { + const response = await this.api.put(`${this.basePath}/${id}`, fournisseur); + return response.data; + } + + /** + * Supprimer un fournisseur + */ + async delete(id: number): Promise { + await this.api.delete(`${this.basePath}/${id}`); + } + + /** + * Désactiver un fournisseur + */ + async deactivate(id: number): Promise { + await this.api.post(`${this.basePath}/${id}/desactiver`); + } + + /** + * Activer un fournisseur + */ + async activate(id: number): Promise { + await this.api.post(`${this.basePath}/${id}/activer`); + } + + /** + * Rechercher des fournisseurs + */ + async search(terme: string): Promise { + const response = await this.api.get(`${this.basePath}/recherche?q=${encodeURIComponent(terme)}`); + return response.data; + } + + /** + * Récupérer les types de fournisseurs + */ + async getTypes(): Promise { + const response = await this.api.get(`${this.basePath}/types`); + return response.data; + } + + /** + * Récupérer les commandes d'un fournisseur + */ + async getCommandes(id: number): Promise { + const response = await this.api.get(`${this.basePath}/${id}/commandes`); + return response.data; + } + + /** + * Récupérer le catalogue d'un fournisseur + */ + async getCatalogue(id: number): Promise { + const response = await this.api.get(`${this.basePath}/${id}/catalogue`); + return response.data; + } + + /** + * Récupérer les fournisseurs actifs uniquement + */ + async getActifs(): Promise { + return this.getAll({ actif: true }); + } + + /** + * Récupérer les fournisseurs par type + */ + async getByType(type: TypeFournisseur): Promise { + return this.getAll({ type }); + } + + /** + * Valider les données d'un fournisseur + */ + validateFournisseur(fournisseur: FournisseurFormData): string[] { + const errors: string[] = []; + + if (!fournisseur.nom || fournisseur.nom.trim().length === 0) { + errors.push('Le nom du fournisseur est obligatoire'); + } + + if (fournisseur.nom && fournisseur.nom.length > 100) { + errors.push('Le nom ne peut pas dépasser 100 caractères'); + } + + if (fournisseur.email && !this.isValidEmail(fournisseur.email)) { + errors.push('L\'adresse email n\'est pas valide'); + } + + if (fournisseur.siret && fournisseur.siret.length > 20) { + errors.push('Le numéro SIRET ne peut pas dépasser 20 caractères'); + } + + if (fournisseur.telephone && fournisseur.telephone.length > 20) { + errors.push('Le numéro de téléphone ne peut pas dépasser 20 caractères'); + } + + return errors; + } + + /** + * Valider une adresse email + */ + private isValidEmail(email: string): boolean { + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailRegex.test(email); + } + + /** + * Formater l'adresse complète d'un fournisseur + */ + formatAdresseComplete(fournisseur: Fournisseur): string { + const parties: string[] = []; + + if (fournisseur.adresse) { + parties.push(fournisseur.adresse); + } + + if (fournisseur.codePostal || fournisseur.ville) { + const ligneVille = [fournisseur.codePostal, fournisseur.ville] + .filter(Boolean) + .join(' '); + if (ligneVille) { + parties.push(ligneVille); + } + } + + if (fournisseur.pays && fournisseur.pays !== 'France') { + parties.push(fournisseur.pays); + } + + return parties.join(', '); + } + + /** + * Obtenir le libellé d'un type de fournisseur + */ + getTypeLabel(type: TypeFournisseur): string { + const labels: Record = { + MATERIEL: 'Matériel', + SERVICE: 'Service', + SOUS_TRAITANT: 'Sous-traitant', + LOCATION: 'Location', + TRANSPORT: 'Transport', + CONSOMMABLE: 'Consommable' + }; + return labels[type] || type; + } + + /** + * Exporter la liste des fournisseurs au format CSV + */ + async exportToCsv(filters?: FournisseurFilters): Promise { + const fournisseurs = await this.getAll(filters); + + const headers = [ + 'ID', 'Nom', 'Type', 'SIRET', 'Email', 'Téléphone', + 'Adresse', 'Code Postal', 'Ville', 'Pays', 'Actif' + ]; + + const csvContent = [ + headers.join(';'), + ...fournisseurs.map(f => [ + f.id || '', + f.nom || '', + this.getTypeLabel(f.type), + f.siret || '', + f.email || '', + f.telephone || '', + f.adresse || '', + f.codePostal || '', + f.ville || '', + f.pays || '', + f.actif ? 'Oui' : 'Non' + ].join(';')) + ].join('\n'); + + return new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + } + + /** + * Importer des fournisseurs depuis un fichier CSV + */ + async importFromCsv(file: File): Promise<{ success: number; errors: string[] }> { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = async (e) => { + try { + const csv = e.target?.result as string; + const lines = csv.split('\n'); + const headers = lines[0].split(';'); + + let successCount = 0; + const errors: string[] = []; + + for (let i = 1; i < lines.length; i++) { + if (lines[i].trim()) { + try { + const values = lines[i].split(';'); + const fournisseur: FournisseurFormData = { + nom: values[1] || '', + type: (values[2] as TypeFournisseur) || 'MATERIEL', + siret: values[3] || undefined, + email: values[4] || undefined, + telephone: values[5] || undefined, + adresse: values[6] || undefined, + codePostal: values[7] || undefined, + ville: values[8] || undefined, + pays: values[9] || 'France', + actif: values[10] === 'Oui' + }; + + const validationErrors = this.validateFournisseur(fournisseur); + if (validationErrors.length === 0) { + await this.create(fournisseur); + successCount++; + } else { + errors.push(`Ligne ${i + 1}: ${validationErrors.join(', ')}`); + } + } catch (error) { + errors.push(`Ligne ${i + 1}: Erreur lors de la création`); + } + } + } + + resolve({ success: successCount, errors }); + } catch (error) { + reject(error); + } + }; + reader.readAsText(file); + }); + } +} + +export default new FournisseurService(); \ No newline at end of file diff --git a/services/materielBTPService.ts b/services/materielBTPService.ts new file mode 100644 index 0000000..f1b3818 --- /dev/null +++ b/services/materielBTPService.ts @@ -0,0 +1,323 @@ +import ApiService from './ApiService'; + +/** + * Service pour la gestion des matériaux BTP ultra-détaillés + * Connecté aux APIs backend du système le plus ambitieux d'Afrique + */ + +export interface MaterielBTP { + id: number; + code: string; + nom: string; + description: string; + categorie: CategorieMateriel; + sousCategorie: string; + + // Dimensions techniques + dimensions: { + longueur: number; + largeur: number; + hauteur: number; + diametre?: number; + tolerance: number; + surface?: number; + volume?: number; + perimetre?: number; + }; + + // Propriétés physiques + densite: number; + resistanceCompression: number; + resistanceTraction: number; + resistanceFlexion: number; + moduleElasticite: number; + coefficientDilatation: number; + absorptionEau: number; + porosite: number; + conductiviteThermique: number; + resistanceGel: boolean; + resistanceIntemperies: NiveauResistance; + + // Spécifications climatiques + temperatureMin: number; + temperatureMax: number; + humiditeMax: number; + resistanceUV: NiveauResistance; + resistancePluie: NiveauResistance; + resistanceVentFort: boolean; + + // Normes et certifications + normePrincipale: string; + classification: string; + certificationRequise: boolean; + marquageCE: boolean; + conformiteECOWAS: boolean; + conformiteSADC?: boolean; + + // Quantification + uniteBase: string; + facteurPerte: number; + facteurSurapprovisionnement: number; + modeFourniture: ModeFourniture; + quantiteParUnite: number; + poidsUnitaire: number; + + // Calcul automatique + formuleCalcul?: string; + parametresCalcul?: string; + + // Mise en œuvre + tempsUnitaire: number; + temperatureOptimaleMin: number; + temperatureOptimaleMax: number; + + // Contrôle qualité + frequenceControle: string; + dureeVieEstimee: number; + maintenanceRequise: boolean; + + // Métadonnées + actif: boolean; + creePar: string; + dateCreation: string; + modifiePar?: string; + dateModification?: string; +} + +export enum CategorieMateriel { + GROS_OEUVRE = 'GROS_OEUVRE', + SECOND_OEUVRE = 'SECOND_OEUVRE', + FINITION = 'FINITION', + PLOMBERIE = 'PLOMBERIE', + ELECTRICITE = 'ELECTRICITE', + MENUISERIE = 'MENUISERIE', + COUVERTURE = 'COUVERTURE', + ISOLATION = 'ISOLATION', + OUTILLAGE = 'OUTILLAGE', + EQUIPEMENT = 'EQUIPEMENT' +} + +export enum NiveauResistance { + EXCELLENT = 'EXCELLENT', + BON = 'BON', + MOYEN = 'MOYEN', + FAIBLE = 'FAIBLE' +} + +export enum ModeFourniture { + VRAC = 'VRAC', + SACS = 'SACS', + PALETTE = 'PALETTE', + UNITE = 'UNITE', + KIT = 'KIT' +} + +export interface RechercheMaterielParams { + categorie?: CategorieMateriel; + sousCategorie?: string; + texte?: string; + temperatureMin?: number; + temperatureMax?: number; + certifie?: boolean; + zoneClimatique?: string; + actif?: boolean; +} + +export interface StatistiquesMateriel { + total: number; + parCategorie: Array<{ categorie: string; nombre: number; densiteMoyenne: number }>; + certifies: number; + marquageCE: number; + conformesECOWAS: number; +} + +export class MaterielBTPService { + private static readonly BASE_PATH = '/calculs-techniques'; + + /** + * Récupère tous les matériaux ou par critères + */ + static async getMateriaux(params?: RechercheMaterielParams): Promise<{ + materiaux: MaterielBTP[]; + total: number; + filtres: any; + }> { + const queryParams = new URLSearchParams(); + + if (params?.categorie) queryParams.append('categorie', params.categorie); + if (params?.zoneClimatique) queryParams.append('zone', params.zoneClimatique); + + const url = `${this.BASE_PATH}/materiaux${queryParams.toString() ? '?' + queryParams.toString() : ''}`; + + const response = await ApiService.get<{ + materiaux: MaterielBTP[]; + total: number; + filtres: any; + }>(url); + + return response; + } + + /** + * Recherche avancée de matériaux + */ + static async rechercherMateriaux(params: RechercheMaterielParams): Promise { + const response = await ApiService.post(`${this.BASE_PATH}/materiaux/recherche`, params); + return response; + } + + /** + * Récupère un matériau par son code + */ + static async getMaterielByCode(code: string): Promise { + const response = await ApiService.get(`${this.BASE_PATH}/materiaux/${code}`); + return response; + } + + /** + * Récupère les matériaux par catégorie + */ + static async getMateriauxByCategorie(categorie: CategorieMateriel): Promise { + const response = await this.getMateriaux({ categorie }); + return response.materiaux; + } + + /** + * Récupère les matériaux adaptés à une zone climatique + */ + static async getMateriauxAdaptesZone(zoneClimatique: string): Promise { + const response = await this.getMateriaux({ zoneClimatique }); + return response.materiaux; + } + + /** + * Récupère les matériaux par sous-catégorie + */ + static async getMateriauxBySousCategorie(sousCategorie: string): Promise { + const response = await this.getMateriaux({ sousCategorie }); + return response.materiaux; + } + + /** + * Recherche textuelle de matériaux + */ + static async rechercherTexte(texte: string): Promise { + const response = await this.getMateriaux({ texte }); + return response.materiaux; + } + + /** + * Récupère les matériaux certifiés + */ + static async getMateriauxCertifies(): Promise { + const response = await this.getMateriaux({ certifie: true }); + return response.materiaux; + } + + /** + * Récupère les matériaux pour une plage de température + */ + static async getMateriauxParTemperature(tempMin: number, tempMax: number): Promise { + const response = await this.getMateriaux({ temperatureMin: tempMin, temperatureMax: tempMax }); + return response.materiaux; + } + + /** + * Récupère les statistiques des matériaux + */ + static async getStatistiquesMateriaux(): Promise { + const response = await ApiService.get(`${this.BASE_PATH}/materiaux/statistiques`); + return response; + } + + /** + * Récupère les sous-catégories d'une catégorie + */ + static async getSousCategories(categorie: CategorieMateriel): Promise { + const materiaux = await this.getMateriauxByCategorie(categorie); + const sousCategories = [...new Set(materiaux.map(m => m.sousCategorie))]; + return sousCategories.sort(); + } + + /** + * Récupère les types d'unités utilisées + */ + static async getUnitesBase(): Promise { + const response = await this.getMateriaux(); + const unites = [...new Set(response.materiaux.map(m => m.uniteBase))]; + return unites.sort(); + } + + /** + * Récupère les normes utilisées + */ + static async getNormesPrincipales(): Promise { + const response = await this.getMateriaux(); + const normes = [...new Set(response.materiaux.map(m => m.normePrincipale))]; + return normes.sort(); + } + + /** + * Validation d'un matériau pour une zone climatique + */ + static async validerMaterielPourZone(codeMateriel: string, zoneClimatique: string): Promise<{ + adapte: boolean; + warnings: string[]; + recommendations: string[]; + }> { + const response = await ApiService.post<{ + adapte: boolean; + warnings: string[]; + recommendations: string[]; + }>(`${this.BASE_PATH}/materiaux/${codeMateriel}/validation-zone`, { zoneClimatique }); + + return response; + } + + /** + * Récupère les alternatives à un matériau + */ + static async getAlternativesMateriel(codeMateriel: string, zoneClimatique?: string): Promise { + const queryParams = new URLSearchParams(); + if (zoneClimatique) queryParams.append('zone', zoneClimatique); + + const url = `${this.BASE_PATH}/materiaux/${codeMateriel}/alternatives${queryParams.toString() ? '?' + queryParams.toString() : ''}`; + const response = await ApiService.get<{ alternatives: MaterielBTP[] }>(url); + + return response.alternatives; + } + + /** + * Calcule les quantités nécessaires selon formule matériau + */ + static async calculerQuantite(codeMateriel: string, parametres: Record): Promise<{ + quantiteBase: number; + quantiteAvecPerte: number; + quantiteAvecSurapprovisionnement: number; + uniteQuantite: string; + details: any; + }> { + const response = await ApiService.post<{ + quantiteBase: number; + quantiteAvecPerte: number; + quantiteAvecSurapprovisionnement: number; + uniteQuantite: string; + details: any; + }>(`${this.BASE_PATH}/materiaux/${codeMateriel}/calcul-quantite`, parametres); + + return response; + } + + /** + * Export des matériaux en différents formats + */ + static async exporterMateriaux(format: 'CSV' | 'EXCEL' | 'PDF', filtres?: RechercheMaterielParams): Promise { + const response = await ApiService.post( + `${this.BASE_PATH}/materiaux/export`, + { format, filtres }, + { responseType: 'blob' } + ); + + return response; + } +} \ No newline at end of file diff --git a/services/materielPhaseService.ts b/services/materielPhaseService.ts new file mode 100644 index 0000000..8165897 --- /dev/null +++ b/services/materielPhaseService.ts @@ -0,0 +1,203 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { + MaterielPhase, + FournisseurPhase, + AnalysePrixPhase, + ApiResponse +} from '../types/btp-extended'; + +class MaterielPhaseService { + private readonly basePath = '/materiels-phases'; + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token JWT + this.api.interceptors.request.use( + (config) => { + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + window.location.href = '/api/auth/login'; + } + return Promise.reject(error); + } + ); + } + + /** + * Récupérer les matériels d'une phase + */ + async getByPhase(phaseId: string): Promise { + if (!phaseId || phaseId === 'undefined' || phaseId === 'null' || phaseId === 'NaN') { + console.warn(`ID de phase invalide: ${phaseId}`); + return []; + } + + try { + const response = await this.api.get(`${this.basePath}/phase/${phaseId}`); + return response.data; + } catch (error) { + console.warn(`Endpoint ${this.basePath}/phase/${phaseId} non disponible:`, error); + return []; + } + } + + /** + * Récupérer un matériel de phase par ID + */ + async getById(id: number): Promise { + const response = await this.api.get(`${this.basePath}/${id}`); + return response.data; + } + + /** + * Créer un nouveau matériel de phase + */ + async create(materielPhase: Omit): Promise { + console.log('Creating materiel phase with data:', materielPhase); + const response = await this.api.post(this.basePath, materielPhase); + return response.data; + } + + /** + * Modifier un matériel de phase existant + */ + async update(id: number, materielPhase: Partial): Promise { + const response = await this.api.put(`${this.basePath}/${id}`, materielPhase); + return response.data; + } + + /** + * Supprimer un matériel de phase + */ + async delete(id: number): Promise { + await this.api.delete(`${this.basePath}/${id}`); + } + + /** + * Calculer le coût total des matériels d'une phase + */ + async calculerCoutTotal(phaseId: string): Promise { + try { + const materiels = await this.getByPhase(phaseId); + return materiels.reduce((total, materiel) => { + const prix = materiel.prixUnitaireNegocie || materiel.prixUnitaireCatalogue || 0; + const quantite = materiel.quantiteUtilisee || materiel.quantitePrevue || 0; + return total + (prix * quantite); + }, 0); + } catch (error) { + console.error('Erreur lors du calcul du coût total:', error); + return 0; + } + } + + /** + * Obtenir les matériels en rupture de stock pour une phase + */ + async getMaterielsEnRupture(phaseId: string): Promise { + try { + const materiels = await this.getByPhase(phaseId); + return materiels.filter(materiel => + materiel.enStock === false || + (materiel.quantiteStock || 0) < (materiel.quantitePrevue || 0) + ); + } catch (error) { + console.error('Erreur lors de la vérification du stock:', error); + return []; + } + } + + /** + * Obtenir les alternatives de fournisseurs pour un matériel + */ + async getFournisseursAlternatifs(materielPhaseId: number): Promise { + try { + const response = await this.api.get(`${this.basePath}/${materielPhaseId}/fournisseurs-alternatifs`); + return response.data; + } catch (error) { + console.warn('Fournisseurs alternatifs non disponibles:', error); + return []; + } + } + + /** + * Négocier un prix avec un fournisseur + */ + async negocierPrix(materielPhaseId: number, fournisseurId: number, prixNegocie: number): Promise { + const response = await this.api.post(`${this.basePath}/${materielPhaseId}/negocier-prix`, { + fournisseurId, + prixNegocie + }); + return response.data; + } + + /** + * Valider la sélection d'un fournisseur + */ + async validerFournisseur(materielPhaseId: number, fournisseurPhaseId: number): Promise { + const response = await this.api.post(`${this.basePath}/${materielPhaseId}/valider-fournisseur`, { + fournisseurPhaseId + }); + return response.data; + } + + /** + * Calculer l'analyse de prix pour une phase + */ + async calculerAnalysePrix(phaseId: string): Promise { + try { + const response = await this.api.post(`/analyses-prix/calculer/${phaseId}`); + return response.data; + } catch (error) { + // Calcul côté client si l'endpoint n'existe pas + const materiels = await this.getByPhase(phaseId); + const coutMateriauxTotal = materiels.reduce((total, materiel) => { + const prix = materiel.prixUnitaireNegocie || materiel.prixUnitaireCatalogue || 0; + const quantite = materiel.quantiteUtilisee || materiel.quantitePrevue || 0; + return total + (prix * quantite); + }, 0); + + return { + phase: { id: parseInt(phaseId) } as any, + coutMateriauxTotal, + coutMainOeuvreTotal: 0, + coutSousTraitanceTotal: 0, + coutAutresTotal: 0, + coutTotalDirect: coutMateriauxTotal, + coutTotalAvecFrais: coutMateriauxTotal, + prixVenteCalcule: coutMateriauxTotal * 1.2, // Marge de 20% par défaut + dateAnalyse: new Date() + }; + } + } +} + +export default new MaterielPhaseService(); \ No newline at end of file diff --git a/services/monitoringService.ts b/services/monitoringService.ts new file mode 100644 index 0000000..511d005 --- /dev/null +++ b/services/monitoringService.ts @@ -0,0 +1,277 @@ +/** + * Service de monitoring avancé côté client + */ + +export interface PerformanceMetric { + name: string; + value: number; + timestamp: number; + tags?: Record; +} + +export interface ErrorMetric { + error: string; + stack?: string; + url: string; + userAgent: string; + timestamp: number; + userId?: string; +} + +export interface UserAction { + action: string; + component: string; + timestamp: number; + duration?: number; + metadata?: Record; +} + +export class MonitoringService { + private static metrics: PerformanceMetric[] = []; + private static errors: ErrorMetric[] = []; + private static userActions: UserAction[] = []; + private static isEnabled = true; + + /** + * Initialise le service de monitoring + */ + static init(): void { + if (typeof window === 'undefined') return; + + // Monitoring des erreurs JavaScript + window.addEventListener('error', (event) => { + this.recordError({ + error: event.message, + stack: event.error?.stack, + url: window.location.href, + userAgent: navigator.userAgent, + timestamp: Date.now() + }); + }); + + // Monitoring des promesses rejetées + window.addEventListener('unhandledrejection', (event) => { + this.recordError({ + error: `Unhandled Promise Rejection: ${event.reason}`, + url: window.location.href, + userAgent: navigator.userAgent, + timestamp: Date.now() + }); + }); + + // Monitoring des performances de navigation + if ('performance' in window) { + window.addEventListener('load', () => { + setTimeout(() => { + this.recordNavigationMetrics(); + }, 0); + }); + } + + // Envoi périodique des métriques + setInterval(() => { + this.sendMetrics(); + }, 60000); // Toutes les minutes + } + + /** + * Enregistre une métrique de performance + */ + static recordMetric(name: string, value: number, tags?: Record): void { + if (!this.isEnabled) return; + + this.metrics.push({ + name, + value, + timestamp: Date.now(), + tags + }); + + // Limiter le nombre de métriques en mémoire + if (this.metrics.length > 1000) { + this.metrics = this.metrics.slice(-500); + } + } + + /** + * Enregistre une erreur + */ + static recordError(error: ErrorMetric): void { + if (!this.isEnabled) return; + + this.errors.push(error); + + // Limiter le nombre d'erreurs en mémoire + if (this.errors.length > 100) { + this.errors = this.errors.slice(-50); + } + } + + /** + * Enregistre une action utilisateur + */ + static recordUserAction(action: string, component: string, metadata?: Record): void { + if (!this.isEnabled) return; + + this.userActions.push({ + action, + component, + timestamp: Date.now(), + metadata + }); + + // Limiter le nombre d'actions en mémoire + if (this.userActions.length > 500) { + this.userActions = this.userActions.slice(-250); + } + } + + /** + * Mesure le temps d'exécution d'une fonction + */ + static async measureTime( + name: string, + fn: () => Promise, + tags?: Record + ): Promise { + const start = performance.now(); + try { + const result = await fn(); + const duration = performance.now() - start; + this.recordMetric(`${name}.duration`, duration, tags); + this.recordMetric(`${name}.success`, 1, tags); + return result; + } catch (error) { + const duration = performance.now() - start; + this.recordMetric(`${name}.duration`, duration, tags); + this.recordMetric(`${name}.error`, 1, tags); + throw error; + } + } + + /** + * Enregistre les métriques de navigation + */ + private static recordNavigationMetrics(): void { + if (!('performance' in window) || !window.performance.timing) return; + + const timing = window.performance.timing; + const navigation = window.performance.navigation; + + // Temps de chargement de la page + const pageLoadTime = timing.loadEventEnd - timing.navigationStart; + this.recordMetric('page.load_time', pageLoadTime, { + url: window.location.pathname + }); + + // Temps de réponse du serveur + const serverResponseTime = timing.responseEnd - timing.requestStart; + this.recordMetric('page.server_response_time', serverResponseTime); + + // Temps de rendu DOM + const domRenderTime = timing.domContentLoadedEventEnd - timing.domLoading; + this.recordMetric('page.dom_render_time', domRenderTime); + + // Type de navigation + const navigationType = navigation.type === 0 ? 'navigate' : + navigation.type === 1 ? 'reload' : + navigation.type === 2 ? 'back_forward' : 'unknown'; + this.recordMetric('page.navigation_type', 1, { + type: navigationType + }); + } + + /** + * Envoie les métriques au serveur + */ + private static async sendMetrics(): void { + if (this.metrics.length === 0 && this.errors.length === 0 && this.userActions.length === 0) { + return; + } + + try { + const payload = { + metrics: [...this.metrics], + errors: [...this.errors], + userActions: [...this.userActions], + timestamp: Date.now(), + url: window.location.href, + userAgent: navigator.userAgent + }; + + // Envoyer au serveur (endpoint à implémenter) + await fetch('/api/monitoring', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(payload) + }); + + // Vider les buffers après envoi réussi + this.metrics = []; + this.errors = []; + this.userActions = []; + + } catch (error) { + console.warn('Échec de l\'envoi des métriques:', error); + } + } + + /** + * Obtient les statistiques actuelles + */ + static getStats(): { + metricsCount: number; + errorsCount: number; + userActionsCount: number; + isEnabled: boolean; + } { + return { + metricsCount: this.metrics.length, + errorsCount: this.errors.length, + userActionsCount: this.userActions.length, + isEnabled: this.isEnabled + }; + } + + /** + * Active ou désactive le monitoring + */ + static setEnabled(enabled: boolean): void { + this.isEnabled = enabled; + } + + /** + * Vide tous les buffers + */ + static clear(): void { + this.metrics = []; + this.errors = []; + this.userActions = []; + } +} + +// Initialisation automatique +if (typeof window !== 'undefined') { + MonitoringService.init(); +} + +// Hook React pour le monitoring des composants +export function useMonitoring(componentName: string) { + const recordAction = (action: string, metadata?: Record) => { + MonitoringService.recordUserAction(action, componentName, metadata); + }; + + const measureAsync = async ( + name: string, + fn: () => Promise + ): Promise => { + return MonitoringService.measureTime(`${componentName}.${name}`, fn); + }; + + return { + recordAction, + measureAsync + }; +} diff --git a/services/notificationService.ts b/services/notificationService.ts new file mode 100644 index 0000000..cd0a46a --- /dev/null +++ b/services/notificationService.ts @@ -0,0 +1,236 @@ +import { apiService } from './api'; + +export interface Notification { + id: string; + type: 'info' | 'warning' | 'success' | 'error'; + titre: string; + message: string; + date: Date; + lu: boolean; + userId?: string; + metadata?: { + chantierId?: string; + chantierNom?: string; + clientId?: string; + clientNom?: string; + action?: string; + }; +} + +export interface NotificationStats { + total: number; + nonLues: number; + parType: Record; + tendance: { + periode: string; + nombre: number; + }[]; +} + +class NotificationService { + /** + * Récupérer toutes les notifications + */ + async getNotifications(): Promise { + try { + const response = await apiService.api.get('/notifications'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des notifications:', error); + return this.getMockNotifications(); + } + } + + /** + * Récupérer les notifications non lues + */ + async getUnreadNotifications(): Promise { + try { + const response = await apiService.api.get('/notifications/unread'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des notifications non lues:', error); + return this.getMockNotifications().filter(n => !n.lu); + } + } + + /** + * Marquer une notification comme lue + */ + async markAsRead(notificationId: string): Promise { + try { + await apiService.api.put(`/notifications/${notificationId}/read`); + } catch (error) { + console.error('Erreur lors du marquage comme lu:', error); + } + } + + /** + * Marquer toutes les notifications comme lues + */ + async markAllAsRead(): Promise { + try { + await apiService.api.put('/notifications/read-all'); + } catch (error) { + console.error('Erreur lors du marquage global:', error); + } + } + + /** + * Créer une nouvelle notification + */ + async createNotification(notification: Omit): Promise { + try { + const response = await apiService.api.post('/notifications', { + ...notification, + date: new Date().toISOString() + }); + return response.data; + } catch (error) { + console.error('Erreur lors de la création de notification:', error); + throw error; + } + } + + /** + * Supprimer une notification + */ + async deleteNotification(notificationId: string): Promise { + try { + await apiService.api.delete(`/notifications/${notificationId}`); + } catch (error) { + console.error('Erreur lors de la suppression:', error); + throw error; + } + } + + /** + * Récupérer les statistiques des notifications + */ + async getNotificationStats(): Promise { + try { + const response = await apiService.api.get('/notifications/stats'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des statistiques:', error); + return this.getMockNotificationStats(); + } + } + + /** + * Diffuser une notification à plusieurs utilisateurs + */ + async broadcastNotification(notification: { + type: 'info' | 'warning' | 'success' | 'error'; + titre: string; + message: string; + userIds?: string[]; + roles?: string[]; + }): Promise { + try { + await apiService.api.post('/notifications/broadcast', notification); + } catch (error) { + console.error('Erreur lors de la diffusion:', error); + throw error; + } + } + + /** + * Notifications mockées + */ + private getMockNotifications(): Notification[] { + return [ + { + id: '1', + type: 'info', + titre: 'Nouveau devis disponible', + message: 'Le devis pour votre extension cuisine est maintenant disponible', + date: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000), + lu: false, + metadata: { + chantierId: 'chantier-1', + chantierNom: 'Extension cuisine', + action: 'devis_cree' + } + }, + { + id: '2', + type: 'warning', + titre: 'Rendez-vous prévu', + message: 'Rendez-vous avec votre gestionnaire demain à 14h00', + date: new Date(Date.now() - 24 * 60 * 60 * 1000), + lu: false, + metadata: { + action: 'rendez_vous_planifie' + } + }, + { + id: '3', + type: 'success', + titre: 'Phase terminée', + message: 'La phase "Gros œuvre" de votre chantier a été terminée', + date: new Date(Date.now() - 3 * 24 * 60 * 60 * 1000), + lu: true, + metadata: { + chantierId: 'chantier-2', + chantierNom: 'Rénovation appartement', + action: 'phase_terminee' + } + }, + { + id: '4', + type: 'error', + titre: 'Retard détecté', + message: 'Le chantier "Villa moderne" accuse un retard de 3 jours', + date: new Date(Date.now() - 4 * 24 * 60 * 60 * 1000), + lu: true, + metadata: { + chantierId: 'chantier-3', + chantierNom: 'Villa moderne', + action: 'retard_detecte' + } + }, + { + id: '5', + type: 'info', + titre: 'Nouveau client attribué', + message: 'Vous avez été désigné gestionnaire pour M. Durand', + date: new Date(Date.now() - 5 * 24 * 60 * 60 * 1000), + lu: true, + metadata: { + clientId: 'client-4', + clientNom: 'M. Durand', + action: 'client_attribue' + } + } + ]; + } + + /** + * Statistiques mockées + */ + private getMockNotificationStats(): NotificationStats { + const notifications = this.getMockNotifications(); + return { + total: notifications.length, + nonLues: notifications.filter(n => !n.lu).length, + parType: { + info: notifications.filter(n => n.type === 'info').length, + warning: notifications.filter(n => n.type === 'warning').length, + success: notifications.filter(n => n.type === 'success').length, + error: notifications.filter(n => n.type === 'error').length + }, + tendance: [ + { periode: 'Lundi', nombre: 3 }, + { periode: 'Mardi', nombre: 7 }, + { periode: 'Mercredi', nombre: 2 }, + { periode: 'Jeudi', nombre: 5 }, + { periode: 'Vendredi', nombre: 4 }, + { periode: 'Samedi', nombre: 1 }, + { periode: 'Dimanche', nombre: 0 } + ] + }; + } +} + +export default new NotificationService(); \ No newline at end of file diff --git a/services/permissionService.ts b/services/permissionService.ts new file mode 100644 index 0000000..453502c --- /dev/null +++ b/services/permissionService.ts @@ -0,0 +1,526 @@ +import { UserRole, ROLE_PERMISSIONS } from '../types/auth'; +import { useAuth } from '../hooks/useAuth'; + +interface Permission { + id: string; + name: string; + description: string; + resource: string; + action: string; + category: 'ADMIN' | 'GESTION' | 'COMMERCIAL' | 'TECHNIQUE' | 'CONSULTATION'; +} + +interface Role { + id: string; + name: string; + displayName: string; + description: string; + permissions: string[]; + level: number; // Niveau hiérarchique (plus élevé = plus de permissions) +} + +class PermissionService { + /** + * Obtenir toutes les permissions disponibles + */ + getAllPermissions(): Permission[] { + return [ + // Permissions administratives + { + id: 'users:read', + name: 'Consulter utilisateurs', + description: 'Voir la liste des utilisateurs', + resource: 'users', + action: 'read', + category: 'ADMIN' + }, + { + id: 'users:write', + name: 'Gérer utilisateurs', + description: 'Créer, modifier les utilisateurs', + resource: 'users', + action: 'write', + category: 'ADMIN' + }, + { + id: 'users:delete', + name: 'Supprimer utilisateurs', + description: 'Supprimer des utilisateurs', + resource: 'users', + action: 'delete', + category: 'ADMIN' + }, + { + id: 'attribution:read', + name: 'Consulter attributions', + description: 'Voir les attributions client-gestionnaire', + resource: 'attribution', + action: 'read', + category: 'ADMIN' + }, + { + id: 'attribution:write', + name: 'Gérer attributions', + description: 'Modifier les attributions client-gestionnaire', + resource: 'attribution', + action: 'write', + category: 'ADMIN' + }, + + // Permissions de gestion + { + id: 'clients:read', + name: 'Consulter clients', + description: 'Voir la liste des clients', + resource: 'clients', + action: 'read', + category: 'GESTION' + }, + { + id: 'clients:write', + name: 'Gérer clients', + description: 'Créer, modifier les clients', + resource: 'clients', + action: 'write', + category: 'GESTION' + }, + { + id: 'clients:delete', + name: 'Supprimer clients', + description: 'Supprimer des clients', + resource: 'clients', + action: 'delete', + category: 'GESTION' + }, + { + id: 'assigned_clients:read', + name: 'Consulter clients attribués', + description: 'Voir ses clients attribués', + resource: 'assigned_clients', + action: 'read', + category: 'GESTION' + }, + { + id: 'assigned_clients:write', + name: 'Gérer clients attribués', + description: 'Modifier ses clients attribués', + resource: 'assigned_clients', + action: 'write', + category: 'GESTION' + }, + + // Permissions chantiers + { + id: 'chantiers:read', + name: 'Consulter chantiers', + description: 'Voir tous les chantiers', + resource: 'chantiers', + action: 'read', + category: 'TECHNIQUE' + }, + { + id: 'chantiers:write', + name: 'Gérer chantiers', + description: 'Créer, modifier les chantiers', + resource: 'chantiers', + action: 'write', + category: 'TECHNIQUE' + }, + { + id: 'chantiers:delete', + name: 'Supprimer chantiers', + description: 'Supprimer des chantiers', + resource: 'chantiers', + action: 'delete', + category: 'TECHNIQUE' + }, + { + id: 'assigned_chantiers:read', + name: 'Consulter chantiers attribués', + description: 'Voir ses chantiers attribués', + resource: 'assigned_chantiers', + action: 'read', + category: 'TECHNIQUE' + }, + { + id: 'assigned_chantiers:write', + name: 'Gérer chantiers attribués', + description: 'Modifier ses chantiers attribués', + resource: 'assigned_chantiers', + action: 'write', + category: 'TECHNIQUE' + }, + + // Permissions phases + { + id: 'phases:read', + name: 'Consulter phases', + description: 'Voir les phases des chantiers', + resource: 'phases', + action: 'read', + category: 'TECHNIQUE' + }, + { + id: 'phases:write', + name: 'Gérer phases', + description: 'Modifier les phases des chantiers', + resource: 'phases', + action: 'write', + category: 'TECHNIQUE' + }, + + // Permissions commerciales + { + id: 'devis:read', + name: 'Consulter devis', + description: 'Voir tous les devis', + resource: 'devis', + action: 'read', + category: 'COMMERCIAL' + }, + { + id: 'devis:write', + name: 'Gérer devis', + description: 'Créer, modifier les devis', + resource: 'devis', + action: 'write', + category: 'COMMERCIAL' + }, + { + id: 'devis:delete', + name: 'Supprimer devis', + description: 'Supprimer des devis', + resource: 'devis', + action: 'delete', + category: 'COMMERCIAL' + }, + { + id: 'assigned_devis:read', + name: 'Consulter devis attribués', + description: 'Voir ses devis attribués', + resource: 'assigned_devis', + action: 'read', + category: 'COMMERCIAL' + }, + { + id: 'assigned_devis:write', + name: 'Gérer devis attribués', + description: 'Modifier ses devis attribués', + resource: 'assigned_devis', + action: 'write', + category: 'COMMERCIAL' + }, + + // Permissions factures + { + id: 'factures:read', + name: 'Consulter factures', + description: 'Voir toutes les factures', + resource: 'factures', + action: 'read', + category: 'COMMERCIAL' + }, + { + id: 'factures:write', + name: 'Gérer factures', + description: 'Créer, modifier les factures', + resource: 'factures', + action: 'write', + category: 'COMMERCIAL' + }, + { + id: 'factures:delete', + name: 'Supprimer factures', + description: 'Supprimer des factures', + resource: 'factures', + action: 'delete', + category: 'COMMERCIAL' + }, + { + id: 'assigned_factures:read', + name: 'Consulter factures attribuées', + description: 'Voir ses factures attribuées', + resource: 'assigned_factures', + action: 'read', + category: 'COMMERCIAL' + }, + { + id: 'assigned_factures:write', + name: 'Gérer factures attribuées', + description: 'Modifier ses factures attribuées', + resource: 'assigned_factures', + action: 'write', + category: 'COMMERCIAL' + }, + + // Permissions budget + { + id: 'budget:read', + name: 'Consulter budgets', + description: 'Voir les informations budgétaires', + resource: 'budget', + action: 'read', + category: 'GESTION' + }, + { + id: 'budget:write', + name: 'Gérer budgets', + description: 'Modifier les budgets', + resource: 'budget', + action: 'write', + category: 'GESTION' + }, + + // Permissions planning + { + id: 'planning:read', + name: 'Consulter planning', + description: 'Voir le planning des chantiers', + resource: 'planning', + action: 'read', + category: 'TECHNIQUE' + }, + { + id: 'planning:write', + name: 'Gérer planning', + description: 'Modifier le planning', + resource: 'planning', + action: 'write', + category: 'TECHNIQUE' + }, + + // Permissions dashboard + { + id: 'dashboard:read', + name: 'Accès dashboard', + description: 'Accéder au tableau de bord', + resource: 'dashboard', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'client_dashboard:read', + name: 'Accès espace client', + description: 'Accéder à l\'espace client', + resource: 'client_dashboard', + action: 'read', + category: 'CONSULTATION' + }, + + // Permissions spécifiques clients + { + id: 'own_chantiers:read', + name: 'Consulter ses chantiers', + description: 'Voir ses propres chantiers', + resource: 'own_chantiers', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'own_phases:read', + name: 'Consulter ses phases', + description: 'Voir les phases de ses chantiers', + resource: 'own_phases', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'own_devis:read', + name: 'Consulter ses devis', + description: 'Voir ses propres devis', + resource: 'own_devis', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'own_factures:read', + name: 'Consulter ses factures', + description: 'Voir ses propres factures', + resource: 'own_factures', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'own_documents:read', + name: 'Consulter ses documents', + description: 'Voir ses documents', + resource: 'own_documents', + action: 'read', + category: 'CONSULTATION' + }, + + // Permissions messages + { + id: 'messages:read', + name: 'Consulter messages', + description: 'Voir les messages', + resource: 'messages', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'messages:write', + name: 'Envoyer messages', + description: 'Envoyer des messages', + resource: 'messages', + action: 'write', + category: 'CONSULTATION' + }, + + // Permissions documents + { + id: 'documents:read', + name: 'Consulter documents', + description: 'Voir tous les documents', + resource: 'documents', + action: 'read', + category: 'CONSULTATION' + }, + { + id: 'documents:write', + name: 'Gérer documents', + description: 'Uploader, modifier les documents', + resource: 'documents', + action: 'write', + category: 'CONSULTATION' + }, + + // Permissions paramètres + { + id: 'settings:write', + name: 'Gérer paramètres', + description: 'Modifier les paramètres système', + resource: 'settings', + action: 'write', + category: 'ADMIN' + } + ]; + } + + /** + * Obtenir tous les rôles avec leurs descriptions + */ + getAllRoles(): Role[] { + return [ + { + id: UserRole.ADMIN, + name: UserRole.ADMIN, + displayName: 'Administrateur', + description: 'Accès complet au système, gestion des utilisateurs et paramètres', + permissions: ROLE_PERMISSIONS[UserRole.ADMIN], + level: 100 + }, + { + id: UserRole.MANAGER, + name: UserRole.MANAGER, + displayName: 'Responsable', + description: 'Gestion opérationnelle, supervision des gestionnaires et chantiers', + permissions: ROLE_PERMISSIONS[UserRole.MANAGER], + level: 80 + }, + { + id: UserRole.GESTIONNAIRE_PROJET, + name: UserRole.GESTIONNAIRE_PROJET, + displayName: 'Gestionnaire de Projet', + description: 'Gestion des clients attribués et de leurs projets', + permissions: ROLE_PERMISSIONS[UserRole.GESTIONNAIRE_PROJET], + level: 60 + }, + { + id: UserRole.CHEF_CHANTIER, + name: UserRole.CHEF_CHANTIER, + displayName: 'Chef de Chantier', + description: 'Gestion opérationnelle des chantiers et des équipes', + permissions: ROLE_PERMISSIONS[UserRole.CHEF_CHANTIER], + level: 50 + }, + { + id: UserRole.COMPTABLE, + name: UserRole.COMPTABLE, + displayName: 'Comptable', + description: 'Gestion financière, devis, factures et budgets', + permissions: ROLE_PERMISSIONS[UserRole.COMPTABLE], + level: 40 + }, + { + id: UserRole.OUVRIER, + name: UserRole.OUVRIER, + displayName: 'Ouvrier', + description: 'Consultation des chantiers et mise à jour des phases', + permissions: ROLE_PERMISSIONS[UserRole.OUVRIER], + level: 30 + }, + { + id: UserRole.CLIENT, + name: UserRole.CLIENT, + displayName: 'Client', + description: 'Consultation de ses projets, devis et factures', + permissions: ROLE_PERMISSIONS[UserRole.CLIENT], + level: 10 + } + ]; + } + + /** + * Vérifier si un utilisateur a une permission spécifique + */ + hasPermission(userRole: UserRole, permission: string): boolean { + const rolePermissions = ROLE_PERMISSIONS[userRole]; + return rolePermissions.includes(permission); + } + + /** + * Vérifier si un utilisateur a toutes les permissions requises + */ + hasAllPermissions(userRole: UserRole, permissions: string[]): boolean { + return permissions.every(permission => this.hasPermission(userRole, permission)); + } + + /** + * Vérifier si un utilisateur a au moins une des permissions + */ + hasAnyPermission(userRole: UserRole, permissions: string[]): boolean { + return permissions.some(permission => this.hasPermission(userRole, permission)); + } + + /** + * Obtenir les permissions d'un rôle groupées par catégorie + */ + getPermissionsByCategory(role: UserRole): Record { + const allPermissions = this.getAllPermissions(); + const rolePermissions = ROLE_PERMISSIONS[role]; + + const userPermissions = allPermissions.filter(p => + rolePermissions.includes(p.id) + ); + + return userPermissions.reduce((acc, permission) => { + const category = permission.category; + if (!acc[category]) { + acc[category] = []; + } + acc[category].push(permission); + return acc; + }, {} as Record); + } + + /** + * Comparer deux rôles (retourne true si role1 >= role2 en niveau) + */ + compareRoles(role1: UserRole, role2: UserRole): boolean { + const roles = this.getAllRoles(); + const level1 = roles.find(r => r.id === role1)?.level || 0; + const level2 = roles.find(r => r.id === role2)?.level || 0; + return level1 >= level2; + } + + /** + * Obtenir le niveau hiérarchique d'un rôle + */ + getRoleLevel(role: UserRole): number { + const roles = this.getAllRoles(); + return roles.find(r => r.id === role)?.level || 0; + } +} + +export default new PermissionService(); \ No newline at end of file diff --git a/services/phaseChantierService.ts b/services/phaseChantierService.ts new file mode 100644 index 0000000..eb5198e --- /dev/null +++ b/services/phaseChantierService.ts @@ -0,0 +1,418 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { + PhaseChantier, + PhaseChantierFormData, + PhaseFilters, + JalonPhase, + PointagePhase, + StatutPhase, + ApiResponse +} from '../types/btp-extended'; + +class PhaseChantierService { + private readonly basePath = '/phases-chantier'; + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token Keycloak + this.api.interceptors.request.use( + async (config) => { + // Vérifier si Keycloak est initialisé et l'utilisateur authentifié + if (typeof window !== 'undefined') { + const { keycloak, KEYCLOAK_TIMEOUTS } = await import('../config/keycloak'); + + if (keycloak.authenticated) { + try { + // Rafraîchir le token si nécessaire + await keycloak.updateToken(KEYCLOAK_TIMEOUTS.TOKEN_REFRESH_BEFORE_EXPIRY); + + // Ajouter le token Bearer à l'en-tête Authorization + if (keycloak.token) { + config.headers['Authorization'] = `Bearer ${keycloak.token}`; + } + } catch (error) { + console.error('Erreur lors de la mise à jour du token Keycloak:', error); + keycloak.login(); + throw error; + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + } + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + window.location.href = '/api/auth/login'; + } + return Promise.reject(error); + } + ); + } + + /** + * Récupérer les phases d'un chantier + */ + async getByChantier(chantierId: number): Promise { + const response = await this.api.api.get(`${this.basePath}/chantier/${chantierId}`); + return response.data; + } + + /** + * Récupérer une phase par ID + */ + async getById(id: number): Promise { + const response = await this.api.get(`${this.basePath}/${id}`); + return response.data; + } + + /** + * Créer une nouvelle phase + */ + async create(phase: PhaseChantierFormData): Promise { + const response = await this.api.post(this.basePath, phase); + return response.data; + } + + /** + * Modifier une phase existante + */ + async update(id: number, phase: PhaseChantierFormData): Promise { + const response = await this.api.put(`${this.basePath}/${id}`, phase); + return response.data; + } + + /** + * Supprimer une phase + */ + async delete(id: number): Promise { + await this.api.delete(`${this.basePath}/${id}`); + } + + /** + * Démarrer une phase + */ + async start(id: number): Promise { + await this.api.post(`${this.basePath}/${id}/demarrer`); + } + + /** + * Terminer une phase + */ + async complete(id: number): Promise { + await this.api.post(`${this.basePath}/${id}/terminer`); + } + + /** + * Suspendre une phase + */ + async suspend(id: number): Promise { + await this.api.post(`${this.basePath}/${id}/suspendre`); + } + + /** + * Reprendre une phase suspendue + */ + async resume(id: number): Promise { + await this.api.post(`${this.basePath}/${id}/reprendre`); + } + + /** + * Mettre à jour l'avancement d'une phase + */ + async updateProgress(id: number, pourcentage: number): Promise { + await this.api.put(`${this.basePath}/${id}/avancement?pourcentage=${pourcentage}`); + } + + /** + * Récupérer les statuts disponibles + */ + async getStatuts(): Promise { + const response = await this.api.get(`${this.basePath}/statuts`); + return response.data; + } + + /** + * Récupérer les phases en retard + */ + async getEnRetard(): Promise { + const response = await this.api.get(`${this.basePath}/en-retard`); + return response.data; + } + + /** + * Récupérer les phases d'un responsable + */ + async getByResponsable(employeId: number): Promise { + const response = await this.api.get(`${this.basePath}/responsable/${employeId}`); + return response.data; + } + + /** + * Récupérer les jalons d'une phase + */ + async getJalons(phaseId: number): Promise { + const response = await this.api.get(`${this.basePath}/${phaseId}/jalons`); + return response.data; + } + + /** + * Récupérer les pointages d'une phase + */ + async getPointages(phaseId: number): Promise { + const response = await this.api.get(`${this.basePath}/${phaseId}/pointages`); + return response.data; + } + + /** + * Valider les données d'une phase + */ + validatePhase(phase: PhaseChantierFormData): string[] { + const errors: string[] = []; + + if (!phase.nom || phase.nom.trim().length === 0) { + errors.push('Le nom de la phase est obligatoire'); + } + + if (phase.nom && phase.nom.length > 100) { + errors.push('Le nom ne peut pas dépasser 100 caractères'); + } + + if (!phase.dateDebutPrevue) { + errors.push('La date de début prévue est obligatoire'); + } + + if (!phase.dateFinPrevue) { + errors.push('La date de fin prévue est obligatoire'); + } + + if (phase.dateDebutPrevue && phase.dateFinPrevue) { + const debut = new Date(phase.dateDebutPrevue); + const fin = new Date(phase.dateFinPrevue); + if (debut >= fin) { + errors.push('La date de fin doit être postérieure à la date de début'); + } + } + + if (phase.budgetPrevu !== undefined && phase.budgetPrevu < 0) { + errors.push('Le budget prévu doit être positif'); + } + + return errors; + } + + /** + * Calculer la durée prévue d'une phase en jours + */ + calculateDureePrevue(phase: PhaseChantier): number { + if (!phase.dateDebutPrevue || !phase.dateFinPrevue) return 0; + + const debut = new Date(phase.dateDebutPrevue); + const fin = new Date(phase.dateFinPrevue); + const diffTime = Math.abs(fin.getTime() - debut.getTime()); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + } + + /** + * Calculer la durée réelle d'une phase en jours + */ + calculateDureeReelle(phase: PhaseChantier): number { + if (!phase.dateDebutReelle) return 0; + + const debut = new Date(phase.dateDebutReelle); + const fin = phase.dateFinReelle ? new Date(phase.dateFinReelle) : new Date(); + const diffTime = Math.abs(fin.getTime() - debut.getTime()); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + } + + /** + * Vérifier si une phase est en retard + */ + isEnRetard(phase: PhaseChantier): boolean { + if (phase.statut === 'TERMINEE') return false; + if (!phase.dateFinPrevue) return false; + + return new Date() > new Date(phase.dateFinPrevue); + } + + /** + * Calculer le retard en jours + */ + calculateRetard(phase: PhaseChantier): number { + if (!this.isEnRetard(phase)) return 0; + + const dateFinPrevue = new Date(phase.dateFinPrevue!); + const maintenant = new Date(); + const diffTime = maintenant.getTime() - dateFinPrevue.getTime(); + return Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + } + + /** + * Obtenir le libellé d'un statut + */ + getStatutLabel(statut: StatutPhase): string { + const labels: Record = { + PLANIFIEE: 'Planifiée', + EN_ATTENTE: 'En attente', + EN_COURS: 'En cours', + EN_PAUSE: 'En pause', + TERMINEE: 'Terminée', + ANNULEE: 'Annulée', + EN_RETARD: 'En retard' + }; + return labels[statut] || statut; + } + + /** + * Obtenir la couleur d'un statut + */ + getStatutColor(statut: StatutPhase): string { + const colors: Record = { + PLANIFIEE: '#6c757d', + EN_ATTENTE: '#ffc107', + EN_COURS: '#0d6efd', + EN_PAUSE: '#fd7e14', + TERMINEE: '#198754', + ANNULEE: '#dc3545', + EN_RETARD: '#dc3545' + }; + return colors[statut] || '#6c757d'; + } + + /** + * Calculer les statistiques des phases d'un chantier + */ + calculateStatistiques(phases: PhaseChantier[]): { + total: number; + planifiees: number; + enCours: number; + terminees: number; + enRetard: number; + avancementMoyen: number; + budgetTotal: number; + coutTotal: number; + } { + const stats = { + total: phases.length, + planifiees: 0, + enCours: 0, + terminees: 0, + enRetard: 0, + avancementMoyen: 0, + budgetTotal: 0, + coutTotal: 0 + }; + + let avancementTotal = 0; + + phases.forEach(phase => { + // Compter par statut + switch (phase.statut) { + case 'PLANIFIEE': + case 'EN_ATTENTE': + stats.planifiees++; + break; + case 'EN_COURS': + case 'EN_PAUSE': + stats.enCours++; + break; + case 'TERMINEE': + stats.terminees++; + break; + case 'EN_RETARD': + stats.enRetard++; + break; + } + + // Calculer avancement moyen + avancementTotal += phase.pourcentageAvancement || 0; + + // Calculer budget et coût + stats.budgetTotal += phase.budgetPrevu || 0; + stats.coutTotal += phase.coutReel || 0; + }); + + stats.avancementMoyen = phases.length > 0 ? avancementTotal / phases.length : 0; + + return stats; + } + + /** + * Générer un planning Gantt simple + */ + generateGanttData(phases: PhaseChantier[]): any[] { + return phases.map(phase => ({ + id: phase.id, + name: phase.nom, + start: phase.dateDebutPrevue, + end: phase.dateFinPrevue, + progress: (phase.pourcentageAvancement || 0) / 100, + status: phase.statut, + parent: phase.phaseParent?.id, + dependencies: [], // TODO: Implémenter les dépendances + color: this.getStatutColor(phase.statut) + })); + } + + /** + * Exporter les phases au format CSV + */ + async exportToCsv(chantierId: number): Promise { + const phases = await this.getByChantier(chantierId); + + const headers = [ + 'ID', 'Nom', 'Statut', 'Date Début Prévue', 'Date Fin Prévue', + 'Date Début Réelle', 'Date Fin Réelle', 'Avancement (%)', + 'Budget Prévu', 'Coût Réel', 'Responsable', 'Critique' + ]; + + const csvContent = [ + headers.join(';'), + ...phases.map(p => [ + p.id || '', + p.nom || '', + this.getStatutLabel(p.statut), + p.dateDebutPrevue ? new Date(p.dateDebutPrevue).toLocaleDateString('fr-FR') : '', + p.dateFinPrevue ? new Date(p.dateFinPrevue).toLocaleDateString('fr-FR') : '', + p.dateDebutReelle ? new Date(p.dateDebutReelle).toLocaleDateString('fr-FR') : '', + p.dateFinReelle ? new Date(p.dateFinReelle).toLocaleDateString('fr-FR') : '', + p.pourcentageAvancement || 0, + p.budgetPrevu || 0, + p.coutReel || 0, + p.responsable ? `${p.responsable.nom} ${p.responsable.prenom}` : '', + p.critique ? 'Oui' : 'Non' + ].join(';')) + ].join('\n'); + + return new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + } +} + +export default new PhaseChantierService(); \ No newline at end of file diff --git a/services/phaseService.ts b/services/phaseService.ts new file mode 100644 index 0000000..551f6f2 --- /dev/null +++ b/services/phaseService.ts @@ -0,0 +1,428 @@ +import axios from 'axios'; +import { API_CONFIG } from '../config/api'; +import { + PhaseChantier, + PhaseChantierFormData, + PhaseFilters, + JalonPhase, + PointagePhase, + StatutPhase, + ApiResponse +} from '../types/btp-extended'; +import { MaterielBTPService, MaterielBTP, CategorieMateriel } from './materielBTPService'; +import { CalculsTechniquesService, ParametresCalculBriques, ResultatCalculBriques } from './calculsTechniquesService'; +import { ZoneClimatiqueService, ZoneClimatique } from './zoneClimatiqueService'; + +class PhaseService { + private readonly basePath = '/api/v1/phases-chantier'; + private api = axios.create({ + baseURL: API_CONFIG.baseURL, + timeout: API_CONFIG.timeout, + headers: API_CONFIG.headers, + }); + + constructor() { + // Interceptor pour ajouter le token Keycloak + this.api.interceptors.request.use( + async (config) => { + // Vérifier si Keycloak est initialisé et l'utilisateur authentifié + if (typeof window !== 'undefined') { + const { keycloak, KEYCLOAK_TIMEOUTS } = await import('../config/keycloak'); + + if (keycloak.authenticated) { + try { + // Rafraîchir le token si nécessaire + await keycloak.updateToken(KEYCLOAK_TIMEOUTS.TOKEN_REFRESH_BEFORE_EXPIRY); + + // Ajouter le token Bearer à l'en-tête Authorization + if (keycloak.token) { + config.headers['Authorization'] = `Bearer ${keycloak.token}`; + } + } catch (error) { + console.error('Erreur lors de la mise à jour du token Keycloak:', error); + keycloak.login(); + throw error; + } + } else { + // Fallback vers l'ancien système pour la rétrocompatibilité + let token = null; + try { + const authTokenItem = sessionStorage.getItem('auth_token') || localStorage.getItem('auth_token'); + if (authTokenItem) { + const parsed = JSON.parse(authTokenItem); + token = parsed.value; + } + } catch (e) { + token = localStorage.getItem('token'); + } + + if (token) { + config.headers['Authorization'] = `Bearer ${token}`; + } + } + } + return config; + }, + (error) => Promise.reject(error) + ); + + // Interceptor pour les réponses + this.api.interceptors.response.use( + (response) => response, + (error) => { + if (error.response?.status === 401) { + localStorage.removeItem('token'); + localStorage.removeItem('user'); + window.location.href = '/auth/login'; + } + return Promise.reject(error); + } + ); + } + + /** + * Récupérer les phases d'un chantier + */ + async getByChantier(chantierId: string): Promise { + // Vérifier si l'ID est valide + if (!chantierId || chantierId === 'undefined' || chantierId === 'null' || chantierId === 'NaN') { + console.warn(`ID de chantier invalide: ${chantierId}`); + return []; + } + + try { + console.log(`🔍 Recherche des phases pour chantier: ${chantierId}`); + // Ajouter un timestamp pour éviter le cache + const response = await this.api.get(`${this.basePath}/chantier/${chantierId}`, { + params: { + _t: Date.now() // Forcer le rafraîchissement + } + }); + console.log(`✅ ${response.data.length} phases récupérées pour chantier ${chantierId}:`, response.data); + return response.data; + } catch (error) { + // Pour l'instant, retourner des données vides si l'endpoint n'existe pas + console.warn(`❌ Endpoint ${this.basePath}/chantier/${chantierId} non disponible:`, error); + return []; + } + } + + /** + * Récupérer toutes les phases + */ + async getAll(): Promise { + try { + const response = await this.api.get(this.basePath); + console.log('Toutes les phases récupérées:', response.data); + return response.data; + } catch (error) { + console.warn('Erreur lors de la récupération de toutes les phases:', error); + return []; + } + } + + /** + * Récupérer une phase par ID + */ + async getById(id: string): Promise { + const response = await this.api.get(`${this.basePath}/${id}`); + return response.data; + } + + /** + * Créer une nouvelle phase + */ + async create(phase: PhaseChantierFormData): Promise { + // D'abord récupérer les phases existantes pour calculer l'ordre d'exécution + const chantierId = phase.chantier?.id || phase.chantierId; + if (!chantierId) { + throw new Error('ID du chantier requis'); + } + + // Récupérer les phases existantes pour calculer le prochain ordre + const existingPhases = await this.getByChantier(chantierId); + const nextOrder = existingPhases.length > 0 + ? Math.max(...existingPhases.map(p => p.ordreExecution || 0)) + 1 + : 1; + + // S'assurer que chantierId est inclus dans la requête + // et mapper phaseParent vers phaseParentId pour le backend + const requestData = { + ...phase, + chantierId: chantierId, + ordreExecution: phase.ordreExecution || nextOrder, + phaseParentId: phase.phaseParent || phase.phaseParentId + }; + // Supprimer phaseParent si il existe pour éviter la confusion + delete requestData.phaseParent; + + console.log('🚀 Création de phase avec données:', requestData); + const response = await this.api.post(this.basePath, requestData); + console.log('✅ Phase créée avec succès:', response.data); + return response.data; + } + + /** + * Modifier une phase existante + */ + async update(id: string, phase: PhaseChantierFormData): Promise { + const response = await this.api.put(`${this.basePath}/${id}`, phase); + return response.data; + } + + /** + * Supprimer une phase + */ + async delete(id: string): Promise { + await this.api.delete(`${this.basePath}/${id}`); + } + + /** + * Générer des phases à partir d'un template + */ + async generateFromTemplate( + chantierId: number, + templateId: string, + configuration: { + phasesSelectionnees: any[]; + configurationsPersonnalisees?: any; + optionsAvancees?: any; + dateDebutSouhaitee?: string; + dureeGlobale?: number; + } + ): Promise { + try { + console.log('Génération de phases depuis template:', { chantierId, templateId, configuration }); + + // Pour l'instant, on utilise la génération locale basée sur les templates + // Cette méthode peut être remplacée par un appel API backend plus tard + const phasesGenerees: PhaseChantier[] = []; + + // Récupérer le template et générer les phases + const typeChantierService = await import('./typeChantierService'); + const templates = await typeChantierService.default.getAllTemplates(); + const template = templates.find(t => t.id === templateId); + + if (!template) { + throw new Error(`Template ${templateId} non trouvé`); + } + + // Générer les phases sélectionnées depuis la configuration (avec données utilisateur) + for (let i = 0; i < configuration.phasesSelectionnees.length; i++) { + const phaseSelectionnee = configuration.phasesSelectionnees[i]; + + // Utiliser les données personnalisées (saisies par l'utilisateur) + const phaseData: any = { + nom: phaseSelectionnee.nom, + description: phaseSelectionnee.description, + chantierId: chantierId.toString(), + statut: 'PLANIFIEE' as StatutPhase, + ordreExecution: phaseSelectionnee.ordre, + dureeEstimeeHeures: (phaseSelectionnee.dureeEstimee || 1) * 8, // Convertir jours en heures (défaut 1 jour) + budgetPrevu: phaseSelectionnee.budgetEstime || 0, + coutReel: 0, + priorite: phaseSelectionnee.categorieMetier === 'GROS_OEUVRE' ? 'CRITIQUE' : 'MOYENNE', + critique: phaseSelectionnee.obligatoire, + dateDebutPrevue: configuration.dateDebutSouhaitee, + competencesRequises: phaseSelectionnee.competencesRequises || [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }; + + // Créer la phase via l'API + const phaseCreee = await this.create(phaseData); + phasesGenerees.push(phaseCreee); + + // Créer les sous-phases si elles existent + if (phaseSelectionnee.sousPhases && phaseSelectionnee.sousPhases.length > 0) { + for (let j = 0; j < phaseSelectionnee.sousPhases.length; j++) { + const sousPhaseTemplate = phaseSelectionnee.sousPhases[j]; + + const sousPhaseData: any = { + nom: sousPhaseTemplate.nom, + description: sousPhaseTemplate.description, + chantierId: chantierId.toString(), + statut: 'PLANIFIEE' as StatutPhase, + phaseParentId: phaseCreee.id, + ordreExecution: sousPhaseTemplate.ordre, + dureeEstimeeHeures: (sousPhaseTemplate.dureeEstimee || 1) * 8, + budgetPrevu: sousPhaseTemplate.budgetEstime || 0, + coutReel: 0, + priorite: 'MOYENNE', + critique: sousPhaseTemplate.obligatoire, + competencesRequises: sousPhaseTemplate.competencesRequises || [], + materielsNecessaires: [], + fournisseursRecommandes: [] + }; + + const sousPhaseCreee = await this.create(sousPhaseData); + phasesGenerees.push(sousPhaseCreee); + } + } + } + + console.log('Phases générées avec succès:', phasesGenerees); + return phasesGenerees; + + } catch (error) { + console.error('Erreur lors de la génération depuis template:', error); + throw error; + } + } + + /** + * Démarrer une phase + */ + async start(id: string): Promise { + await this.api.post(`${this.basePath}/${id}/demarrer`); + } + + /** + * Terminer une phase + */ + async complete(id: string): Promise { + await this.api.post(`${this.basePath}/${id}/terminer`); + } + + /** + * Suspendre une phase + */ + async suspend(id: string): Promise { + await this.api.post(`${this.basePath}/${id}/suspendre`); + } + + /** + * Reprendre une phase suspendue + */ + async resume(id: string): Promise { + await this.api.post(`${this.basePath}/${id}/reprendre`); + } + + /** + * Mettre à jour l'avancement d'une phase + */ + async updateProgress(id: string, pourcentage: number): Promise { + await this.api.put(`${this.basePath}/${id}/avancement?pourcentage=${pourcentage}`); + } + + /** + * Alias français pour start() + */ + async demarrer(id: string): Promise { + return this.start(id); + } + + /** + * Alias français pour complete() + */ + async terminer(id: string): Promise { + return this.complete(id); + } + + /** + * Alias français pour suspend() + */ + async suspendre(id: string, motif?: string): Promise { + return this.suspend(id); + } + + /** + * Alias français pour resume() + */ + async reprendre(id: string): Promise { + return this.resume(id); + } + + /** + * Alias français pour updateProgress() + */ + async updateAvancement(id: string, pourcentage: number): Promise { + return this.updateProgress(id, pourcentage); + } + + /** + * Récupérer les statuts disponibles + */ + async getStatuts(): Promise { + const response = await this.api.get(`${this.basePath}/statuts`); + return response.data; + } + + /** + * Récupérer les phases en retard + */ + async getEnRetard(): Promise { + const response = await this.api.get(`${this.basePath}/en-retard`); + return response.data; + } + + /** + * Récupérer les phases d'un responsable + */ + async getByResponsable(employeId: number): Promise { + const response = await this.api.get(`${this.basePath}/responsable/${employeId}`); + return response.data; + } + + /** + * Récupérer les jalons d'une phase + */ + async getJalons(phaseId: number): Promise { + const response = await this.api.get(`${this.basePath}/${phaseId}/jalons`); + return response.data; + } + + /** + * Récupérer les pointages d'une phase + */ + async getPointages(phaseId: number): Promise { + const response = await this.api.get(`${this.basePath}/${phaseId}/pointages`); + return response.data; + } + + /** + * Obtenir le libellé d'un statut + */ + getStatutLabel(statut: StatutPhase): string { + const labels: Record = { + PLANIFIEE: 'Planifiée', + EN_ATTENTE: 'En attente', + EN_COURS: 'En cours', + EN_PAUSE: 'En pause', + TERMINEE: 'Terminée', + ANNULEE: 'Annulée', + EN_RETARD: 'En retard' + }; + return labels[statut] || statut; + } + + /** + * Obtenir la couleur d'un statut + */ + getStatutColor(statut: StatutPhase): string { + const colors: Record = { + PLANIFIEE: '#6c757d', + EN_ATTENTE: '#ffc107', + EN_COURS: '#0d6efd', + EN_PAUSE: '#fd7e14', + TERMINEE: '#198754', + ANNULEE: '#dc3545', + EN_RETARD: '#dc3545' + }; + return colors[statut] || '#6c757d'; + } + + /** + * Vérifier si une phase est en retard + */ + isEnRetard(phase: PhaseChantier): boolean { + if (phase.statut === 'TERMINEE') return false; + if (!phase.dateFinPrevue) return false; + + return new Date() > new Date(phase.dateFinPrevue); + } + + +} + +export default new PhaseService(); \ No newline at end of file diff --git a/services/phaseTemplateService.ts b/services/phaseTemplateService.ts new file mode 100644 index 0000000..962a369 --- /dev/null +++ b/services/phaseTemplateService.ts @@ -0,0 +1,328 @@ +/** + * Service pour la gestion des templates de phases BTP via l'API backend + * Remplace l'utilisation des données statiques par des appels API + */ + +import { TypeChantier, PhaseTemplate, ChantierTemplate, TYPE_CHANTIER_LABELS, CATEGORIES_CHANTIER } from '../types/chantier-templates'; +import { PhaseChantier } from '../types/btp-extended'; + +class PhaseTemplateService { + + private apiBaseUrl = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8080/api/v1'; + + /** + * Récupérer la liste des types de chantiers disponibles depuis l'API + */ + async getAvailableChantierTypes(): Promise<{ value: TypeChantier; label: string; categorie: string }[]> { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/types-chantier`, { + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + } + }); + + if (!response.ok) { + throw new Error('Erreur lors de la récupération des types de chantiers'); + } + + const typesFromAPI = await response.json(); + + // Mapper les types de l'API vers le format attendu par le frontend + const mappedTypes = typesFromAPI.map((type: any) => { + // Trouver la catégorie correspondante + let categorie = 'Autre'; + for (const [cat, config] of Object.entries(CATEGORIES_CHANTIER)) { + if (config.types.includes(type as TypeChantier)) { + categorie = config.label; + break; + } + } + + return { + value: type as TypeChantier, + label: TYPE_CHANTIER_LABELS[type as TypeChantier] || type, + categorie: categorie + }; + }); + + return mappedTypes; + + } catch (error) { + console.error('Erreur lors de la récupération des types de chantiers:', error); + // Fallback vers les données locales si l'API est indisponible + return this.getLocalChantierTypes(); + } + } + + /** + * Récupérer les templates de phases pour un type de chantier + */ + async getTemplatesByType(typeChantier: TypeChantier): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/by-type/${typeChantier}`, { + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + } + }); + + if (!response.ok) { + throw new Error('Erreur lors de la récupération des templates'); + } + + const templates = await response.json(); + return templates; + + } catch (error) { + console.error('Erreur lors de la récupération des templates:', error); + throw error; + } + } + + /** + * Récupérer un template par son ID avec ses sous-phases + */ + async getTemplateById(id: string): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/${id}`, { + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + } + }); + + if (response.status === 404) { + return null; + } + + if (!response.ok) { + throw new Error('Erreur lors de la récupération du template'); + } + + const template = await response.json(); + return template; + + } catch (error) { + console.error('Erreur lors de la récupération du template:', error); + throw error; + } + } + + /** + * Prévisualiser les phases qui seraient générées pour un type de chantier + */ + async previewPhases(typeChantier: TypeChantier): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/previsualisation/${typeChantier}`, { + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + } + }); + + if (!response.ok) { + throw new Error('Erreur lors de la prévisualisation des phases'); + } + + const phases = await response.json(); + return phases; + + } catch (error) { + console.error('Erreur lors de la prévisualisation des phases:', error); + throw error; + } + } + + /** + * Calculer la durée totale estimée pour un type de chantier + */ + async calculateDureeTotale(typeChantier: TypeChantier): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/duree-estimee/${typeChantier}`, { + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + } + }); + + if (!response.ok) { + throw new Error('Erreur lors du calcul de la durée'); + } + + const duree = await response.json(); + return duree; + + } catch (error) { + console.error('Erreur lors du calcul de la durée:', error); + throw error; + } + } + + /** + * Analyser la complexité d'un type de chantier + */ + async analyzeComplexity(typeChantier: TypeChantier): Promise<{ + typeChantier: TypeChantier; + nombrePhases: number; + nombrePhasesCritiques: number; + dureeTotal: number; + niveauComplexite: string; + }> { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/complexite/${typeChantier}`, { + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + } + }); + + if (!response.ok) { + throw new Error('Erreur lors de l\'analyse de complexité'); + } + + const complexite = await response.json(); + return complexite; + + } catch (error) { + console.error('Erreur lors de l\'analyse de complexité:', error); + throw error; + } + } + + /** + * Générer automatiquement les phases pour un chantier + */ + async generatePhases( + chantierId: string, + dateDebutChantier: Date, + inclureSousPhases: boolean = true + ): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/generer-phases`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + chantierId: chantierId, + dateDebutChantier: dateDebutChantier.toISOString().split('T')[0], + inclureSousPhases: inclureSousPhases + }) + }); + + if (!response.ok) { + const error = await response.text(); + throw new Error(error || 'Erreur lors de la génération des phases'); + } + + const phasesGenerees = await response.json(); + return phasesGenerees; + + } catch (error) { + console.error('Erreur lors de la génération des phases:', error); + throw error; + } + } + + /** + * Créer un nouveau template de phase + */ + async createTemplate(template: Partial): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify(template) + }); + + if (!response.ok) { + const error = await response.text(); + throw new Error(error || 'Erreur lors de la création du template'); + } + + const nouveauTemplate = await response.json(); + return nouveauTemplate; + + } catch (error) { + console.error('Erreur lors de la création du template:', error); + throw error; + } + } + + /** + * Mettre à jour un template de phase + */ + async updateTemplate(id: string, template: Partial): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/${id}`, { + method: 'PUT', + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}`, + 'Content-Type': 'application/json' + }, + body: JSON.stringify(template) + }); + + if (!response.ok) { + const error = await response.text(); + throw new Error(error || 'Erreur lors de la mise à jour du template'); + } + + const templateMisAJour = await response.json(); + return templateMisAJour; + + } catch (error) { + console.error('Erreur lors de la mise à jour du template:', error); + throw error; + } + } + + /** + * Supprimer (désactiver) un template de phase + */ + async deleteTemplate(id: string): Promise { + try { + const response = await fetch(`${this.apiBaseUrl}/phase-templates/${id}`, { + method: 'DELETE', + headers: { + 'Authorization': `Bearer ${localStorage.getItem('token')}` + } + }); + + if (!response.ok) { + const error = await response.text(); + throw new Error(error || 'Erreur lors de la suppression du template'); + } + + } catch (error) { + console.error('Erreur lors de la suppression du template:', error); + throw error; + } + } + + /** + * Fallback: Récupérer les types de chantiers depuis les données locales + */ + private getLocalChantierTypes(): { value: TypeChantier; label: string; categorie: string }[] { + const types: { value: TypeChantier; label: string; categorie: string }[] = []; + + for (const [categorie, config] of Object.entries(CATEGORIES_CHANTIER)) { + for (const type of config.types) { + types.push({ + value: type, + label: TYPE_CHANTIER_LABELS[type], + categorie: config.label + }); + } + } + + return types; + } +} + +export default new PhaseTemplateService(); \ No newline at end of file diff --git a/services/phaseValidationService.ts b/services/phaseValidationService.ts new file mode 100644 index 0000000..09f2124 --- /dev/null +++ b/services/phaseValidationService.ts @@ -0,0 +1,570 @@ +/** + * Service de validation des prérequis de phases + * Gère la validation des dépendances entre phases et leurs prérequis métier + */ + +import type { PhaseChantier } from '../types/btp'; + +export interface PhaseValidationResult { + canStart: boolean; + errors: ValidationError[]; + warnings: ValidationWarning[]; + blockedBy: string[]; + readyToStart: boolean; +} + +export interface ValidationError { + code: string; + message: string; + severity: 'error' | 'warning' | 'info'; + phaseId?: string; + prerequisiteId?: string; +} + +export interface ValidationWarning { + code: string; + message: string; + recommendation?: string; +} + +export interface PrerequisiteStatus { + prerequisiteId: string; + prerequisiteName: string; + status: 'completed' | 'in_progress' | 'not_started' | 'not_found'; + completionDate?: Date; + isBlocking: boolean; +} + +class PhaseValidationService { + /** + * Valide si une phase peut être démarrée en fonction de ses prérequis + */ + validatePhaseStart( + phase: PhaseChantier, + allPhases: PhaseChantier[], + options: { strictMode?: boolean } = {} + ): PhaseValidationResult { + const { strictMode = false } = options; + const result: PhaseValidationResult = { + canStart: true, + errors: [], + warnings: [], + blockedBy: [], + readyToStart: false + }; + + // Vérifier les prérequis de base + this.validateBasicPrerequisites(phase, result); + + // Vérifier les dépendances entre phases + this.validatePhaseDependencies(phase, allPhases, result, strictMode); + + // Vérifier les prérequis métier + this.validateBusinessPrerequisites(phase, allPhases, result); + + // Vérifier les contraintes temporelles + this.validateTemporalConstraints(phase, allPhases, result); + + // Déterminer si la phase est prête à démarrer + result.readyToStart = result.canStart && result.errors.length === 0; + + return result; + } + + /** + * Valide les prérequis de base d'une phase + */ + private validateBasicPrerequisites(phase: PhaseChantier, result: PhaseValidationResult): void { + // Vérifier le statut de la phase + if (phase.statut === 'TERMINEE') { + result.errors.push({ + code: 'PHASE_ALREADY_COMPLETED', + message: 'Cette phase est déjà terminée', + severity: 'info' + }); + result.canStart = false; + } + + if (phase.statut === 'EN_COURS') { + result.warnings.push({ + code: 'PHASE_ALREADY_STARTED', + message: 'Cette phase est déjà en cours', + recommendation: 'Vérifiez l\'avancement actuel' + }); + } + + // Vérifier les dates + const today = new Date(); + today.setHours(0, 0, 0, 0); + + if (phase.dateDebutPrevue) { + const dateDebut = new Date(phase.dateDebutPrevue); + dateDebut.setHours(0, 0, 0, 0); + + if (dateDebut > today) { + result.warnings.push({ + code: 'PHASE_FUTURE_START', + message: `Cette phase est prévue pour commencer le ${dateDebut.toLocaleDateString('fr-FR')}`, + recommendation: 'Vérifiez si un démarrage anticipé est possible' + }); + } + } + + if (phase.dateFinPrevue) { + const dateFin = new Date(phase.dateFinPrevue); + dateFin.setHours(0, 0, 0, 0); + + if (dateFin < today) { + result.warnings.push({ + code: 'PHASE_OVERDUE', + message: 'Cette phase aurait dû être terminée', + recommendation: 'Réviser la planification' + }); + } + } + } + + /** + * Valide les dépendances entre phases + */ + private validatePhaseDependencies( + phase: PhaseChantier, + allPhases: PhaseChantier[], + result: PhaseValidationResult, + strictMode: boolean + ): void { + if (!phase.prerequis || phase.prerequis.length === 0) { + return; + } + + const prerequisiteStatuses = this.getPrerequisiteStatuses(phase, allPhases); + + prerequisiteStatuses.forEach(prereq => { + switch (prereq.status) { + case 'not_found': + result.errors.push({ + code: 'PREREQUISITE_NOT_FOUND', + message: `Prérequis non trouvé: ${prereq.prerequisiteName}`, + severity: 'error', + prerequisiteId: prereq.prerequisiteId + }); + result.canStart = false; + break; + + case 'not_started': + if (prereq.isBlocking || strictMode) { + result.errors.push({ + code: 'PREREQUISITE_NOT_STARTED', + message: `Prérequis non démarré: ${prereq.prerequisiteName}`, + severity: 'error', + prerequisiteId: prereq.prerequisiteId + }); + result.blockedBy.push(prereq.prerequisiteName); + result.canStart = false; + } else { + result.warnings.push({ + code: 'PREREQUISITE_NOT_STARTED_WARNING', + message: `Prérequis non démarré: ${prereq.prerequisiteName}`, + recommendation: 'Considérez démarrer ce prérequis en parallèle' + }); + } + break; + + case 'in_progress': + if (prereq.isBlocking || strictMode) { + result.warnings.push({ + code: 'PREREQUISITE_IN_PROGRESS', + message: `Prérequis en cours: ${prereq.prerequisiteName}`, + recommendation: 'Attendez la fin de cette phase ou vérifiez si un démarrage parallèle est possible' + }); + } + break; + + case 'completed': + // Tout va bien + break; + } + }); + } + + /** + * Valide les prérequis métier spécifiques + */ + private validateBusinessPrerequisites( + phase: PhaseChantier, + allPhases: PhaseChantier[], + result: PhaseValidationResult + ): void { + // Règles métier spécifiques au BTP + this.validateBTPBusinessRules(phase, allPhases, result); + + // Vérifier les compétences requises + this.validateRequiredSkills(phase, result); + + // Vérifier les ressources disponibles + this.validateResourceAvailability(phase, result); + } + + /** + * Valide les règles métier spécifiques au BTP + */ + private validateBTPBusinessRules( + phase: PhaseChantier, + allPhases: PhaseChantier[], + result: PhaseValidationResult + ): void { + const phaseName = phase.nom.toLowerCase(); + + // Règles pour la maçonnerie + if (phaseName.includes('maçonnerie') || phaseName.includes('béton')) { + const fondations = allPhases.find(p => + p.nom.toLowerCase().includes('fondation') || + p.nom.toLowerCase().includes('excavation') + ); + + if (fondations && fondations.statut !== 'TERMINEE') { + result.errors.push({ + code: 'FOUNDATION_NOT_COMPLETED', + message: 'Les fondations doivent être terminées avant les travaux de maçonnerie', + severity: 'error', + phaseId: fondations.id + }); + result.canStart = false; + result.blockedBy.push('Fondations'); + } + } + + // Règles pour l'électricité + if (phaseName.includes('électric') || phaseName.includes('électro')) { + const grosOeuvre = allPhases.find(p => + p.nom.toLowerCase().includes('gros œuvre') || + p.nom.toLowerCase().includes('gros oeuvre') || + p.nom.toLowerCase().includes('structure') + ); + + if (grosOeuvre && grosOeuvre.statut !== 'TERMINEE') { + result.warnings.push({ + code: 'STRUCTURE_NOT_COMPLETED', + message: 'Il est recommandé d\'attendre la fin du gros œuvre', + recommendation: 'Certains travaux électriques peuvent commencer en parallèle selon les zones' + }); + } + } + + // Règles pour la plomberie + if (phaseName.includes('plomberie') || phaseName.includes('sanitaire')) { + const cloisons = allPhases.find(p => + p.nom.toLowerCase().includes('cloison') || + p.nom.toLowerCase().includes('doublage') + ); + + if (cloisons && cloisons.statut === 'TERMINEE') { + result.warnings.push({ + code: 'PARTITIONS_ALREADY_DONE', + message: 'Les cloisons sont déjà terminées - travaux de plomberie plus complexes', + recommendation: 'Prévoir des saignées ou passages techniques' + }); + } + } + + // Règles pour les finitions + if (phaseName.includes('peinture') || phaseName.includes('revêtement') || phaseName.includes('carrelage')) { + const secondOeuvre = allPhases.filter(p => { + const nom = p.nom.toLowerCase(); + return nom.includes('électric') || nom.includes('plomberie') || nom.includes('chauffage'); + }); + + const unfinishedSecondOeuvre = secondOeuvre.filter(p => p.statut !== 'TERMINEE'); + + if (unfinishedSecondOeuvre.length > 0) { + result.warnings.push({ + code: 'SECOND_WORK_NOT_COMPLETED', + message: 'Certains travaux de second œuvre ne sont pas terminés', + recommendation: 'Terminer électricité, plomberie et chauffage avant les finitions' + }); + } + } + } + + /** + * Valide les compétences requises + */ + private validateRequiredSkills(phase: PhaseChantier, result: PhaseValidationResult): void { + // Cette validation serait étoffée avec une vraie base de données des compétences + const requiredSkills = this.getRequiredSkillsForPhase(phase); + + if (requiredSkills.length > 0) { + result.warnings.push({ + code: 'SKILLS_REQUIRED', + message: `Compétences requises: ${requiredSkills.join(', ')}`, + recommendation: 'Vérifiez la disponibilité des artisans qualifiés' + }); + } + } + + /** + * Valide la disponibilité des ressources + */ + private validateResourceAvailability(phase: PhaseChantier, result: PhaseValidationResult): void { + // Vérifications météorologiques pour certaines phases + if (this.isWeatherSensitivePhase(phase)) { + const season = this.getCurrentSeason(); + if (season === 'winter') { + result.warnings.push({ + code: 'WEATHER_SENSITIVE_WINTER', + message: 'Phase sensible aux conditions météorologiques - période hivernale', + recommendation: 'Prévoir des protections contre le gel et les intempéries' + }); + } + } + + // Vérification des matériaux + result.warnings.push({ + code: 'MATERIALS_CHECK', + message: 'Vérifiez la disponibilité des matériaux', + recommendation: 'Confirmez les livraisons avant le démarrage' + }); + } + + /** + * Valide les contraintes temporelles + */ + private validateTemporalConstraints( + phase: PhaseChantier, + allPhases: PhaseChantier[], + result: PhaseValidationResult + ): void { + const today = new Date(); + + // Vérifier les chevauchements problématiques + const overlappingPhases = this.findOverlappingPhases(phase, allPhases); + + overlappingPhases.forEach(overlapping => { + if (this.arePhasesMutuallyExclusive(phase, overlapping)) { + result.errors.push({ + code: 'PHASE_CONFLICT', + message: `Conflit avec la phase: ${overlapping.nom}`, + severity: 'error', + phaseId: overlapping.id + }); + result.canStart = false; + } + }); + + // Vérifier les délais critiques + if (phase.critique && phase.dateFinPrevue) { + const dateFin = new Date(phase.dateFinPrevue); + const diffDays = Math.ceil((dateFin.getTime() - today.getTime()) / (1000 * 60 * 60 * 24)); + + if (diffDays < 7) { + result.warnings.push({ + code: 'CRITICAL_PHASE_URGENT', + message: 'Phase critique avec délai serré', + recommendation: 'Mobiliser des ressources supplémentaires' + }); + } + } + } + + /** + * Obtient le statut des prérequis d'une phase + */ + private getPrerequisiteStatuses(phase: PhaseChantier, allPhases: PhaseChantier[]): PrerequisiteStatus[] { + if (!phase.prerequis) return []; + + return phase.prerequis.map(prerequisiteId => { + const prerequisitePhase = allPhases.find(p => p.id === prerequisiteId); + + return { + prerequisiteId, + prerequisiteName: prerequisitePhase?.nom || prerequisiteId, + status: prerequisitePhase ? + (prerequisitePhase.statut === 'TERMINEE' ? 'completed' : + prerequisitePhase.statut === 'EN_COURS' ? 'in_progress' : 'not_started') : + 'not_found', + completionDate: prerequisitePhase?.dateFinReelle ? new Date(prerequisitePhase.dateFinReelle) : undefined, + isBlocking: this.isBlockingPrerequisite(prerequisiteId, phase) + }; + }); + } + + /** + * Détermine si un prérequis est bloquant + */ + private isBlockingPrerequisite(prerequisiteId: string, phase: PhaseChantier): boolean { + // Logique pour déterminer si un prérequis est critique/bloquant + // Basée sur le type de phase et les règles métier + const criticalPrerequisites = [ + 'fondations', 'excavation', 'gros-oeuvre', 'structure' + ]; + + return criticalPrerequisites.some(critical => + prerequisiteId.toLowerCase().includes(critical) + ); + } + + /** + * Obtient les compétences requises pour une phase + */ + private getRequiredSkillsForPhase(phase: PhaseChantier): string[] { + const phaseName = phase.nom.toLowerCase(); + const skills: string[] = []; + + if (phaseName.includes('maçonnerie')) skills.push('Maçon'); + if (phaseName.includes('électric')) skills.push('Électricien'); + if (phaseName.includes('plomberie')) skills.push('Plombier'); + if (phaseName.includes('charpente')) skills.push('Charpentier'); + if (phaseName.includes('couverture')) skills.push('Couvreur'); + if (phaseName.includes('peinture')) skills.push('Peintre'); + if (phaseName.includes('carrelage')) skills.push('Carreleur'); + + return skills; + } + + /** + * Détermine si une phase est sensible aux conditions météorologiques + */ + private isWeatherSensitivePhase(phase: PhaseChantier): boolean { + const weatherSensitive = [ + 'couverture', 'étanchéité', 'façade', 'maçonnerie extérieure', + 'terrassement', 'fondations', 'béton' + ]; + + return weatherSensitive.some(sensitive => + phase.nom.toLowerCase().includes(sensitive) + ); + } + + /** + * Obtient la saison actuelle + */ + private getCurrentSeason(): 'spring' | 'summer' | 'fall' | 'winter' { + const month = new Date().getMonth() + 1; + if (month >= 3 && month <= 5) return 'spring'; + if (month >= 6 && month <= 8) return 'summer'; + if (month >= 9 && month <= 11) return 'fall'; + return 'winter'; + } + + /** + * Trouve les phases qui se chevauchent temporellement + */ + private findOverlappingPhases(phase: PhaseChantier, allPhases: PhaseChantier[]): PhaseChantier[] { + if (!phase.dateDebutPrevue || !phase.dateFinPrevue) return []; + + const phaseStart = new Date(phase.dateDebutPrevue); + const phaseEnd = new Date(phase.dateFinPrevue); + + return allPhases.filter(otherPhase => { + if (otherPhase.id === phase.id) return false; + if (!otherPhase.dateDebutPrevue || !otherPhase.dateFinPrevue) return false; + + const otherStart = new Date(otherPhase.dateDebutPrevue); + const otherEnd = new Date(otherPhase.dateFinPrevue); + + return (phaseStart <= otherEnd && phaseEnd >= otherStart); + }); + } + + /** + * Détermine si deux phases sont mutuellement exclusives + */ + private arePhasesMutuallyExclusive(phase1: PhaseChantier, phase2: PhaseChantier): boolean { + const exclusiveGroups = [ + ['maçonnerie', 'béton'], + ['peinture', 'électricité'], + ['carrelage', 'plomberie'] + ]; + + return exclusiveGroups.some(group => { + const phase1InGroup = group.some(term => phase1.nom.toLowerCase().includes(term)); + const phase2InGroup = group.some(term => phase2.nom.toLowerCase().includes(term)); + return phase1InGroup && phase2InGroup; + }); + } + + /** + * Valide l'ensemble d'un planning de phases + */ + validateProjectSchedule(phases: PhaseChantier[]): { + isValid: boolean; + globalErrors: ValidationError[]; + phaseValidations: Map; + } { + const phaseValidations = new Map(); + const globalErrors: ValidationError[] = []; + + // Valider chaque phase individuellement + phases.forEach(phase => { + const validation = this.validatePhaseStart(phase, phases); + phaseValidations.set(phase.id!, validation); + }); + + // Validations globales + this.validateGlobalScheduleConstraints(phases, globalErrors); + + const isValid = globalErrors.length === 0 && + Array.from(phaseValidations.values()).every(v => v.readyToStart || v.errors.length === 0); + + return { + isValid, + globalErrors, + phaseValidations + }; + } + + /** + * Valide les contraintes globales du planning + */ + private validateGlobalScheduleConstraints(phases: PhaseChantier[], globalErrors: ValidationError[]): void { + // Vérifier l'ordre logique des phases + const orderedPhases = phases + .filter(p => p.ordreExecution !== undefined) + .sort((a, b) => (a.ordreExecution || 0) - (b.ordreExecution || 0)); + + for (let i = 1; i < orderedPhases.length; i++) { + const currentPhase = orderedPhases[i]; + const previousPhase = orderedPhases[i - 1]; + + if (currentPhase.dateDebutPrevue && previousPhase.dateFinPrevue) { + const currentStart = new Date(currentPhase.dateDebutPrevue); + const previousEnd = new Date(previousPhase.dateFinPrevue); + + if (currentStart < previousEnd) { + globalErrors.push({ + code: 'SCHEDULE_ORDER_VIOLATION', + message: `La phase "${currentPhase.nom}" commence avant la fin de "${previousPhase.nom}"`, + severity: 'warning', + phaseId: currentPhase.id + }); + } + } + } + + // Vérifier la durée totale du projet + if (phases.length > 0) { + const startDates = phases + .filter(p => p.dateDebutPrevue) + .map(p => new Date(p.dateDebutPrevue!)); + const endDates = phases + .filter(p => p.dateFinPrevue) + .map(p => new Date(p.dateFinPrevue!)); + + if (startDates.length > 0 && endDates.length > 0) { + const projectStart = new Date(Math.min(...startDates.map(d => d.getTime()))); + const projectEnd = new Date(Math.max(...endDates.map(d => d.getTime()))); + const projectDuration = Math.ceil((projectEnd.getTime() - projectStart.getTime()) / (1000 * 60 * 60 * 24)); + + if (projectDuration > 730) { // 2 ans + globalErrors.push({ + code: 'PROJECT_TOO_LONG', + message: `Durée du projet très longue: ${projectDuration} jours`, + severity: 'warning' + }); + } + } + } + } +} + +export default new PhaseValidationService(); \ No newline at end of file diff --git a/services/serverStatusService.ts b/services/serverStatusService.ts new file mode 100644 index 0000000..83a40a9 --- /dev/null +++ b/services/serverStatusService.ts @@ -0,0 +1,296 @@ +/** + * Service intelligent pour monitoring serveur via Server-Sent Events + * Avec fallback polling et reconnexion automatique + */ + +import { API_CONFIG } from '../config/api'; + +export interface ServerStatusEvent { + status: 'UP' | 'DOWN' | 'MAINTENANCE'; + timestamp: string; + message: string; + system?: { + version: string; + uptimeSeconds: number; + activeConnections: number; + }; +} + +export interface ServerStatusListener { + (isOnline: boolean, event?: ServerStatusEvent): void; +} + +export class ServerStatusService { + private eventSource: EventSource | null = null; + private listeners: ServerStatusListener[] = []; + private isOnline: boolean = true; + private reconnectAttempts: number = 0; + private maxReconnectAttempts: number = 5; + private reconnectDelay: number = 1000; + private fallbackPolling: boolean = false; + private fallbackInterval: NodeJS.Timeout | null = null; + private lastEventTime: number = Date.now(); + private heartbeatTimeout: NodeJS.Timeout | null = null; + + constructor() { + this.handleVisibilityChange = this.handleVisibilityChange.bind(this); + + // Vérifier si on est côté client (évite les erreurs SSR) + if (typeof window !== 'undefined' && typeof document !== 'undefined') { + document.addEventListener('visibilitychange', this.handleVisibilityChange); + } + } + + /** + * Démarrer le monitoring serveur + */ + public start(): void { + console.log('🚀 Démarrage monitoring serveur SSE'); + this.initSSE(); + } + + /** + * Arrêter le monitoring + */ + public stop(): void { + console.log('🛑 Arrêt monitoring serveur'); + this.cleanup(); + + // Vérifier si on est côté client avant de supprimer l'event listener + if (typeof window !== 'undefined' && typeof document !== 'undefined') { + document.removeEventListener('visibilitychange', this.handleVisibilityChange); + } + } + + /** + * S'abonner aux changements de statut + */ + public onStatusChange(listener: ServerStatusListener): () => void { + this.listeners.push(listener); + + // Retourner une fonction de désabonnement + return () => { + const index = this.listeners.indexOf(listener); + if (index > -1) { + this.listeners.splice(index, 1); + } + }; + } + + /** + * Obtenir le statut actuel + */ + public getCurrentStatus(): boolean { + return this.isOnline; + } + + /** + * Initialiser Server-Sent Events + */ + private initSSE(): void { + try { + // Retirer /api/v1 de l'URL de base pour l'endpoint SSE + const baseUrl = API_CONFIG.baseURL.replace('/api/v1', ''); + const sseUrl = `${baseUrl}/api/server-status/stream`; + console.log('📡 Connexion SSE:', sseUrl); + + this.eventSource = new EventSource(sseUrl); + + this.eventSource.onopen = (event) => { + console.log('✅ SSE connecté avec succès'); + this.reconnectAttempts = 0; + this.fallbackPolling = false; + this.stopFallbackPolling(); + this.updateStatus(true); + this.resetHeartbeatTimeout(); + }; + + this.eventSource.onmessage = (event) => { + try { + const statusEvent: ServerStatusEvent = JSON.parse(event.data); + console.log('📊 SSE reçu:', statusEvent); + + this.lastEventTime = Date.now(); + this.updateStatus(statusEvent.status === 'UP', statusEvent); + this.resetHeartbeatTimeout(); + } catch (error) { + console.error('❌ Erreur parsing SSE:', error); + } + }; + + this.eventSource.onerror = (event) => { + console.warn('⚠️ Erreur SSE, tentative de reconnexion...'); + this.handleSSEError(); + }; + + } catch (error) { + console.error('❌ Impossible d\'initialiser SSE:', error); + this.startFallbackPolling(); + } + } + + /** + * Gérer les erreurs SSE et reconnexion + */ + private handleSSEError(): void { + this.updateStatus(false); + + if (this.reconnectAttempts < this.maxReconnectAttempts) { + this.reconnectAttempts++; + const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1); // Backoff exponentiel + + console.log(`🔄 Reconnexion SSE dans ${delay}ms (tentative ${this.reconnectAttempts}/${this.maxReconnectAttempts})`); + + setTimeout(() => { + this.cleanup(); + this.initSSE(); + }, delay); + } else { + console.warn('❌ Échec reconnexion SSE, passage en mode polling'); + this.startFallbackPolling(); + } + } + + /** + * Démarrer le polling de secours + */ + private startFallbackPolling(): void { + if (this.fallbackPolling) return; + + console.log('🔄 Démarrage polling de secours'); + this.fallbackPolling = true; + + const poll = async () => { + try { + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), 5000); + + // Retirer /api/v1 pour l'endpoint de fallback aussi + const baseUrl = API_CONFIG.baseURL.replace('/api/v1', ''); + const response = await fetch(`${baseUrl}/api/server-status/current`, { + signal: controller.signal, + headers: { 'Accept': 'application/json' } + }); + + clearTimeout(timeoutId); + + if (response.ok) { + const statusEvent: ServerStatusEvent = await response.json(); + this.updateStatus(statusEvent.status === 'UP', statusEvent); + + // Essayer de rétablir SSE si le serveur est de nouveau UP + if (statusEvent.status === 'UP' && this.reconnectAttempts >= this.maxReconnectAttempts) { + console.log('🔄 Serveur récupéré, tentative de rétablissement SSE'); + this.stopFallbackPolling(); + this.reconnectAttempts = 0; + setTimeout(() => this.initSSE(), 2000); + } + } else { + this.updateStatus(false); + } + } catch (error) { + console.warn('⚠️ Erreur polling de secours:', error); + this.updateStatus(false); + } + }; + + // Poll immédiat puis toutes les 10 secondes + poll(); + this.fallbackInterval = setInterval(poll, 10000); + } + + /** + * Arrêter le polling de secours + */ + private stopFallbackPolling(): void { + if (this.fallbackInterval) { + clearInterval(this.fallbackInterval); + this.fallbackInterval = null; + } + this.fallbackPolling = false; + } + + /** + * Timeout de heartbeat pour détecter les connexions perdues + */ + private resetHeartbeatTimeout(): void { + if (this.heartbeatTimeout) { + clearTimeout(this.heartbeatTimeout); + } + + // Si pas de message pendant 45 secondes (heartbeat = 30s), considérer comme déconnecté + this.heartbeatTimeout = setTimeout(() => { + console.warn('💔 Pas de heartbeat SSE, connexion probablement perdue'); + this.handleSSEError(); + }, 45000); + } + + /** + * Gérer la visibilité de l'onglet + */ + private handleVisibilityChange(): void { + // Vérifier si on est côté client + if (typeof document === 'undefined') return; + + if (!document.hidden) { + console.log('👁️ Onglet redevenu visible, vérification connexion SSE'); + // Vérifier si la connexion SSE est toujours active + if (this.eventSource && this.eventSource.readyState === EventSource.CLOSED) { + console.log('🔄 SSE fermé, reconnexion...'); + this.reconnectAttempts = 0; + this.initSSE(); + } + } + } + + /** + * Mettre à jour le statut et notifier les listeners + */ + private updateStatus(isOnline: boolean, event?: ServerStatusEvent): void { + const wasOnline = this.isOnline; + this.isOnline = isOnline; + + if (wasOnline !== isOnline) { + console.log(`🔄 Statut serveur changé: ${isOnline ? 'ON' : 'OFF'}LINE`); + } + + // Notifier tous les listeners + this.listeners.forEach(listener => { + try { + listener(isOnline, event); + } catch (error) { + console.error('❌ Erreur dans listener status:', error); + } + }); + } + + /** + * Nettoyer les ressources + */ + private cleanup(): void { + if (this.eventSource) { + this.eventSource.close(); + this.eventSource = null; + } + + this.stopFallbackPolling(); + + if (this.heartbeatTimeout) { + clearTimeout(this.heartbeatTimeout); + this.heartbeatTimeout = null; + } + } +} + +// Instance singleton avec initialisation paresseuse +let _serverStatusService: ServerStatusService | null = null; + +export const getServerStatusService = (): ServerStatusService => { + if (!_serverStatusService && typeof window !== 'undefined') { + _serverStatusService = new ServerStatusService(); + } + return _serverStatusService!; +}; + +// Pour la compatibilité avec l'ancien code +export const serverStatusService = typeof window !== 'undefined' ? getServerStatusService() : null; \ No newline at end of file diff --git a/services/typeChantierService.ts b/services/typeChantierService.ts new file mode 100644 index 0000000..0ed4283 --- /dev/null +++ b/services/typeChantierService.ts @@ -0,0 +1,666 @@ +/** + * Service pour la gestion des types de chantiers et templates de phases + * Interface avec l'API backend pour les templates métier BTP + */ + +import { TypeChantierTemplate } from '../components/phases/PhaseGenerationWizard'; + +const API_BASE_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8080/api/v1'; + +class TypeChantierService { + + /** + * Récupérer tous les templates de types de chantiers disponibles + */ + async getAllTemplates(): Promise { + try { + // Essayer d'abord l'API backend + const response = await fetch(`${API_BASE_URL}/type-chantiers/templates`); + if (!response.ok) { + throw new Error(`Erreur HTTP: ${response.status}`); + } + return await response.json(); + } catch (error) { + console.warn('Endpoint backend non disponible, utilisation des données mockées:', error); + // Fallback sur les données mockées + return this.getMockTemplates(); + } + } + + /** + * Récupérer un template spécifique par son ID + */ + async getTemplateById(id: string): Promise { + try { + const templates = await this.getAllTemplates(); + return templates.find(t => t.id === id) || null; + } catch (error) { + console.error('Erreur lors du chargement du template:', error); + return null; + } + } + + /** + * Récupérer les templates par catégorie + */ + async getTemplatesByCategorie(categorie: string): Promise { + try { + const templates = await this.getAllTemplates(); + return templates.filter(t => t.categorie === categorie); + } catch (error) { + console.error('Erreur lors du filtrage par catégorie:', error); + return []; + } + } + + /** + * Compte le nombre total de phases (principales + sous-phases) dans un template + */ + private countTotalPhases(phases: any[]): number { + return phases.reduce((total, phase) => { + return total + 1 + (phase.sousPhases ? phase.sousPhases.length : 0); + }, 0); + } + + /** + * Données mockées pour les templates de chantiers BTP + * REMARQUE : Les durées et budgets sont à null - ils doivent être saisis par l'utilisateur + */ + private getMockTemplates(): TypeChantierTemplate[] { + // Définir les phases de Villa Moderne (structure complète réaliste) + const villaModernePhases = [ + { + id: 'vm-01', + nom: 'Préparation et Terrassement', + description: 'Préparation du terrain et travaux de terrassement', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Terrassement', 'VRD', 'Géomètre'], + prerequis: [], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vm-01-01', + nom: 'Implantation et piquetage', + description: 'Implantation précise de la construction', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Géomètre'], + obligatoire: true + }, + { + id: 'vm-01-02', + nom: 'Décapage et excavation', + description: 'Décapage terre végétale et excavation', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Terrassement'], + obligatoire: true + }, + { + id: 'vm-01-03', + nom: 'Évacuation terres et remblaiement', + description: 'Évacuation des terres excédentaires et remblaiement', + ordre: 3, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Transport', 'Terrassement'], + obligatoire: true + } + ] + }, + { + id: 'vm-02', + nom: 'Fondations', + description: 'Réalisation des fondations béton armé', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Béton armé', 'Coffreur', 'Ferrailleur'], + prerequis: ['vm-01'], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vm-02-01', + nom: 'Ferraillage semelles', + description: 'Ferraillage des semelles de fondation', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Ferrailleur'], + obligatoire: true + }, + { + id: 'vm-02-02', + nom: 'Coulage semelles', + description: 'Coulage béton des semelles', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Béton'], + obligatoire: true + }, + { + id: 'vm-02-03', + nom: 'Vide sanitaire', + description: 'Réalisation du vide sanitaire', + ordre: 3, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Maçonnerie'], + obligatoire: true + }, + { + id: 'vm-02-04', + nom: 'Étanchéité fondations', + description: 'Application de l\'étanchéité des fondations', + ordre: 4, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Étancheur'], + obligatoire: true + } + ] + }, + { + id: 'vm-03', + nom: 'Élévation des murs', + description: 'Construction des murs porteurs et cloisons', + ordre: 3, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Maçonnerie', 'Béton armé'], + prerequis: ['vm-02'], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vm-03-01', + nom: 'Murs porteurs RDC', + description: 'Élévation murs porteurs rez-de-chaussée', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Maçonnerie'], + obligatoire: true + }, + { + id: 'vm-03-02', + nom: 'Plancher intermédiaire', + description: 'Réalisation plancher entre RDC et étage', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Béton armé'], + obligatoire: true + }, + { + id: 'vm-03-03', + nom: 'Murs porteurs étage', + description: 'Élévation murs porteurs étage', + ordre: 3, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Maçonnerie'], + obligatoire: true + } + ] + }, + { + id: 'vm-04', + nom: 'Charpente et Couverture', + description: 'Pose de la charpente et réalisation de la couverture', + ordre: 4, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Charpentier', 'Couvreur'], + prerequis: ['vm-03'], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vm-04-01', + nom: 'Pose charpente', + description: 'Montage de la charpente', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Charpentier'], + obligatoire: true + }, + { + id: 'vm-04-02', + nom: 'Pose couverture', + description: 'Pose des tuiles et finitions de toiture', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Couvreur'], + obligatoire: true + } + ] + }, + { + id: 'vm-05', + nom: 'Menuiseries Extérieures', + description: 'Pose des fenêtres, portes et volets', + ordre: 5, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Menuisier'], + prerequis: ['vm-03'], + categorieMetier: 'SECOND_OEUVRE' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vm-05-01', + nom: 'Pose fenêtres', + description: 'Installation des fenêtres', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Menuisier'], + obligatoire: true + }, + { + id: 'vm-05-02', + nom: 'Pose porte d\'entrée', + description: 'Installation de la porte d\'entrée', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Menuisier'], + obligatoire: true + } + ] + }, + { + id: 'vm-06', + nom: 'Isolation et Cloisons', + description: 'Isolation thermique et montage des cloisons', + ordre: 6, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Plaquiste', 'Isolateur'], + prerequis: ['vm-05'], + categorieMetier: 'SECOND_OEUVRE' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vm-06-01', + nom: 'Isolation thermique', + description: 'Pose de l\'isolation thermique', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Isolateur'], + obligatoire: true + }, + { + id: 'vm-06-02', + nom: 'Cloisons placo', + description: 'Montage des cloisons en placo', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Plaquiste'], + obligatoire: true + } + ] + }, + { + id: 'vm-07', + nom: 'Électricité', + description: 'Installation électrique complète', + ordre: 7, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Électricien'], + prerequis: ['vm-06'], + categorieMetier: 'EQUIPEMENTS' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vm-07-01', + nom: 'Saignées et gaines', + description: 'Réalisation des saignées et pose des gaines', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Électricien'], + obligatoire: true + }, + { + id: 'vm-07-02', + nom: 'Câblage et tableau', + description: 'Câblage et installation du tableau électrique', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Électricien'], + obligatoire: true + } + ] + }, + { + id: 'vm-08', + nom: 'Plomberie et Sanitaires', + description: 'Installation plomberie et équipements sanitaires', + ordre: 8, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Plombier'], + prerequis: ['vm-06'], + categorieMetier: 'EQUIPEMENTS' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vm-08-01', + nom: 'Réseaux eau', + description: 'Installation des réseaux d\'eau', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Plombier'], + obligatoire: true + }, + { + id: 'vm-08-02', + nom: 'Sanitaires', + description: 'Pose des équipements sanitaires', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Plombier'], + obligatoire: true + } + ] + }, + { + id: 'vm-09', + nom: 'Chauffage', + description: 'Installation du système de chauffage', + ordre: 9, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Chauffagiste'], + prerequis: ['vm-08'], + categorieMetier: 'EQUIPEMENTS' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vm-09-01', + nom: 'Chaudière et réseau', + description: 'Installation chaudière et réseau de chauffage', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Chauffagiste'], + obligatoire: true + }, + { + id: 'vm-09-02', + nom: 'Radiateurs', + description: 'Pose des radiateurs', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Chauffagiste'], + obligatoire: true + } + ] + }, + { + id: 'vm-10', + nom: 'Revêtements Sols et Murs', + description: 'Pose des revêtements de sols et murs', + ordre: 10, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Carreleur', 'Parqueteur'], + prerequis: ['vm-07', 'vm-08'], + categorieMetier: 'FINITIONS' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vm-10-01', + nom: 'Carrelage', + description: 'Pose du carrelage', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Carreleur'], + obligatoire: true + }, + { + id: 'vm-10-02', + nom: 'Parquet', + description: 'Pose du parquet', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Parqueteur'], + obligatoire: true + } + ] + }, + { + id: 'vm-11', + nom: 'Peinture', + description: 'Peinture intérieure et extérieure', + ordre: 11, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Peintre'], + prerequis: ['vm-10'], + categorieMetier: 'FINITIONS' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'vm-11-01', + nom: 'Peinture intérieure', + description: 'Peinture de tous les murs intérieurs', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Peintre'], + obligatoire: true + }, + { + id: 'vm-11-02', + nom: 'Peinture extérieure', + description: 'Peinture des façades extérieures', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Peintre'], + obligatoire: true + } + ] + }, + { + id: 'vm-12', + nom: 'Finitions et Nettoyage', + description: 'Finitions diverses et nettoyage final', + ordre: 12, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Finisseur'], + prerequis: ['vm-11'], + categorieMetier: 'FINITIONS' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'vm-12-01', + nom: 'Finitions diverses', + description: 'Petites finitions et retouches', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Finisseur'], + obligatoire: true + }, + { + id: 'vm-12-02', + nom: 'Nettoyage final', + description: 'Nettoyage complet du chantier', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Nettoyage'], + obligatoire: true + } + ] + } + ]; + + // Créer les templates finaux + return [ + { + id: 'villa-moderne', + nom: 'Villa Moderne', + description: 'Construction d\'une villa moderne avec prestations haut de gamme', + categorie: 'RESIDENTIEL', + complexiteMetier: 'MOYENNE', + dureeGlobaleEstimee: null, // À saisir par l'utilisateur + budgetGlobalEstime: null, // À saisir par l'utilisateur + nombreTotalPhases: this.countTotalPhases(villaModernePhases), + tags: ['Villa', 'Moderne', 'Haut de gamme', 'BBC'], + phases: villaModernePhases + }, + { + id: 'extension-maison', + nom: 'Extension Maison', + description: 'Extension latérale d\'une maison existante', + categorie: 'RESIDENTIEL', + complexiteMetier: 'SIMPLE', + dureeGlobaleEstimee: null, + budgetGlobalEstime: null, + nombreTotalPhases: 8, // 4 phases + 4 sous-phases + tags: ['Extension', 'Raccordement', 'Rénovation'], + phases: [ + { + id: 'em-01', + nom: 'Démolition et Préparation', + description: 'Démolitions partielles et préparation du raccordement', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Démolition', 'Maçonnerie'], + prerequis: [], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'em-01-01', + nom: 'Ouverture mur existant', + description: 'Ouverture dans le mur existant pour raccordement', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Démolition'], + obligatoire: true + } + ] + }, + { + id: 'em-02', + nom: 'Fondations Extension', + description: 'Fondations spécifiques pour l\'extension', + ordre: 2, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Béton armé', 'Maçonnerie'], + prerequis: ['em-01'], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: false, + sousPhases: [ + { + id: 'em-02-01', + nom: 'Fondations raccordement', + description: 'Fondations avec raccordement à l\'existant', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Béton armé'], + obligatoire: true + } + ] + }, + { + id: 'em-03', + nom: 'Élévation Extension', + description: 'Construction de l\'extension', + ordre: 3, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Maçonnerie'], + prerequis: ['em-02'], + categorieMetier: 'GROS_OEUVRE' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'em-03-01', + nom: 'Murs extension', + description: 'Élévation des murs de l\'extension', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Maçonnerie'], + obligatoire: true + } + ] + }, + { + id: 'em-04', + nom: 'Finitions Extension', + description: 'Finitions et raccordements', + ordre: 4, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Finisseur', 'Électricien', 'Plombier'], + prerequis: ['em-03'], + categorieMetier: 'FINITIONS' as const, + obligatoire: true, + personnalisable: true, + sousPhases: [ + { + id: 'em-04-01', + nom: 'Raccordements techniques', + description: 'Raccordements électriques et plomberie', + ordre: 1, + dureeEstimee: null, + budgetEstime: null, + competencesRequises: ['Électricien', 'Plombier'], + obligatoire: true + } + ] + } + ] + } + ]; + } +} + +export const typeChantierService = new TypeChantierService(); +export default typeChantierService; \ No newline at end of file diff --git a/services/userService.ts b/services/userService.ts new file mode 100644 index 0000000..1275344 --- /dev/null +++ b/services/userService.ts @@ -0,0 +1,269 @@ +import { apiService } from './api'; +import type { User, UserRole } from '../types/auth'; + +interface CreateUserRequest { + email: string; + nom: string; + prenom: string; + role: UserRole; + entreprise?: string; + siret?: string; + secteurActivite?: string; +} + +interface UpdateUserRequest { + nom?: string; + prenom?: string; + entreprise?: string; + siret?: string; + secteurActivite?: string; + actif?: boolean; +} + +interface UserStats { + totalUsers: number; + activeUsers: number; + pendingUsers: number; + usersByRole: Record; + recentActivity: UserActivity[]; +} + +interface UserActivity { + userId: string; + userName: string; + action: string; + timestamp: string; + details?: string; +} + +class UserService { + /** + * Récupérer tous les utilisateurs + */ + async getAllUsers(): Promise { + try { + const response = await apiService.api.get('/users'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des utilisateurs:', error); + // Retourner des données mockées en attendant l'API + return this.getMockUsers(); + } + } + + /** + * Récupérer un utilisateur par ID + */ + async getUserById(id: string): Promise { + try { + const response = await apiService.api.get(`/users/${id}`); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération de l\'utilisateur:', error); + throw error; + } + } + + /** + * Créer un nouvel utilisateur + */ + async createUser(userData: CreateUserRequest): Promise { + try { + const response = await apiService.api.post('/users', userData); + return response.data; + } catch (error) { + console.error('Erreur lors de la création de l\'utilisateur:', error); + throw error; + } + } + + /** + * Mettre à jour un utilisateur + */ + async updateUser(id: string, userData: UpdateUserRequest): Promise { + try { + const response = await apiService.api.put(`/users/${id}`, userData); + return response.data; + } catch (error) { + console.error('Erreur lors de la mise à jour de l\'utilisateur:', error); + throw error; + } + } + + /** + * Supprimer un utilisateur + */ + async deleteUser(id: string): Promise { + try { + await apiService.api.delete(`/users/${id}`); + } catch (error) { + console.error('Erreur lors de la suppression de l\'utilisateur:', error); + throw error; + } + } + + /** + * Récupérer les gestionnaires de projet + */ + async getGestionnaires(): Promise { + try { + const response = await apiService.api.get('/users/gestionnaires'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des gestionnaires:', error); + // Retourner des données mockées + return this.getMockGestionnaires(); + } + } + + /** + * Récupérer les statistiques utilisateurs + */ + async getUserStats(): Promise { + try { + const response = await apiService.api.get('/users/stats'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération des statistiques:', error); + return this.getMockUserStats(); + } + } + + /** + * Récupérer l'activité récente des utilisateurs + */ + async getUserActivity(): Promise { + try { + const response = await apiService.api.get('/users/activity'); + return response.data; + } catch (error) { + console.error('Erreur lors de la récupération de l\'activité:', error); + return this.getMockUserActivity(); + } + } + + /** + * Données mockées pour les utilisateurs + */ + private getMockUsers(): User[] { + return [ + { + id: 'admin-1', + email: 'admin@btpxpress.com', + nom: 'Administrateur', + prenom: 'Système', + role: UserRole.ADMIN, + actif: true, + status: 'APPROVED' as any, + entreprise: 'BTP Xpress', + dateCreation: '2024-01-01T00:00:00Z' + }, + { + id: 'manager-1', + email: 'manager@btpxpress.com', + nom: 'Dupont', + prenom: 'Jean', + role: UserRole.MANAGER, + actif: true, + status: 'APPROVED' as any, + entreprise: 'BTP Xpress', + dateCreation: '2024-01-15T00:00:00Z' + }, + { + id: 'gest-1', + email: 'john.doe@btpxpress.com', + nom: 'Doe', + prenom: 'John', + role: UserRole.GESTIONNAIRE_PROJET, + actif: true, + status: 'APPROVED' as any, + entreprise: 'BTP Xpress', + dateCreation: '2024-02-01T00:00:00Z', + clientsAttribues: ['client-1', 'client-2'] + }, + { + id: 'gest-2', + email: 'marie.martin@btpxpress.com', + nom: 'Martin', + prenom: 'Marie', + role: UserRole.GESTIONNAIRE_PROJET, + actif: true, + status: 'APPROVED' as any, + entreprise: 'BTP Xpress', + dateCreation: '2024-02-15T00:00:00Z', + clientsAttribues: ['client-3'] + }, + { + id: 'client-1', + email: 'client1@example.com', + nom: 'Dupont', + prenom: 'Pierre', + role: UserRole.CLIENT, + actif: true, + status: 'APPROVED' as any, + dateCreation: '2024-03-01T00:00:00Z', + clientId: 'client-1' + } + ]; + } + + /** + * Données mockées pour les gestionnaires + */ + private getMockGestionnaires(): User[] { + return this.getMockUsers().filter(user => user.role === UserRole.GESTIONNAIRE_PROJET); + } + + /** + * Statistiques mockées + */ + private getMockUserStats(): UserStats { + const users = this.getMockUsers(); + return { + totalUsers: users.length, + activeUsers: users.filter(u => u.actif).length, + pendingUsers: users.filter(u => u.status === 'PENDING').length, + usersByRole: { + [UserRole.ADMIN]: users.filter(u => u.role === UserRole.ADMIN).length, + [UserRole.MANAGER]: users.filter(u => u.role === UserRole.MANAGER).length, + [UserRole.GESTIONNAIRE_PROJET]: users.filter(u => u.role === UserRole.GESTIONNAIRE_PROJET).length, + [UserRole.CHEF_CHANTIER]: users.filter(u => u.role === UserRole.CHEF_CHANTIER).length, + [UserRole.OUVRIER]: users.filter(u => u.role === UserRole.OUVRIER).length, + [UserRole.COMPTABLE]: users.filter(u => u.role === UserRole.COMPTABLE).length, + [UserRole.CLIENT]: users.filter(u => u.role === UserRole.CLIENT).length + }, + recentActivity: this.getMockUserActivity() + }; + } + + /** + * Activité mockée + */ + private getMockUserActivity(): UserActivity[] { + return [ + { + userId: 'gest-1', + userName: 'John Doe', + action: 'Connexion', + timestamp: new Date(Date.now() - 1000 * 60 * 30).toISOString(), + details: 'Dashboard gestionnaire' + }, + { + userId: 'client-1', + userName: 'Pierre Dupont', + action: 'Consultation projet', + timestamp: new Date(Date.now() - 1000 * 60 * 60).toISOString(), + details: 'Extension maison individuelle' + }, + { + userId: 'manager-1', + userName: 'Jean Dupont', + action: 'Attribution client', + timestamp: new Date(Date.now() - 1000 * 60 * 60 * 2).toISOString(), + details: 'Client attribué à Marie Martin' + } + ]; + } +} + +export default new UserService(); \ No newline at end of file diff --git a/services/zoneClimatiqueService.ts b/services/zoneClimatiqueService.ts new file mode 100644 index 0000000..9711f71 --- /dev/null +++ b/services/zoneClimatiqueService.ts @@ -0,0 +1,352 @@ +import ApiService from './ApiService'; +import { MaterielBTP } from './materielBTPService'; + +/** + * Service pour la gestion des zones climatiques africaines + * Système spécialisé pour les contraintes de construction en Afrique + */ + +export interface ZoneClimatique { + id: number; + code: string; + nom: string; + description: string; + + // Paramètres climatiques + temperatureMin: number; + temperatureMax: number; + pluviometrieAnnuelle: number; + humiditeMin: number; + humiditeMax: number; + ventsMaximaux: number; + + // Risques naturels + risqueSeisme: boolean; + risqueCyclones: boolean; + + // Contraintes construction + profondeurFondationsMin: number; + drainageObligatoire: boolean; + isolationThermiqueObligatoire: boolean; + ventilationRenforcee: boolean; + protectionUVObligatoire: boolean; + traitementAntiTermites: boolean; + resistanceCorrosionMarine: boolean; + + // Coefficients techniques + coefficientVent: number; + penteToitureMin: number; + evacuationEPMin: number; + + // Relations + pays?: string[]; + saisons?: SaisonClimatique[]; + contraintes?: ContrainteConstruction[]; + + // Métadonnées + actif: boolean; + creePar: string; + dateCreation: string; + modifiePar?: string; + dateModification?: string; +} + +export interface SaisonClimatique { + nom: string; + moisDebut: number; + moisFin: number; + temperatureMoyenne: number; + pluviometrieMoyenne: number; + humiditeRelative: number; + caracteristiques: string[]; +} + +export interface ContrainteConstruction { + type: TypeContrainte; + description: string; + obligatoire: boolean; + solution: string; + cout_supplementaire?: number; +} + +export enum TypeContrainte { + FONDATIONS = 'FONDATIONS', + DRAINAGE = 'DRAINAGE', + ISOLATION = 'ISOLATION', + VENTILATION = 'VENTILATION', + PROTECTION_UV = 'PROTECTION_UV', + ANTI_TERMITES = 'ANTI_TERMITES', + CORROSION_MARINE = 'CORROSION_MARINE', + RESISTANCE_VENT = 'RESISTANCE_VENT', + ETANCHEITE = 'ETANCHEITE' +} + +export interface CriteresRecherche { + temperatureMin?: number; + temperatureMax?: number; + pluvioMin?: number; + pluvioMax?: number; + risqueSeisme?: boolean; + corrosionMarine?: boolean; + texte?: string; +} + +export interface StatistiquesZones { + total: number; + tempMoyenne: number; + pluvioMoyenne: number; + nbSeisme: number; + nbMarine: number; +} + +export class ZoneClimatiqueService { + private static readonly BASE_PATH = '/calculs-techniques'; + + /** + * Récupère toutes les zones climatiques actives + */ + static async getZonesClimatiques(): Promise<{ + zones: ZoneClimatique[]; + info: string; + }> { + const response = await ApiService.get<{ + zones: ZoneClimatique[]; + info: string; + }>(`${this.BASE_PATH}/zones-climatiques`); + + return response; + } + + /** + * Récupère une zone climatique par son code + */ + static async getZoneByCode(code: string): Promise { + const response = await ApiService.get(`${this.BASE_PATH}/zones-climatiques/${code}`); + return response; + } + + /** + * Recherche avancée de zones climatiques + */ + static async rechercherZones(criteres: CriteresRecherche): Promise { + const response = await ApiService.post(`${this.BASE_PATH}/zones-climatiques/recherche`, criteres); + return response; + } + + /** + * Trouve les zones par plage de température + */ + static async getZonesParTemperature(tempMin: number, tempMax: number): Promise { + const criteres: CriteresRecherche = { temperatureMin: tempMin, temperatureMax: tempMax }; + return await this.rechercherZones(criteres); + } + + /** + * Trouve les zones par pluviométrie + */ + static async getZonesParPluviometrie(pluvioMin: number, pluvioMax: number): Promise { + const criteres: CriteresRecherche = { pluvioMin, pluvioMax }; + return await this.rechercherZones(criteres); + } + + /** + * Trouve les zones avec risque sismique + */ + static async getZonesAvecRisqueSeisme(): Promise { + const criteres: CriteresRecherche = { risqueSeisme: true }; + return await this.rechercherZones(criteres); + } + + /** + * Trouve les zones avec corrosion marine + */ + static async getZonesAvecCorrosionMarine(): Promise { + const criteres: CriteresRecherche = { corrosionMarine: true }; + return await this.rechercherZones(criteres); + } + + /** + * Recherche textuelle dans nom et description + */ + static async rechercherTexte(texte: string): Promise { + const criteres: CriteresRecherche = { texte }; + return await this.rechercherZones(criteres); + } + + /** + * Trouve la zone la plus adaptée selon critères météo + */ + static async getMeilleureAdaptation(temperature: number, humidite: number, vents: number): Promise { + const response = await ApiService.post<{ zone: ZoneClimatique | null }>(`${this.BASE_PATH}/zones-climatiques/meilleure-adaptation`, { + temperature, + humidite, + vents + }); + + return response.zone; + } + + /** + * Récupère les statistiques des zones climatiques + */ + static async getStatistiquesZones(): Promise { + const response = await ApiService.get(`${this.BASE_PATH}/zones-climatiques/statistiques`); + return response; + } + + /** + * Zones ordonnées par sévérité climatique + */ + static async getZonesParSeverite(): Promise { + const response = await ApiService.get(`${this.BASE_PATH}/zones-climatiques/par-severite`); + return response; + } + + /** + * Valide si un matériau est adapté à une zone + */ + static async validerMaterielPourZone(zoneCode: string, materiel: MaterielBTP): Promise<{ + adapte: boolean; + score: number; + avertissements: string[]; + recommandations: string[]; + }> { + const response = await ApiService.post<{ + adapte: boolean; + score: number; + avertissements: string[]; + recommandations: string[]; + }>(`${this.BASE_PATH}/zones-climatiques/${zoneCode}/valider-materiel`, { + materielCode: materiel.code + }); + + return response; + } + + /** + * Récupère les recommandations de construction pour une zone + */ + static async getRecommandationsConstruction(zoneCode: string): Promise<{ + fondations: string[]; + structure: string[]; + enveloppe: string[]; + finitions: string[]; + equipements: string[]; + }> { + const response = await ApiService.get<{ + fondations: string[]; + structure: string[]; + enveloppe: string[]; + finitions: string[]; + equipements: string[]; + }>(`${this.BASE_PATH}/zones-climatiques/${zoneCode}/recommandations`); + + return response; + } + + /** + * Calcule les coefficients de majoration pour une zone + */ + static async getCoefficientsZone(zoneCode: string): Promise<{ + coefficient_vent: number; + coefficient_seisme: number; + coefficient_humidite: number; + coefficient_temperature: number; + coefficient_global: number; + }> { + const response = await ApiService.get<{ + coefficient_vent: number; + coefficient_seisme: number; + coefficient_humidite: number; + coefficient_temperature: number; + coefficient_global: number; + }>(`${this.BASE_PATH}/zones-climatiques/${zoneCode}/coefficients`); + + return response; + } + + /** + * Récupère les contraintes spécifiques d'une zone + */ + static async getContraintesZone(zoneCode: string): Promise { + const response = await ApiService.get<{ contraintes: ContrainteConstruction[] }>(`${this.BASE_PATH}/zones-climatiques/${zoneCode}/contraintes`); + return response.contraintes; + } + + /** + * Récupère les saisons climatiques d'une zone + */ + static async getSaisonsZone(zoneCode: string): Promise { + const response = await ApiService.get<{ saisons: SaisonClimatique[] }>(`${this.BASE_PATH}/zones-climatiques/${zoneCode}/saisons`); + return response.saisons; + } + + /** + * Simulation impact climatique sur construction + */ + static async simulerImpactClimatique(zoneCode: string, parametres: { + typeConstruction: string; + materiauxPrincipaux: string[]; + dureeVie: number; + }): Promise<{ + risqueGlobal: 'FAIBLE' | 'MOYEN' | 'ELEVE' | 'CRITIQUE'; + impactTemperature: number; + impactHumidite: number; + impactVent: number; + impactSeisme: number; + recommandationsUrgentes: string[]; + coutSupplementaire: number; + }> { + const response = await ApiService.post<{ + risqueGlobal: 'FAIBLE' | 'MOYEN' | 'ELEVE' | 'CRITIQUE'; + impactTemperature: number; + impactHumidite: number; + impactVent: number; + impactSeisme: number; + recommandationsUrgentes: string[]; + coutSupplementaire: number; + }>(`${this.BASE_PATH}/zones-climatiques/${zoneCode}/simulation-impact`, parametres); + + return response; + } + + /** + * Comparaison entre zones climatiques + */ + static async comparerZones(codes: string[]): Promise<{ + zones: ZoneClimatique[]; + comparaison: { + plus_chaude: string; + plus_humide: string; + plus_ventee: string; + plus_contraignante: string; + recommandation: string; + }; + }> { + const response = await ApiService.post<{ + zones: ZoneClimatique[]; + comparaison: { + plus_chaude: string; + plus_humide: string; + plus_ventee: string; + plus_contraignante: string; + recommandation: string; + }; + }>(`${this.BASE_PATH}/zones-climatiques/comparer`, { codes }); + + return response; + } + + /** + * Export des zones climatiques + */ + static async exporterZones(format: 'CSV' | 'EXCEL' | 'PDF'): Promise { + const response = await ApiService.post( + `${this.BASE_PATH}/zones-climatiques/export`, + { format }, + { responseType: 'blob' } + ); + + return response; + } +} \ No newline at end of file diff --git a/styles/components/chantiers.scss b/styles/components/chantiers.scss new file mode 100644 index 0000000..cb2bbed --- /dev/null +++ b/styles/components/chantiers.scss @@ -0,0 +1,128 @@ +/** + * Styles personnalisés pour les composants Chantier + */ + +// Styles pour les barres de progression +.progress-small { + .p-progressbar-value { + border-radius: 3px; + } +} + +.progress-normal { + .p-progressbar-value { + border-radius: 4px; + } +} + +.progress-large { + .p-progressbar-value { + border-radius: 6px; + } +} + +// Animation pour les indicateurs d'urgence +.urgency-indicator { + animation: pulse 2s infinite; + + &.retard { + animation: pulse-red 2s infinite; + } + + &.bientot-termine { + animation: pulse-green 2s infinite; + } +} + +@keyframes pulse-red { + 0% { opacity: 1; } + 50% { opacity: 0.5; color: #ef4444; } + 100% { opacity: 1; } +} + +@keyframes pulse-green { + 0% { opacity: 1; } + 50% { opacity: 0.7; color: #10b981; } + 100% { opacity: 1; } +} + +// Styles pour les boutons d'actions +.chantier-actions { + .p-button { + transition: all 0.2s ease; + + &:hover { + transform: translateY(-1px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + } + + &:active { + transform: translateY(0); + } + } + + // Couleurs spécifiques pour les boutons + .action-view:hover { + color: var(--blue-500) !important; + background: var(--blue-50) !important; + } + + .action-phases:hover { + color: var(--green-500) !important; + background: var(--green-50) !important; + } + + .action-planning:hover { + color: var(--purple-500) !important; + background: var(--purple-50) !important; + } + + .action-stats:hover { + color: var(--cyan-500) !important; + background: var(--cyan-50) !important; + } + + .action-menu:hover { + color: var(--gray-600) !important; + background: var(--gray-100) !important; + } +} + +// Styles pour les tags de statut +.chantier-status-tag { + font-weight: 500; + + &.status-en-cours { + background: var(--green-100); + color: var(--green-700); + } + + &.status-planifie { + background: var(--blue-100); + color: var(--blue-700); + } + + &.status-en-retard { + background: var(--red-100); + color: var(--red-700); + } + + &.status-termine { + background: var(--green-200); + color: var(--green-800); + } + + &.status-suspendu { + background: var(--orange-100); + color: var(--orange-700); + } +} + +// Responsive design +@media (max-width: 768px) { + .chantier-actions { + .p-button { + padding: 0.5rem; + } + } +} \ No newline at end of file diff --git a/styles/demo/Badges.scss b/styles/demo/Badges.scss new file mode 100644 index 0000000..7d71617 --- /dev/null +++ b/styles/demo/Badges.scss @@ -0,0 +1,109 @@ +.product-badge { + border-radius: var(--border-radius); + padding: .25em .5rem; + text-transform: uppercase; + font-weight: 700; + font-size: 12px; + letter-spacing: .3px; + + &.status-instock { + background: var(--green-200); + color: var(--green-800); + } + + &.status-outofstock { + background: var(--pink-200); + color: var(--pink-800); + } + + &.status-lowstock { + background: var(--yellow-200); + color: var(--yellow-800); + } +} + +.product-badge-text { + font-weight: 700; + font-size: 12px; + letter-spacing: .3px; + + &.status-instock { + color: var(--green-500); + } + + &.status-outofstock { + color: var(--pink-500); + } + + &.status-lowstock { + color: var(--yellow-500); + } +} + +.customer-badge { + border-radius: var(--border-radius); + padding: .25em .5rem; + text-transform: uppercase; + font-weight: 700; + font-size: 12px; + letter-spacing: .3px; + + &.status-qualified { + background: var(--green-200); + color: var(--green-800); + } + + &.status-unqualified { + background: var(--pink-200); + color: var(--pink-800); + } + + &.status-negotiation { + background: var(--yellow-200); + color: var(--yellow-800); + } + + &.status-new { + background: var(--blue-200); + color: var(--blue-800); + } + + &.status-renewal { + background: var(--purple-200); + color: var(--purple-800); + } + + &.status-proposal { + background: var(--orange-200); + color: var(--orange-800); + } +} + +.order-badge { + border-radius: var(--border-radius); + padding: .25em .5rem; + text-transform: uppercase; + font-weight: 700; + font-size: 12px; + letter-spacing: .3px; + + &.order-delivered { + background: #C8E6C9; + color: #256029; + } + + &.order-cancelled { + background: #FFCDD2; + color: #C63737; + } + + &.order-pending { + background: #FEEDAF; + color: #8A5340; + } + + &.order-returned { + background: #ECCFFF; + color: #694382; + } +} \ No newline at end of file diff --git a/styles/demo/BlockViewer.scss b/styles/demo/BlockViewer.scss new file mode 100644 index 0000000..fa9c2b5 --- /dev/null +++ b/styles/demo/BlockViewer.scss @@ -0,0 +1,142 @@ +.block-section { + margin-bottom: 4rem; + overflow: hidden; +} + +.block-header { + padding: 1rem 2rem; + background-color: var(--surface-section); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border: 1px solid var(--surface-border); + display: flex; + align-items: center; + justify-content: space-between; + + .block-title { + font-weight: 700; + display: inline-flex; + align-items: center; + + .badge-free { + border-radius: 4px; + padding: 0.25rem 0.5rem; + background-color: var(--orange-500); + color: white; + margin-left: 1rem; + font-weight: 700; + font-size: 0.875rem; + } + } + + .block-actions { + display: flex; + align-items: center; + justify-content: space-between; + user-select: none; + margin-left: 1rem; + + a { + display: flex; + align-items: center; + margin-right: 0.75rem; + padding: 0.5rem 1rem; + border-radius: 4px; + font-weight: 600; + border: 1px solid transparent; + transition: background-color 0.2s; + cursor: pointer; + + &:last-child { + margin-right: 0; + } + + &:not(.block-action-disabled):hover { + background-color: var(--surface-c); + } + + &.block-action-active { + border-color: var(--primary-color); + color: var(--primary-color); + } + + &.block-action-copy { + i { + color: var(--primary-color); + font-size: 1.25rem; + } + } + + &.block-action-disabled { + opacity: 0.6; + cursor: auto !important; + } + + i { + margin-right: 0.5rem; + } + } + } +} + +.block-content { + padding: 0; + border: 1px solid var(--surface-border); + border-top: 0 none; +} + +pre[class*='language-'] { + margin: 0 !important; + + &:before, + &:after { + display: none !important; + } + + code { + border-left: 0 none !important; + box-shadow: none !important; + background: var(--surface-e) !important; + margin: 0; + color: var(--text-color); + font-size: 14px; + padding: 0 2rem !important; + + .token { + &.tag, + &.keyword { + color: #2196f3 !important; + } + + &.attr-name, + &.attr-string { + color: #2196f3 !important; + } + + &.attr-value { + color: #4caf50 !important; + } + + &.punctuation { + color: var(--text-color); + } + + &.operator, + &.string { + background: transparent; + } + } + } +} + +@media screen and (max-width: 575px) { + .block-header { + flex-direction: column; + align-items: start; + + .block-actions { + margin-top: 1rem; + margin-left: 0; + } + } +} \ No newline at end of file diff --git a/styles/demo/Demos.scss b/styles/demo/Demos.scss new file mode 100644 index 0000000..ad2657a --- /dev/null +++ b/styles/demo/Demos.scss @@ -0,0 +1,5 @@ +@use './BlockViewer.scss'; +@use './code.scss'; +@use './flags/flags.css'; +@use './Badges.scss'; +@use './landing.scss'; \ No newline at end of file diff --git a/styles/demo/code.scss b/styles/demo/code.scss new file mode 100644 index 0000000..c690345 --- /dev/null +++ b/styles/demo/code.scss @@ -0,0 +1,15 @@ +pre.app-code { + background-color: var(--surface-ground); + margin: 0 0 1rem 0; + padding: 0; + border-radius: var(--border-radius); + overflow: auto; + + code { + color: var(--surface-900); + padding: 1rem; + line-height: 1.5; + display: block; + font-family: monaco, Consolas, monospace; + } +} \ No newline at end of file diff --git a/styles/demo/flags/flags.css b/styles/demo/flags/flags.css new file mode 100644 index 0000000..44a4376 --- /dev/null +++ b/styles/demo/flags/flags.css @@ -0,0 +1 @@ +span.flag{width:44px;height:30px;display:inline-block;}img.flag{width:30px}.flag{background:url(./flags_responsive.png) no-repeat;background-size:100%;vertical-align: middle;}.flag-ad{background-position:0 .413223%}.flag-ae{background-position:0 .826446%}.flag-af{background-position:0 1.239669%}.flag-ag{background-position:0 1.652893%}.flag-ai{background-position:0 2.066116%}.flag-al{background-position:0 2.479339%}.flag-am{background-position:0 2.892562%}.flag-an{background-position:0 3.305785%}.flag-ao{background-position:0 3.719008%}.flag-aq{background-position:0 4.132231%}.flag-ar{background-position:0 4.545455%}.flag-as{background-position:0 4.958678%}.flag-at{background-position:0 5.371901%}.flag-au{background-position:0 5.785124%}.flag-aw{background-position:0 6.198347%}.flag-az{background-position:0 6.61157%}.flag-ba{background-position:0 7.024793%}.flag-bb{background-position:0 7.438017%}.flag-bd{background-position:0 7.85124%}.flag-be{background-position:0 8.264463%}.flag-bf{background-position:0 8.677686%}.flag-bg{background-position:0 9.090909%}.flag-bh{background-position:0 9.504132%}.flag-bi{background-position:0 9.917355%}.flag-bj{background-position:0 10.330579%}.flag-bm{background-position:0 10.743802%}.flag-bn{background-position:0 11.157025%}.flag-bo{background-position:0 11.570248%}.flag-br{background-position:0 11.983471%}.flag-bs{background-position:0 12.396694%}.flag-bt{background-position:0 12.809917%}.flag-bv{background-position:0 13.22314%}.flag-bw{background-position:0 13.636364%}.flag-by{background-position:0 14.049587%}.flag-bz{background-position:0 14.46281%}.flag-ca{background-position:0 14.876033%}.flag-cc{background-position:0 15.289256%}.flag-cd{background-position:0 15.702479%}.flag-cf{background-position:0 16.115702%}.flag-cg{background-position:0 16.528926%}.flag-ch{background-position:0 16.942149%}.flag-ci{background-position:0 17.355372%}.flag-ck{background-position:0 17.768595%}.flag-cl{background-position:0 18.181818%}.flag-cm{background-position:0 18.595041%}.flag-cn{background-position:0 19.008264%}.flag-co{background-position:0 19.421488%}.flag-cr{background-position:0 19.834711%}.flag-cu{background-position:0 20.247934%}.flag-cv{background-position:0 20.661157%}.flag-cx{background-position:0 21.07438%}.flag-cy{background-position:0 21.487603%}.flag-cz{background-position:0 21.900826%}.flag-de{background-position:0 22.31405%}.flag-dj{background-position:0 22.727273%}.flag-dk{background-position:0 23.140496%}.flag-dm{background-position:0 23.553719%}.flag-do{background-position:0 23.966942%}.flag-dz{background-position:0 24.380165%}.flag-ec{background-position:0 24.793388%}.flag-ee{background-position:0 25.206612%}.flag-eg{background-position:0 25.619835%}.flag-eh{background-position:0 26.033058%}.flag-er{background-position:0 26.446281%}.flag-es{background-position:0 26.859504%}.flag-et{background-position:0 27.272727%}.flag-fi{background-position:0 27.68595%}.flag-fj{background-position:0 28.099174%}.flag-fk{background-position:0 28.512397%}.flag-fm{background-position:0 28.92562%}.flag-fo{background-position:0 29.338843%}.flag-fr{background-position:0 29.752066%}.flag-ga{background-position:0 30.165289%}.flag-gd{background-position:0 30.578512%}.flag-ge{background-position:0 30.991736%}.flag-gf{background-position:0 31.404959%}.flag-gh{background-position:0 31.818182%}.flag-gi{background-position:0 32.231405%}.flag-gl{background-position:0 32.644628%}.flag-gm{background-position:0 33.057851%}.flag-gn{background-position:0 33.471074%}.flag-gp{background-position:0 33.884298%}.flag-gq{background-position:0 34.297521%}.flag-gr{background-position:0 34.710744%}.flag-gs{background-position:0 35.123967%}.flag-gt{background-position:0 35.53719%}.flag-gu{background-position:0 35.950413%}.flag-gw{background-position:0 36.363636%}.flag-gy{background-position:0 36.77686%}.flag-hk{background-position:0 37.190083%}.flag-hm{background-position:0 37.603306%}.flag-hn{background-position:0 38.016529%}.flag-hr{background-position:0 38.429752%}.flag-ht{background-position:0 38.842975%}.flag-hu{background-position:0 39.256198%}.flag-id{background-position:0 39.669421%}.flag-ie{background-position:0 40.082645%}.flag-il{background-position:0 40.495868%}.flag-in{background-position:0 40.909091%}.flag-io{background-position:0 41.322314%}.flag-iq{background-position:0 41.735537%}.flag-ir{background-position:0 42.14876%}.flag-is{background-position:0 42.561983%}.flag-it{background-position:0 42.975207%}.flag-jm{background-position:0 43.38843%}.flag-jo{background-position:0 43.801653%}.flag-jp{background-position:0 44.214876%}.flag-ke{background-position:0 44.628099%}.flag-kg{background-position:0 45.041322%}.flag-kh{background-position:0 45.454545%}.flag-ki{background-position:0 45.867769%}.flag-km{background-position:0 46.280992%}.flag-kn{background-position:0 46.694215%}.flag-kp{background-position:0 47.107438%}.flag-kr{background-position:0 47.520661%}.flag-kw{background-position:0 47.933884%}.flag-ky{background-position:0 48.347107%}.flag-kz{background-position:0 48.760331%}.flag-la{background-position:0 49.173554%}.flag-lb{background-position:0 49.586777%}.flag-lc{background-position:0 50%}.flag-li{background-position:0 50.413223%}.flag-lk{background-position:0 50.826446%}.flag-lr{background-position:0 51.239669%}.flag-ls{background-position:0 51.652893%}.flag-lt{background-position:0 52.066116%}.flag-lu{background-position:0 52.479339%}.flag-lv{background-position:0 52.892562%}.flag-ly{background-position:0 53.305785%}.flag-ma{background-position:0 53.719008%}.flag-mc{background-position:0 54.132231%}.flag-md{background-position:0 54.545455%}.flag-me{background-position:0 54.958678%}.flag-mg{background-position:0 55.371901%}.flag-mh{background-position:0 55.785124%}.flag-mk{background-position:0 56.198347%}.flag-ml{background-position:0 56.61157%}.flag-mm{background-position:0 57.024793%}.flag-mn{background-position:0 57.438017%}.flag-mo{background-position:0 57.85124%}.flag-mp{background-position:0 58.264463%}.flag-mq{background-position:0 58.677686%}.flag-mr{background-position:0 59.090909%}.flag-ms{background-position:0 59.504132%}.flag-mt{background-position:0 59.917355%}.flag-mu{background-position:0 60.330579%}.flag-mv{background-position:0 60.743802%}.flag-mw{background-position:0 61.157025%}.flag-mx{background-position:0 61.570248%}.flag-my{background-position:0 61.983471%}.flag-mz{background-position:0 62.396694%}.flag-na{background-position:0 62.809917%}.flag-nc{background-position:0 63.22314%}.flag-ne{background-position:0 63.636364%}.flag-nf{background-position:0 64.049587%}.flag-ng{background-position:0 64.46281%}.flag-ni{background-position:0 64.876033%}.flag-nl{background-position:0 65.289256%}.flag-no{background-position:0 65.702479%}.flag-np{background-position:0 66.115702%}.flag-nr{background-position:0 66.528926%}.flag-nu{background-position:0 66.942149%}.flag-nz{background-position:0 67.355372%}.flag-om{background-position:0 67.768595%}.flag-pa{background-position:0 68.181818%}.flag-pe{background-position:0 68.595041%}.flag-pf{background-position:0 69.008264%}.flag-pg{background-position:0 69.421488%}.flag-ph{background-position:0 69.834711%}.flag-pk{background-position:0 70.247934%}.flag-pl{background-position:0 70.661157%}.flag-pm{background-position:0 71.07438%}.flag-pn{background-position:0 71.487603%}.flag-pr{background-position:0 71.900826%}.flag-pt{background-position:0 72.31405%}.flag-pw{background-position:0 72.727273%}.flag-py{background-position:0 73.140496%}.flag-qa{background-position:0 73.553719%}.flag-re{background-position:0 73.966942%}.flag-ro{background-position:0 74.380165%}.flag-rs{background-position:0 74.793388%}.flag-ru{background-position:0 75.206612%}.flag-rw{background-position:0 75.619835%}.flag-sa{background-position:0 76.033058%}.flag-sb{background-position:0 76.446281%}.flag-sc{background-position:0 76.859504%}.flag-sd{background-position:0 77.272727%}.flag-se{background-position:0 77.68595%}.flag-sg{background-position:0 78.099174%}.flag-sh{background-position:0 78.512397%}.flag-si{background-position:0 78.92562%}.flag-sj{background-position:0 79.338843%}.flag-sk{background-position:0 79.752066%}.flag-sl{background-position:0 80.165289%}.flag-sm{background-position:0 80.578512%}.flag-sn{background-position:0 80.991736%}.flag-so{background-position:0 81.404959%}.flag-sr{background-position:0 81.818182%}.flag-ss{background-position:0 82.231405%}.flag-st{background-position:0 82.644628%}.flag-sv{background-position:0 83.057851%}.flag-sy{background-position:0 83.471074%}.flag-sz{background-position:0 83.884298%}.flag-tc{background-position:0 84.297521%}.flag-td{background-position:0 84.710744%}.flag-tf{background-position:0 85.123967%}.flag-tg{background-position:0 85.53719%}.flag-th{background-position:0 85.950413%}.flag-tj{background-position:0 86.363636%}.flag-tk{background-position:0 86.77686%}.flag-tl{background-position:0 87.190083%}.flag-tm{background-position:0 87.603306%}.flag-tn{background-position:0 88.016529%}.flag-to{background-position:0 88.429752%}.flag-tp{background-position:0 88.842975%}.flag-tr{background-position:0 89.256198%}.flag-tt{background-position:0 89.669421%}.flag-tv{background-position:0 90.082645%}.flag-tw{background-position:0 90.495868%}.flag-ty{background-position:0 90.909091%}.flag-tz{background-position:0 91.322314%}.flag-ua{background-position:0 91.735537%}.flag-ug{background-position:0 92.14876%}.flag-gb,.flag-uk{background-position:0 92.561983%}.flag-um{background-position:0 92.975207%}.flag-us{background-position:0 93.38843%}.flag-uy{background-position:0 93.801653%}.flag-uz{background-position:0 94.214876%}.flag-va{background-position:0 94.628099%}.flag-vc{background-position:0 95.041322%}.flag-ve{background-position:0 95.454545%}.flag-vg{background-position:0 95.867769%}.flag-vi{background-position:0 96.280992%}.flag-vn{background-position:0 96.694215%}.flag-vu{background-position:0 97.107438%}.flag-wf{background-position:0 97.520661%}.flag-ws{background-position:0 97.933884%}.flag-ye{background-position:0 98.347107%}.flag-za{background-position:0 98.760331%}.flag-zm{background-position:0 99.173554%}.flag-zr{background-position:0 99.586777%}.flag-zw{background-position:0 100%} diff --git a/styles/demo/flags/flags_responsive.png b/styles/demo/flags/flags_responsive.png new file mode 100644 index 0000000..c27ce21 Binary files /dev/null and b/styles/demo/flags/flags_responsive.png differ diff --git a/styles/demo/landing.scss b/styles/demo/landing.scss new file mode 100644 index 0000000..d8ff431 --- /dev/null +++ b/styles/demo/landing.scss @@ -0,0 +1,233 @@ +.bg-shape-top { + min-height: 520px; + background-size: cover; + background-position: 0% bottom; + background-repeat: no-repeat; + overflow: visible; + background-image: url('/layout/images/pages/landing/bg-header.svg') +} + +.bg-shape-bottom { + z-index: -1; + min-height: 770px; + background-size: cover; + background-position: 0 top; + background-image: url('/demo/images/landing/bg-contact.svg') +} + +.moveinright { + animation: moveinright .15s linear; +} + +.moveinleft { + animation: moveinleft .15s linear; +} + +@media screen and (max-width: 992px) { + #menu { + background-color: var(--surface-overlay) !important; + } +} + +@keyframes moveinright { + 0% { + opacity: 0; + transform: translateX(50px); + transition: transform .12s cubic-bezier(0, 0, 0.2, 1), opacity .12s cubic-bezier(0, 0, 0.2, 1); + } + + 100% { + opacity: 1; + transform: translateX(0%); + } +} + +@keyframes moveinleft { + 0% { + opacity: 0; + transform: translateX(-50px); + transition: transform .12s cubic-bezier(0, 0, 0.2, 1), opacity .12s cubic-bezier(0, 0, 0.2, 1); + } + + 100% { + opacity: 1; + transform: translateX(0%); + } +} + +.landing-container { + #header { + #menu { + display: flex; + align-items: center; + flex-direction: row; + list-style-type: none; + } + .header-features { + .header-feature-box { + background: rgba(0, 0, 0, 0.5); + border: 1px solid rgba(0, 0, 0, 0.15); + box-sizing: border-box; + backdrop-filter: blur(40px); + border-radius: 20px; + padding: 30px 33px 36px 33px; + max-width: 370px; + + .title { + display: block; + font-size: 20px; + line-height: 23px; + } + + .content { + font-size: 14px; + line-height: 16px; + } + } + } + } + .landing-wrapper-back { + margin-top: calc(((100vw * 0.09719) * -1) - 300px); + padding: calc((100vw * 0.09719) * 4) - ((100vw * 0.09719) - (100vw * 0.09719)) 0 4em; + } + + .landing-wrapper { + #footer { + .newsletter { + input { + background: #efeffb; + mix-blend-mode: multiply; + opacity: 0.8; + color: #44486d; + border-radius: 8px 0 0 8px; + border-color: transparent; + padding: 0.714rem 1rem; + min-width: 400px; + + &::placeholder { + font-weight: 500; + font-size: 14px; + line-height: 17px; + color: #44486d; + mix-blend-mode: multiply; + opacity: 0.25; + } + } + } + } + } +} + +@media screen and (max-width: 991px) { + .landing-container { + #header { + .header-features, + .header-text { + padding: 100px 0 !important; + padding-left: 0 !important; + padding-right: 0 !important; + } + } + + #meet-atlantis { + min-height: 430px !important; + + .ellipsis-1, + .ellipsis-2, + .ellipsis-3, + .ellipsis-4 { + display: none; + } + } + + .landing-wrapper-back { + display: none; + } + + .landing-wrapper { + padding: 2.5rem 3rem !important; + + &.clip-path { + clip-path: none; + margin-top: 0; + } + + #features { + padding-left: 0 !important; + padding-right: 0 !important; + + .feature-boxes { + &.feature-boxes-1, + &.feature-boxes-2, + &.feature-boxes-3 { + margin-bottom: 50px !important; + margin-left: 0px !important; + } + + &.feature-boxes-3 { + .feature-widgets { + overflow: hidden !important; + + .progressbar-widget { + max-width: 350px !important; + position: absolute; + right: -150px; + top: -15px; + } + } + } + } + } + + #pricing { + padding-left: 0 !important; + padding-right: 0 !important; + + .pricing-content { + .card { + margin-right: 0 !important; + } + } + } + + #footer { + .newsletter { + p, + input { + min-width: auto; + max-width: 300px; + } + } + } + } + } +} + +.clip-path { + position: relative; + margin-top: calc(((100vw * 0.09719) * -1) - 300px); + padding: calc((100vw * 0.09719) * 4) - ((100vw * 0.09719) - (100vw * 0.09719)) 0 4em; + clip-path: none; + -webkit-clip-path: none; + z-index: 1; +} + +@media screen and (min-width: 1960px) { + .landing-container { + .header-menu-container, + .header-text, + .header-features, + .landing-back, + .features, + .pricing, + .footer { + width: 1504px !important; + margin-left: auto !important; + margin-right: auto !important; + } + } +} +.join-button { + color: #a0a3ad !important; + +} \ No newline at end of file diff --git a/styles/layout/_animation.scss b/styles/layout/_animation.scss new file mode 100644 index 0000000..7a02d59 --- /dev/null +++ b/styles/layout/_animation.scss @@ -0,0 +1,53 @@ +@keyframes px-mask-in { + from { + background-color: transparent; + } + + to { + background-color: var(--maskbg); + } +} + +@keyframes px-scalein { + 0% { + opacity: 0; + transform: scaleY(0.8); + } + + 100% { + opacity: 1; + transform: scaleY(1); + } +} + +@keyframes px-fadein { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes px-fadeout { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.px-scalein { + animation: px-scalein .12s cubic-bezier(0, 0, 0.2, 1); +} + +.px-fadein { + animation: px-fadein .15s linear; +} + +.px-fadeout { + animation: px-fadeout .15s linear; +} \ No newline at end of file diff --git a/styles/layout/_breadcrumb.scss b/styles/layout/_breadcrumb.scss new file mode 100644 index 0000000..82c4021 --- /dev/null +++ b/styles/layout/_breadcrumb.scss @@ -0,0 +1,97 @@ +.layout-breadcrumb { + ol { + display: flex; + align-items: center; + margin: 0; + padding: 0; + list-style: none; + gap: 1rem; + flex-wrap: wrap; + color: var(--text-color-secondary); + + li { + font-weight: 600; + } + } + .breadcrumb-menu { + margin: 0; + padding: 0 1.15rem 0 0.85rem; + padding-right: 0; + list-style: none; + flex-grow: 1; + color: var(--topbar-item-text-color); + margin-right: -2rem; + + li { + margin-left: 1.5rem; + .breadcrumb-search { + display: flex; + align-items: center; + flex-shrink: 0; + width: 100%; + margin-left: 0rem; + + .breadcrumb-searchbutton { + display: flex; + opacity: 1; + } + + .search-input-wrapper { + position: relative; + width: 0; + opacity: 0; + visibility: hidden; + transition: 400ms cubic-bezier(0.86, 0, 0.07, 1); + + span { + width: 100%; + + .p-inputtext { + width: 100%; + position: relative; + border-radius: 40px; + padding: 9px; + } + + i { + font-size: 18px; + margin-top: -9px; + margin-right: 9px; + } + } + } + + &.breadcrumb-search-active { + .breadcrumb-searchbutton { + opacity: 0; + display: none; + pointer-events: none; + cursor: default; + } + + .search-input-wrapper { + width: 100%; + opacity: 1; + visibility: visible; + border-radius: var(--border-radius); + i { + display: block; + } + .p-input-icon-right { + input { + border-radius: var(--border-radius); + width: 100%; + background: var(--surface-ground); + } + } + } + } + } + } + } +} + +.content-breadcrumb { + margin-bottom: 2rem; + padding: 0 0.5rem; +} diff --git a/styles/layout/_config.scss b/styles/layout/_config.scss new file mode 100644 index 0000000..50f13c3 --- /dev/null +++ b/styles/layout/_config.scss @@ -0,0 +1,44 @@ +.layout-wrapper { + .layout-config-button { + display: block; + position: fixed; + width: 3rem; + height: 3rem; + line-height: 3rem; + background: var(--primary-color); + color: var(--primary-color-text); + text-align: center; + top: 50%; + right: 0; + margin-top: -1.5rem; + border-top-left-radius: var(--border-radius); + border-bottom-left-radius: var(--border-radius); + border-top-right-radius: 0; + border-bottom-right-radius: 0; + transition: background-color var(--transition-duration); + overflow: hidden; + cursor: pointer; + z-index: 999; + box-shadow: -0.25rem 0 1rem rgba(0, 0, 0, 0.15); + + i { + font-size: 2rem; + line-height: inherit; + transform: rotate(0deg); + transition: transform 1s; + } + + &:hover { + background: var(--primary-400); + } + } + + .layout-config-sidebar { + &.p-sidebar { + .p-sidebar-content { + padding-left: 2rem; + padding-right: 2rem; + } + } + } +} diff --git a/styles/layout/_content.scss b/styles/layout/_content.scss new file mode 100644 index 0000000..4dbae98 --- /dev/null +++ b/styles/layout/_content.scss @@ -0,0 +1,3 @@ +.layout-content-wrapper { + padding: 2rem; +} \ No newline at end of file diff --git a/styles/layout/_fonts.scss b/styles/layout/_fonts.scss new file mode 100644 index 0000000..1db36f8 --- /dev/null +++ b/styles/layout/_fonts.scss @@ -0,0 +1,28 @@ +/* poppins-regular - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: local(''), url('./fonts/poppins-v20-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('./fonts/poppins-v20-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +/* poppins-500 - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 500; + src: local(''), url('./fonts/poppins-v20-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('./fonts/poppins-v20-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +/* poppins-600 - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 600; + src: local(''), url('./fonts/poppins-v20-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('./fonts/poppins-v20-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +/* poppins-700 - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 700; + src: local(''), url('./fonts/poppins-v20-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('./fonts/poppins-v20-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/styles/layout/_layout_dark.scss b/styles/layout/_layout_dark.scss new file mode 100644 index 0000000..b633770 --- /dev/null +++ b/styles/layout/_layout_dark.scss @@ -0,0 +1,12 @@ +$breakpoint: 992px !default; +$scale: 14px !default; + +.layout-dark { + --sidebar-shadow: none; + --sidebar-border: 1px solid var(--surface-border); + --card-shadow: none; + --body-bg: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --body-image: url('/layout/images/pages/effect-ondark.png'); + --root-menu-item-hover-bg: rgba(255, 255, 255, 0.05); + --exception-pages-image: url('/layout/images/pages/exception-ondark.png'); +} diff --git a/styles/layout/_layout_light.scss b/styles/layout/_layout_light.scss new file mode 100644 index 0000000..6a8c5d9 --- /dev/null +++ b/styles/layout/_layout_light.scss @@ -0,0 +1,12 @@ +$breakpoint: 992px !default; +$scale: 14px !default; + +.layout-light { + --sidebar-shadow: 0px 4px 50px #d9ddfc; + --sidebar-border: 1px solid transparent; + --card-shadow: 0px 4px 30px rgba(221, 224, 255, 0.54); + --body-bg: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --body-image: url('/layout/images/pages/effect-onlight.png'); + --root-menu-item-hover-bg: rgba(68, 72, 109, 0.07); + --exception-pages-image: url('/layout/images/pages/exception-onlight.png'); +} diff --git a/styles/layout/_main.scss b/styles/layout/_main.scss new file mode 100644 index 0000000..71b2a40 --- /dev/null +++ b/styles/layout/_main.scss @@ -0,0 +1,48 @@ +* { + box-sizing: border-box; +} + +html { + height: 100%; + font-size: 14px; +} + +body { + font-weight: 400; + padding: 0; + margin: 0; + min-height: 100%; + color: var(--text-color); + font-family: var(--font-family); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + text-decoration: none; +} + +.layout-container { + background: var(--body-bg); + min-height: 100vh; + &:before { + min-height: 100vh; + height: 100%; + width: 100%; + content: ""; + z-index: 0; + display: block; + position: absolute; + top: 0; + left: 0; + background-image: var(--body-image); + background-repeat: no-repeat; + z-index: 0; + } + + .layout-content-wrapper { + position: relative; + z-index: 1; + overflow-x: hidden; + } +} diff --git a/styles/layout/_profile.scss b/styles/layout/_profile.scss new file mode 100644 index 0000000..4cb5e13 --- /dev/null +++ b/styles/layout/_profile.scss @@ -0,0 +1,10 @@ +.layout-profile-sidebar { + &.p-sidebar { + width: 25rem; + + .p-sidebar-content { + padding-left: 2rem; + padding-right: 2rem; + } + } +} \ No newline at end of file diff --git a/styles/layout/_responsive.scss b/styles/layout/_responsive.scss new file mode 100644 index 0000000..4fbb1f8 --- /dev/null +++ b/styles/layout/_responsive.scss @@ -0,0 +1,134 @@ +@media screen and (min-width: 992px) { + .layout-container { + &.layout-static { + .layout-sidebar { + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); + } + + .layout-content-wrapper { + margin-left: 22rem; + transition: margin-left 0.3s cubic-bezier(0, 0, 0.2, 1); + } + } + + &.layout-static-inactive { + .layout-sidebar { + transform: translateX(-100%); + } + + .layout-content-wrapper { + margin-left: 0; + } + } + + &.layout-overlay { + .layout-content-wrapper { + margin-left: 0; + } + + .layout-sidebar { + z-index: 999; + transform: translateX(-100%); + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); + background: var(--surface-ground); + } + + &.layout-overlay-active { + .layout-sidebar { + transform: translateX(0); + } + } + } + + .content-breadcrumb { + display: none; + } + } +} + +@media screen and (max-width: 991px) { + .blocked-scroll { + overflow: hidden; + } + + .layout-topbar { + .topbar-menu { + margin-right: 0rem !important; + } + .right-panel-button{ + position: absolute !important; + right: 0; + } + } + + .layout-container { + + .layout-content-wrapper { + margin-left: 0; + padding: 1rem; + } + + .layout-sidebar { + z-index: 999; + transform: translateX(-100%); + transition: transform var(--transition-duration); + box-shadow: none; + } + + &.layout-mobile-active { + .layout-sidebar { + transform: translateX(0); + background: var(--surface-ground); + } + + .layout-mask { + display: block; + animation: fadein var(--transition-duration); + } + } + + .layout-mask { + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 998; + width: 100%; + height: 100%; + background-color: var(--maskbg); + } + + .topbar-breadcrumb { + display: none; + } + + .content-breadcrumb { + display: block; + } + + + } + +} + +@media screen and (min-width: 1960px) { + .layout-content, .landing-wrapper { + width: 1504px; + margin-left: auto !important; + margin-right: auto !important; + } + + .layout-topbar { + width: 1504px; + margin-left: auto !important; + margin-right: auto !important; + .topbar-menu { + margin-right: 0rem !important; + } + + .right-panel-button{ + position: absolute !important; + right: 0; + } + } +} \ No newline at end of file diff --git a/styles/layout/_sidebar_drawer.scss b/styles/layout/_sidebar_drawer.scss new file mode 100644 index 0000000..b15f95d --- /dev/null +++ b/styles/layout/_sidebar_drawer.scss @@ -0,0 +1,283 @@ +@media screen and (min-width: 992px) { + .layout-container { + &.layout-drawer { + .layout-topbar { + .topbar-menubutton { + display: none; + } + } + + .layout-sidebar { + height: 100%; + top: 0; + transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); + width: 6rem; + z-index: 999; + background: var(--surface-ground); + padding-bottom: 3rem; + .layout-menu-container { + overflow: hidden; + } + + .sidebar-header { + display: flex; + justify-content: center; + gap: 1rem; + padding: 1.5rem 0rem; + height: 5.71rem; + .app-logo { + text-align: center; + .app-logo-small { + display: inline; + order: 1; + } + + .app-logo-normal { + display: flex; + align-items: center; + width: 0; + transition: width 0.1s cubic-bezier(0, 0, 0.2, 1); + transition-delay: 50ms; + max-width: 0; + height: 0; + img { + width: 0; + transition: width 0.1s cubic-bezier(0, 0, 0.2, 1); + transition-delay: 50ms; + max-width: 0; + } + } + } + + .layout-sidebar-anchor { + display: none; + width: 1.388rem; + height: 1.25rem; + border-radius: 50%; + border: 2px solid var(--primary-color); + background-color: transparent; + transition: background-color var(--transition-duration), transform 0.3s; + } + } + + .layout-menu-container { + overflow: hidden; + } + + .layout-menu { + transition: all 0.4s; + padding: 0 1rem; + .layout-root-menuitem { + > .layout-menuitem-root-text { + opacity: 0; + white-space: nowrap; + transition: all 0.1s; + + > span { + margin-right: auto; + } + + .layout-menuitem-icon { + font-size: 1rem; + } + + > .layout-menuitem-root-icon { + display: block; + margin-right: 0.125rem; + font-size: 1.25rem; + } + } + } + + ul { + margin: 0 auto; + padding: 0; + list-style-type: none; + width: 3rem; + a { + border: none; + width: 3rem; + padding: 0.5rem 1rem; + span { + opacity: 0; + white-space: nowrap; + transition: all 0.1s; + } + + .layout-menuitem-icon { + font-size: 1rem; + } + } + } + } + } + + &.layout-drawer { + .layout-content-wrapper { + margin-left: 5.25rem; + transition: margin-left 0.3s cubic-bezier(0, 0, 0.2, 1); + overflow-x: hidden; + } + } + + &.layout-sidebar-active { + .layout-sidebar { + width: 22rem; + padding-bottom: 0rem; + .layout-menu-container { + overflow: auto; + } + + .sidebar-header { + padding: 1.5rem 2rem; + justify-content: space-between; + height: 5.71rem; + .app-logo { + text-align: left; + .app-logo-normal { + height: auto; + width: 100%; + max-width: none; + img { + &:first-child { + width: 32px; + max-width: none; + } + &:last-child { + width: 142px; + max-width: none; + } + } + } + + .app-logo-small { + display: none; + } + } + + .layout-sidebar-anchor { + display: block; + animation: px-fadein 0.15s linear; + } + } + + .layout-menu { + padding: 0 1rem; + + li { + border-radius: 8px; + a { + border-left: 8px solid transparent; + } + } + li.active-menuitem { + background-color: var(--root-menu-item-hover-bg); + > a { + border-left-color: var(--primary-color); + background-color: var(--root-menu-item-hover-bg); + .layout-submenu-toggler { + transform: rotate(-180deg); + } + } + } + a { + user-select: none; + + &.active-menuitem { + > .layout-submenu-toggler { + transform: rotate(-180deg); + } + } + } + .layout-root-menuitem { + > div { + padding-left: 1.5rem; + margin-bottom: 0.5rem; + font-size: 12px; + opacity: 1; + > .layout-menuitem-text { + font-size: 0.857rem; + opacity: 1; + font-weight: 600; + text-transform: uppercase; + } + } + } + + ul { + width: auto; + li { + width: auto; + } + a { + width: auto; + + .layout-submenu-toggler { + display: block; + } + + span { + opacity: 1; + white-space: nowrap; + transition: all 0.3s; + } + } + ul { + overflow: hidden; + border-radius: var(--border-radius); + + li { + a { + padding-left: 2.5rem; + } + + li { + a { + padding-left: 3rem; + } + + li { + a { + padding-left: 3.5rem; + } + + li { + a { + padding-left: 4rem; + } + + li { + a { + padding-left: 5.5rem; + } + + li { + a { + padding-left: 5rem; + } + } + } + } + } + } + } + } + } + } + } + } + + &.layout-sidebar-anchored { + .sidebar-header { + .layout-sidebar-anchor { + background-color: var(--primary-color); + } + } + + .layout-content-wrapper { + margin-left: 22rem; + } + } + } + } +} diff --git a/styles/layout/_sidebar_horizontal.scss b/styles/layout/_sidebar_horizontal.scss new file mode 100644 index 0000000..bbb4997 --- /dev/null +++ b/styles/layout/_sidebar_horizontal.scss @@ -0,0 +1,174 @@ +@media screen and (min-width: 992px) { + .layout-container { + &.layout-horizontal { + .layout-topbar { + .topbar-menubutton { + display: none; + } + .layout-topbar-menu-section { + width: calc(100% - 320px); + } + .topbar-breadcrumb { + display: none; + } + } + + .layout-sidebar { + width: auto; + height: auto; + top: 0; + z-index: 999; + overflow: visible; + flex-direction: row; + position: static; + + .layout-menu-container { + overflow: auto; + padding-bottom: 0; + &::-webkit-scrollbar { + display: none; + } + } + + .sidebar-header { + padding: 0; + .app-logo { + .app-logo-normal { + display: none; + } + + .app-logo-small { + display: inline; + } + } + } + } + + .layout-menu { + display: flex; + flex-wrap: nowrap; + flex-direction: row; + align-items: center; + height: 100%; + padding: 0 1rem; + > li { + margin-bottom: 0rem; + &:first-child { + margin-top: 0rem; + } + } + ul { + display: none; + } + + li.active-menuitem { + > ul { + display: block; + } + } + + .layout-root-menuitem { + border-radius: var(--border-radius); + + > .layout-menuitem-root-text { + display: none; + } + + > a { + display: flex; + align-items: center; + padding: 0.75rem; + border-radius: 6px; + border: none; + cursor: pointer; + outline: none; + color: var(--text-color); + transition: background-color var(--transition-duration); + + .layout-submenu-toggler { + display: block; + margin-left: auto; + transition: transform 0.2s; + } + + .layout-menuitem-icon { + font-size: 1rem; + } + + .layout-menuitem-text { + font-size: 0.875rem; + display: block; + margin-left: 0.75rem; + margin-right: 0.75rem; + white-space: nowrap; + } + + &:hover { + background-color: var(--menuitem-hover-bg-color); + } + } + + > ul { + position: absolute; + left: auto; + top: 5rem; + min-width: 15rem; + background: var(--surface-overlay); + box-shadow: var(--sidebar-shadow); + padding: 0.8rem; + border-radius: var(--border-radius); + max-height: 20rem; + overflow: auto; + z-index: 999; + + a { + padding-right: 0.5rem; + color: var(--text-color); + border-radius: var(--border-radius); + + &:hover { + background-color: var(--root-menu-item-hover-bg); + } + } + + li { + a { + padding-left: 0.5rem; + } + + li { + a { + padding-left: 1rem; + } + + li { + a { + padding-left: 1.5rem; + } + + li { + a { + padding-left: 2rem; + } + + li { + a { + padding-left: 2.5rem; + } + + li { + a { + padding-left: 3rem; + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/styles/layout/_sidebar_reveal.scss b/styles/layout/_sidebar_reveal.scss new file mode 100644 index 0000000..3e64394 --- /dev/null +++ b/styles/layout/_sidebar_reveal.scss @@ -0,0 +1,201 @@ +@media screen and (min-width: 992px) { + .layout-container { + &.layout-reveal { + .layout-topbar { + .topbar-menubutton { + display: none; + } + } + + .layout-sidebar { + height: 100%; + top: 0; + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); + transform: translateX(-15.5rem); + z-index: 999; + background: var(--surface-ground); + padding-bottom: 3rem; + .sidebar-header { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 1rem; + padding: 1.5rem 1rem; + height: 5.71rem; + .app-logo { + text-align: right; + .app-logo-small { + display: inline; + order: 1; + margin-right: 0.5rem; + } + + .app-logo-normal { + display: none; + } + } + + .layout-sidebar-anchor { + display: none; + width: 1.388rem; + height: 1.25rem; + border-radius: 50%; + border: 2px solid var(--primary-color); + background-color: transparent; + transition: background-color var(--transition-duration), transform 0.3s; + } + } + .layout-menu-container { + overflow: hidden; + } + + .layout-menu { + .layout-root-menuitem { + > .layout-menuitem-root-text { + > span { + margin-right: auto; + } + + > .layout-menuitem-root-icon { + display: block; + margin-right: 0.125rem; + } + } + } + + ul { + margin: 0; + padding: 0; + list-style-type: none; + + a { + padding: 0.5rem 1rem; + .layout-menuitem-text { + order: 1; + margin-right: auto; + } + + .layout-submenu-toggler { + order: 2; + display: none; + margin-right: 0.5rem; + } + + .layout-menuitem-icon { + order: 3; + margin-right: 0; + font-size: 1rem; + width: auto; + } + } + } + } + } + + &.layout-reveal { + .layout-content-wrapper { + margin-left: 4.25rem; + transition: margin-left 0.3s cubic-bezier(0, 0, 0.2, 1); + } + } + + &.layout-sidebar-active { + .layout-sidebar { + padding-bottom: 0rem; + transform: translateX(0); + .layout-menu-container { + overflow: auto; + } + .sidebar-header { + padding: 1.5rem 2rem; + justify-content: space-between; + .app-logo { + text-align: left; + .app-logo-normal { + display: inline; + } + + .app-logo-small { + display: none; + } + } + .layout-sidebar-anchor { + display: block; + animation: px-fadein 0.15s linear; + } + } + + .layout-menu { + .layout-root-menuitem { + > .layout-menuitem-root-text { + > .layout-menuitem-root-icon { + display: none; + } + } + } + + ul { + a { + .layout-submenu-toggler { + display: block; + } + } + ul { + overflow: hidden; + border-radius: var(--border-radius); + + li { + a { + padding-left: 2.5rem; + } + + li { + a { + padding-left: 3rem; + } + + li { + a { + padding-left: 3.5rem; + } + + li { + a { + padding-left: 4rem; + } + + li { + a { + padding-left: 5.5rem; + } + + li { + a { + padding-left: 5rem; + } + } + } + } + } + } + } + } + } + } + } + } + + &.layout-sidebar-anchored { + .sidebar-header { + .layout-sidebar-anchor { + background-color: var(--primary-color); + } + } + + .layout-content-wrapper { + margin-left: 22rem; + } + } + } + } +} diff --git a/styles/layout/_sidebar_slim.scss b/styles/layout/_sidebar_slim.scss new file mode 100644 index 0000000..fa00929 --- /dev/null +++ b/styles/layout/_sidebar_slim.scss @@ -0,0 +1,169 @@ +@media screen and (min-width: 992px) { + .layout-container { + &.layout-slim { + .layout-topbar { + .topbar-menubutton { + display: none; + } + } + + .sidebar-header { + padding: 1.7rem 0; + .app-logo { + display: flex; + align-items: center; + justify-content: center; + + .app-logo-normal { + display: none; + img { + height: 1.714rem; + } + } + + .app-logo-small { + display: inline; + img { + height: 2.5rem; + } + } + } + } + + .layout-sidebar { + width: 5.857rem; + overflow: visible; + z-index: 999; + .layout-menu-container { + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + } + } + + .layout-content-wrapper { + margin-left: 5.857rem; + } + + .layout-menu { + padding: 0 1rem; + + ul { + display: none; + } + + li.active-menuitem { + background-color: unset; + > ul { + display: block; + } + } + + .layout-root-menuitem { + > .layout-menuitem-root-text { + display: none; + } + + > a { + display: flex; + align-items: center; + justify-content: center; + border-radius: 12px; + border: none; + cursor: pointer; + outline: none; + transition: background-color var(--transition-duration); + margin: 0px; + padding: 8px; + width: 40px; + height: 40px; + margin: 0 auto 1rem auto; + + .layout-submenu-toggler { + display: none; + } + + .layout-menuitem-icon { + font-size: 1.5rem; + } + + .layout-menuitem-text { + display: none; + } + + &:hover { + color: (--primary-color-text); + background-color: var(--primary-color); + } + } + + > ul { + position: absolute; + left: 5.857rem; + top: 0; + min-width: 15rem; + background: var(--surface-ground); + border-radius: var(--border-radius); + box-shadow: var(--sidebar-shadow); + padding: 0.5rem; + max-height: 20rem; + overflow: auto; + z-index: 999; + + a { + padding-right: 0.5rem; + color: var(--text-color); + border-radius: var(--border-radius); + + .layout-menuitem-icon { + color: var(--text-color); + } + + &:hover { + background-color: var(--root-menu-item-hover-bg); + } + } + + li { + a { + padding-left: 0.5rem; + } + + li { + a { + padding-left: 1rem; + } + + li { + a { + padding-left: 1.5rem; + } + + li { + a { + padding-left: 2rem; + } + + li { + a { + padding-left: 2.5rem; + } + + li { + a { + padding-left: 3rem; + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/styles/layout/_sidebar_slim_plus.scss b/styles/layout/_sidebar_slim_plus.scss new file mode 100644 index 0000000..ff4396d --- /dev/null +++ b/styles/layout/_sidebar_slim_plus.scss @@ -0,0 +1,167 @@ +@media screen and (min-width: 992px) { + .layout-container { + &.layout-slim-plus { + .layout-topbar { + .topbar-menubutton { + display: none; + } + } + + .sidebar-header { + justify-content: center; + padding: 1.7rem 0; + .app-logo { + display: flex; + justify-content: center; + align-items: center; + .app-logo-normal { + display: none; + } + + .app-logo-small { + display: inline; + align-items: center; + } + } + } + + .layout-sidebar { + width: 8rem; + overflow: visible; + z-index: 999; + .layout-menu-container { + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + } + } + + .layout-content-wrapper { + margin-left: 8rem; + } + + .layout-menu { + padding: 0 1rem; + ul { + display: none; + } + + li.active-menuitem { + > ul { + display: block; + } + } + + .layout-root-menuitem { + > .layout-menuitem-root-text { + display: none; + } + + > a { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-radius: 12px; + text-align: center; + cursor: pointer; + border: none; + outline: none; + transition: background-color var(--transition-duration); + width: auto; + height: auto; + margin: 0 auto 1rem auto; + padding: 8px; + + .layout-submenu-toggler { + display: none; + } + + .layout-menuitem-icon { + font-size: 1.5rem; + color: var(--text-color); + } + + .layout-menuitem-text { + font-size: 0.875rem; + display: block; + margin-top: 0.25rem; + color: var(--text-color); + } + + + &:hover { + background-color: var(--root-menu-item-hover-bg); + } + } + + > ul { + position: absolute; + left: 8rem; + top: 0; + min-width: 15rem; + background: var(--surface-ground); + border-radius: var(--border-radius); + box-shadow: var(--sidebar-shadow); + padding: 0.5rem; + max-height: 20rem; + overflow: auto; + z-index: 999; + + a { + padding-right: 0.5rem; + color: var(--text-color); + border-radius: var(--border-radius); + + .layout-menuitem-icon { + color: var(--text-color); + } + + &:hover { + background-color: var(--root-menu-item-hover-bg); + } + } + + li { + a { + padding-left: 0.5rem; + } + + li { + a { + padding-left: 1rem; + } + + li { + a { + padding-left: 1.5rem; + } + + li { + a { + padding-left: 2rem; + } + + li { + a { + padding-left: 2.5rem; + } + + li { + a { + padding-left: 3rem; + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/styles/layout/_sidebar_vertical.scss b/styles/layout/_sidebar_vertical.scss new file mode 100644 index 0000000..0a6edd2 --- /dev/null +++ b/styles/layout/_sidebar_vertical.scss @@ -0,0 +1,182 @@ +.layout-sidebar { + position: fixed; + height: 100%; + top: 0; + left: 0; + width: 21rem; + display: flex; + flex-direction: column; + border-radius: 0px 40px 40px 0px; + + .sidebar-header { + padding: 1.7rem 1.57rem 0.5rem 2.42rem; + display: flex; + justify-content: flex-start; + align-items: center; + + .app-logo { + width: 100%; + .app-logo-normal { + display: inline; + img { + height: 1.714rem; + border: 0 none; + } + } + .app-logo-small { + img { + height: 2.5rem; + border: 0 none; + } + display: none; + } + } + } + + .layout-menu-container { + overflow: auto; + flex: 1; + padding-bottom: 2rem; + } + + .layout-menu { + margin: 0; + padding: 0 1.5rem; + list-style-type: none; + + > li { + margin-bottom: 2.25rem; + &:first-child { + margin-top: 2rem; + } + } + li { + border-radius: 8px; + a { + border-left: 8px solid transparent; + } + } + + .layout-root-menuitem { + > div { + padding-left: 1.5rem; + margin-bottom: 0.5rem; + font-size: 12px; + + > .layout-menuitem-text { + font-size: 0.857rem; + font-weight: 600; + text-transform: uppercase; + } + } + > a { + display: none; + } + } + + a { + user-select: none; + + &.active-menuitem { + > .layout-submenu-toggler { + transform: rotate(-180deg); + } + } + } + + li.active-menuitem { + background-color: var(--root-menu-item-hover-bg); + > a { + border-left-color: var(--primary-color); + background-color: var(--root-menu-item-hover-bg); + .layout-submenu-toggler { + transform: rotate(-180deg); + } + } + > ul { + max-height: 1000px; + transition: max-height 1s ease-in-out; + } + } + + ul { + margin: 0; + padding: 0; + list-style-type: none; + + a { + display: flex; + align-items: center; + position: relative; + outline: 0 none; + color: var(--text-color); + cursor: pointer; + padding: 0.5rem 1rem; + border-radius: 8px; + transition: background-color var(--transition-duration), box-shadow var(--transition-duration); + + .layout-menuitem-icon { + margin-right: 0.5rem; + } + + .layout-submenu-toggler { + font-size: 75%; + margin-left: auto; + transition: transform var(--transition-duration); + } + + &.active-route { + border-left-color: var(--primary-color); + background-color: var(--root-menu-item-hover-bg); + } + + &:hover { + background-color: var(--root-menu-item-hover-bg); + } + } + + ul { + overflow: hidden; + border-radius: var(--border-radius); + max-height: 0; + transition: max-height 0.45s cubic-bezier(0.86, 0, 0.07, 1); + + li { + a { + padding-left: 2.5rem; + } + + li { + a { + padding-left: 3rem; + } + + li { + a { + padding-left: 3.5rem; + } + + li { + a { + padding-left: 4rem; + } + + li { + a { + padding-left: 5.5rem; + } + + li { + a { + padding-left: 5rem; + } + } + } + } + } + } + } + } + } + } +} diff --git a/styles/layout/_topbar.scss b/styles/layout/_topbar.scss new file mode 100644 index 0000000..78e5a64 --- /dev/null +++ b/styles/layout/_topbar.scss @@ -0,0 +1,178 @@ +.layout-rightmenu-button { + background: linear-gradient(271.89deg, rgba(70,82,104,1), rgba(115,130,161,1)); + border-radius: 6px 0px 0px 6px; + border-color: transparent; + border-left: 0 none; + box-shadow: 0px 0px 10px rgb(15 139 253 / 25%); + right: 0; + color: #fff; + span { + font-weight: 400 !important; + } + &:enabled:hover { + background: linear-gradient(271.89deg, rgba(70,82,104,0.5), rgba(115,130,161,0.5)); + border-color: transparent; + } +} +.layout-topbar { + margin-bottom: 2rem; + display: flex; + justify-content: space-between; + align-items: center; + + .topbar-start { + display: flex; + align-items: center; + position: relative; + z-index: 999; + .topbar-menubutton { + display: inline-flex; + align-items: center; + justify-content: center; + margin-right: 2rem; + border-radius: var(--border-radius); + width: 2.5rem; + height: 2.5rem; + flex-shrink: 0; + transition: background-color var(--transition-duration); + + i { + font-size: 1.25rem; + color: var(--text-color); + transition: color var(--transition-duration); + } + + &:hover { + background-color: var(--primary-color); + + i { + color: var(--primary-color-text); + } + } + } + } + + .topbar-menu { + display: flex; + justify-content: flex-end; + align-items: center; + margin: 0; + padding: 0 1.15rem 0 0.85rem; + padding-right: 0; + list-style: none; + flex-grow: 1; + color: var(--topbar-item-text-color); + margin-right: -2rem; + + li { + margin-left: 1.5rem; + &.topbar-item { + margin-left: 1.5rem; + display: inline-flex; + align-items: center; + justify-content: center; + position: relative; + + img { + width: 2rem; + height: 2rem; + } + + button { + border-radius: 50%; + width: 2rem; + height: 2rem; + transition: box-shadow var(--transition-duration); + + &:focus { + box-shadow: var(--focus-ring); + } + } + + ul { + position: absolute; + bottom: -9.4rem; + right: 0; + display: none; + color: var(--text-color); + background: var(--surface-ground); + box-shadow: var(--box-shadow); + &.active-topbar-menu { + display: block; + } + + a { + color: var(--text-color); + } + + + + } + } + .topbar-search { + display: flex; + align-items: center; + flex-shrink: 0; + .topbar-searchbutton { + display: flex; + } + + .search-input-wrapper { + position: relative; + width: 0; + opacity: 0; + visibility: hidden; + transition: 400ms cubic-bezier(0.86, 0, 0.07, 1); + + span { + width: 100%; + + .p-inputtext { + width: 100%; + position: relative; + border-radius: 40px; + padding: 9px; + } + + i { + font-size: 18px; + margin-top: -9px; + } + } + } + + &.topbar-search-active { + .topbar-searchbutton { + opacity: 0; + display: none; + pointer-events: none; + cursor: default; + transition: opacity .1s; + transition-delay: .1s; + } + + .search-input-wrapper { + width: 190px; + opacity: 1; + visibility: visible; + border-radius: var(--border-radius); + i { + display: block; + } + input{ + border-radius: var(--border-radius); + } + } + } + } + + button { + span { + color: var(--item-text-color); + } + } + + } + } +} + diff --git a/styles/layout/_typography.scss b/styles/layout/_typography.scss new file mode 100644 index 0000000..62cfbbd --- /dev/null +++ b/styles/layout/_typography.scss @@ -0,0 +1,62 @@ +h1, h2, h3, h4, h5, h6 { + margin: 1.5rem 0 1rem 0; + font-family: inherit; + font-weight: 600; + line-height: 1.2; + + &:first-child { + margin-top: 0; + } +} + +h1 { + font-size: 2.5rem; +} + +h2 { + font-size: 2rem; +} + +h3 { + font-size: 1.75rem; +} + +h4 { + font-size: 1.5rem; +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + +mark { + background: #FFF8E1; + padding: .25rem .4rem; + border-radius: var(--border-radius); + font-family: monospace; +} + +blockquote { + margin: 1rem 0; + padding: 0 2rem; + border-left: 4px solid #90A4AE; +} + +hr { + border-top: solid var(--surface-border); + border-width: 1px 0 0 0; + margin: 1rem 0; +} + +p { + margin: 0 0 1rem 0; + line-height: 1.5; + + &:last-child { + margin-bottom: 0; + } +} \ No newline at end of file diff --git a/styles/layout/_utils.scss b/styles/layout/_utils.scss new file mode 100644 index 0000000..e41eeea --- /dev/null +++ b/styles/layout/_utils.scss @@ -0,0 +1,30 @@ +.card { + border-radius: 8px; + background: var(--surface-card); + padding: 16px; + box-sizing: border-box; + margin-bottom: 16px; + + .card-header { + font-weight: 500; + display: flex; + align-items: center; + justify-content: space-between; + } + + .card-subtitle { + color: var(--text-color-secondary); + font-size: 0.857rem; + font-weight: 500; + margin: -1rem 0 1rem 0; + } +} + +.p-toast { + &.p-toast-top-right, + &.p-toast-top-left, + &.p-toast-top-center { + top: 70px; + } +} + diff --git a/styles/layout/fonts/poppins-v20-latin-500.woff b/styles/layout/fonts/poppins-v20-latin-500.woff new file mode 100644 index 0000000..f033442 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-500.woff differ diff --git a/styles/layout/fonts/poppins-v20-latin-500.woff2 b/styles/layout/fonts/poppins-v20-latin-500.woff2 new file mode 100644 index 0000000..c660336 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-500.woff2 differ diff --git a/styles/layout/fonts/poppins-v20-latin-600.woff b/styles/layout/fonts/poppins-v20-latin-600.woff new file mode 100644 index 0000000..2370956 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-600.woff differ diff --git a/styles/layout/fonts/poppins-v20-latin-600.woff2 b/styles/layout/fonts/poppins-v20-latin-600.woff2 new file mode 100644 index 0000000..921e962 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-600.woff2 differ diff --git a/styles/layout/fonts/poppins-v20-latin-700.woff b/styles/layout/fonts/poppins-v20-latin-700.woff new file mode 100644 index 0000000..b8b8ce5 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-700.woff differ diff --git a/styles/layout/fonts/poppins-v20-latin-700.woff2 b/styles/layout/fonts/poppins-v20-latin-700.woff2 new file mode 100644 index 0000000..bf022fc Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-700.woff2 differ diff --git a/styles/layout/fonts/poppins-v20-latin-regular.woff b/styles/layout/fonts/poppins-v20-latin-regular.woff new file mode 100644 index 0000000..2a04ae3 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-regular.woff differ diff --git a/styles/layout/fonts/poppins-v20-latin-regular.woff2 b/styles/layout/fonts/poppins-v20-latin-regular.woff2 new file mode 100644 index 0000000..b69e009 Binary files /dev/null and b/styles/layout/fonts/poppins-v20-latin-regular.woff2 differ diff --git a/styles/layout/layout.css b/styles/layout/layout.css new file mode 100644 index 0000000..45b2aef --- /dev/null +++ b/styles/layout/layout.css @@ -0,0 +1,1478 @@ +/* poppins-regular - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + src: local(''), url('../../fonts/poppins-v20-latin-regular.woff2') format('woff2'), url('../../fonts/poppins-v20-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +/* poppins-500 - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 500; + src: local(''), url('../../fonts/poppins-v20-latin-500.woff2') format('woff2'), url('../../fonts/poppins-v20-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +/* poppins-600 - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 600; + src: local(''), url('../../fonts/poppins-v20-latin-600.woff2') format('woff2'), url('../../fonts/poppins-v20-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +/* poppins-700 - latin */ +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 700; + src: local(''), url('../../fonts/poppins-v20-latin-700.woff2') format('woff2'), url('../../fonts/poppins-v20-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} +@keyframes px-mask-in { + from { + background-color: transparent; + } + to { + background-color: var(--maskbg); + } +} +@keyframes px-scalein { + 0% { + opacity: 0; + transform: scaleY(0.8); + } + 100% { + opacity: 1; + transform: scaleY(1); + } +} +@keyframes px-fadein { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes px-fadeout { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +.px-scalein { + animation: px-scalein 0.12s cubic-bezier(0, 0, 0.2, 1); +} + +.px-fadein { + animation: px-fadein 0.15s linear; +} + +.px-fadeout { + animation: px-fadeout 0.15s linear; +} + +.layout-light { + --sidebar-shadow: 0px 4px 50px #d9ddfc; + --sidebar-border: 1px solid transparent; + --card-shadow: 0px 4px 30px rgba(221, 224, 255, 0.54); + --body-bg: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%); + --body-image: url('/layout/images/pages/effect-onlight.png'); + --root-menu-item-hover-bg: rgba(68, 72, 109, 0.07); + --exception-pages-image: url('/layout/images/pages/exception-onlight.png'); +} + +.layout-dark { + --sidebar-shadow: none; + --sidebar-border: 1px solid var(--surface-border); + --card-shadow: none; + --body-bg: linear-gradient(180deg, #2e323f 0%, #0a061a 100%); + --body-image: url('/layout/images/pages/effect-ondark.png'); + --root-menu-item-hover-bg: rgba(255, 255, 255, 0.05); + --exception-pages-image: url('/layout/images/pages/exception-ondark.png'); +} + +* { + box-sizing: border-box; +} + +html { + height: 100%; + font-size: 14px; +} + +body { + font-weight: 400; + padding: 0; + margin: 0; + min-height: 100%; + color: var(--text-color); + font-family: var(--font-family); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + text-decoration: none; +} + +.layout-container { + background: var(--body-bg); + min-height: 100vh; +} +.layout-container:before { + min-height: 100vh; + height: 100%; + width: 100%; + content: ''; + z-index: 0; + display: block; + position: absolute; + top: 0; + left: 0; + background-image: var(--body-image); + background-repeat: no-repeat; + z-index: 0; +} +.layout-container .layout-content-wrapper { + position: relative; + z-index: 1; + overflow-x: hidden; +} + +.layout-sidebar { + position: fixed; + height: 100%; + top: 0; + left: 0; + width: 21rem; + display: flex; + flex-direction: column; + border-radius: 0px 40px 40px 0px; +} +.layout-sidebar .sidebar-header { + padding: 1.7rem 1.57rem 0.5rem 2.42rem; + display: flex; + justify-content: flex-start; + align-items: center; +} +.layout-sidebar .sidebar-header .app-logo { + width: 100%; +} +.layout-sidebar .sidebar-header .app-logo .app-logo-normal { + display: inline; +} +.layout-sidebar .sidebar-header .app-logo .app-logo-normal img { + height: 1.714rem; + border: 0 none; +} +.layout-sidebar .sidebar-header .app-logo .app-logo-small { + display: none; +} +.layout-sidebar .sidebar-header .app-logo .app-logo-small img { + height: 2.5rem; + border: 0 none; +} +.layout-sidebar .layout-menu-container { + overflow: auto; + flex: 1; + padding-bottom: 2rem; +} +.layout-sidebar .layout-menu { + margin: 0; + padding: 0 1.5rem; + list-style-type: none; +} +.layout-sidebar .layout-menu > li { + margin-bottom: 2.25rem; +} +.layout-sidebar .layout-menu > li:first-child { + margin-top: 2rem; +} +.layout-sidebar .layout-menu li { + border-radius: 8px; +} +.layout-sidebar .layout-menu li a { + border-left: 8px solid transparent; +} +.layout-sidebar .layout-menu .layout-root-menuitem > div { + padding-left: 1.5rem; + margin-bottom: 0.5rem; + font-size: 12px; +} +.layout-sidebar .layout-menu .layout-root-menuitem > div > .layout-menuitem-text { + font-size: 0.857rem; + font-weight: 600; + text-transform: uppercase; +} +.layout-sidebar .layout-menu .layout-root-menuitem > a { + display: none; +} +.layout-sidebar .layout-menu a { + user-select: none; +} +.layout-sidebar .layout-menu a.active-menuitem > .layout-submenu-toggler { + transform: rotate(-180deg); +} +.layout-sidebar .layout-menu li.active-menuitem { + background-color: var(--root-menu-item-hover-bg); +} +.layout-sidebar .layout-menu li.active-menuitem > a { + border-left-color: var(--primary-color); + background-color: var(--root-menu-item-hover-bg); +} +.layout-sidebar .layout-menu li.active-menuitem > a .layout-submenu-toggler { + transform: rotate(-180deg); +} +.layout-sidebar .layout-menu ul { + margin: 0; + padding: 0; + list-style-type: none; +} +.layout-sidebar .layout-menu ul a { + display: flex; + align-items: center; + position: relative; + outline: 0 none; + color: var(--text-color); + cursor: pointer; + padding: 0.5rem 1rem; + border-radius: 8px; + transition: background-color var(--transition-duration), box-shadow var(--transition-duration); +} +.layout-sidebar .layout-menu ul a .layout-menuitem-icon { + margin-right: 0.5rem; +} +.layout-sidebar .layout-menu ul a .layout-submenu-toggler { + font-size: 75%; + margin-left: auto; + transition: transform var(--transition-duration); +} +.layout-sidebar .layout-menu ul a.active-route { + border-left-color: var(--primary-color); + background-color: var(--root-menu-item-hover-bg); +} +.layout-sidebar .layout-menu ul a:hover { + background-color: var(--root-menu-item-hover-bg); +} +.layout-sidebar .layout-menu ul ul { + overflow: hidden; + border-radius: var(--border-radius); +} +.layout-sidebar .layout-menu ul ul li a { + padding-left: 2.5rem; +} +.layout-sidebar .layout-menu ul ul li li a { + padding-left: 3rem; +} +.layout-sidebar .layout-menu ul ul li li li a { + padding-left: 3.5rem; +} +.layout-sidebar .layout-menu ul ul li li li li a { + padding-left: 4rem; +} +.layout-sidebar .layout-menu ul ul li li li li li a { + padding-left: 5.5rem; +} +.layout-sidebar .layout-menu ul ul li li li li li li a { + padding-left: 5rem; +} + +@media screen and (min-width: 992px) { + .layout-container.layout-slim .layout-topbar .topbar-menubutton { + display: none; + } + .layout-container.layout-slim .sidebar-header { + padding: 1.7rem 0; + } + .layout-container.layout-slim .sidebar-header .app-logo { + display: flex; + align-items: center; + justify-content: center; + } + .layout-container.layout-slim .sidebar-header .app-logo .app-logo-normal { + display: none; + } + .layout-container.layout-slim .sidebar-header .app-logo .app-logo-normal img { + height: 1.714rem; + } + .layout-container.layout-slim .sidebar-header .app-logo .app-logo-small { + display: inline; + } + .layout-container.layout-slim .sidebar-header .app-logo .app-logo-small img { + height: 2.5rem; + } + .layout-container.layout-slim .layout-sidebar { + width: 5.857rem; + overflow: visible; + z-index: 999; + padding-bottom: 3rem; + } + .layout-container.layout-slim .layout-sidebar .layout-menu-container { + overflow: auto; + } + .layout-container.layout-slim .layout-sidebar .layout-menu-container::-webkit-scrollbar { + display: none; + } + .layout-container.layout-slim .layout-content-wrapper { + margin-left: 5.857rem; + } + .layout-container.layout-slim .layout-menu { + padding: 0 1rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > .layout-menuitem-root-text { + display: none; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > a { + display: flex; + align-items: center; + justify-content: center; + border-radius: 12px; + border: none; + cursor: pointer; + outline: none; + transition: background-color var(--transition-duration); + margin: 0px; + padding: 8px; + width: 40px; + height: 40px; + margin: 0 auto 1rem auto; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > a .layout-submenu-toggler { + display: none; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > a .layout-menuitem-icon { + font-size: 1.5rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > a .layout-menuitem-text { + display: none; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > a:hover { + color: --primary-color-text; + background-color: var(--primary-color); + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul { + position: absolute; + left: 5.857rem; + top: 0; + min-width: 15rem; + background: var(--surface-ground); + border-radius: var(--border-radius); + box-shadow: var(--sidebar-shadow); + padding: 0.5rem; + max-height: 20rem; + overflow: auto; + z-index: 999; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul a { + padding-right: 0.5rem; + color: var(--text-color); + border-radius: var(--border-radius); + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul a .layout-menuitem-icon { + color: var(--text-color); + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul a:hover { + background-color: var(--root-menu-item-hover-bg); + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul li a { + padding-left: 0.5rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul li li a { + padding-left: 1rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul li li li a { + padding-left: 1.5rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul li li li li a { + padding-left: 2rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul li li li li li a { + padding-left: 2.5rem; + } + .layout-container.layout-slim .layout-menu .layout-root-menuitem > ul li li li li li li a { + padding-left: 3rem; + } +} +@media screen and (min-width: 992px) { + .layout-container.layout-slim-plus .layout-topbar .topbar-menubutton { + display: none; + } + .layout-container.layout-slim-plus .sidebar-header { + justify-content: center; + padding: 1.7rem 0; + } + .layout-container.layout-slim-plus .sidebar-header .app-logo { + display: flex; + justify-content: center; + align-items: center; + } + .layout-container.layout-slim-plus .sidebar-header .app-logo .app-logo-normal { + display: none; + } + .layout-container.layout-slim-plus .sidebar-header .app-logo .app-logo-small { + display: inline; + align-items: center; + } + .layout-container.layout-slim-plus .layout-sidebar { + width: 8rem; + overflow: visible; + z-index: 999; + padding-bottom: 3rem; + } + .layout-container.layout-slim-plus .layout-sidebar .layout-menu-container { + overflow: auto; + } + .layout-container.layout-slim-plus .layout-sidebar .layout-menu-container::-webkit-scrollbar { + display: none; + } + .layout-container.layout-slim-plus .layout-content-wrapper { + margin-left: 8rem; + } + .layout-container.layout-slim-plus .layout-menu { + padding: 0 1rem; + } + .layout-container.layout-slim-plus .layout-menu ul { + display: none; + } + .layout-container.layout-slim-plus .layout-menu li.active-menuitem > ul { + display: block; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > .layout-menuitem-root-text { + display: none; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > a { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-radius: 12px; + text-align: center; + cursor: pointer; + border: none; + outline: none; + transition: background-color var(--transition-duration); + width: auto; + height: auto; + margin: 0 auto 1rem auto; + padding: 8px; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > a .layout-submenu-toggler { + display: none; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > a .layout-menuitem-icon { + font-size: 1.5rem; + color: var(--text-color); + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > a .layout-menuitem-text { + font-size: 0.875rem; + display: block; + margin-top: 0.25rem; + color: var(--text-color); + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > a:hover { + background-color: var(--root-menu-item-hover-bg); + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul { + position: absolute; + left: 8rem; + top: 0; + min-width: 15rem; + background: var(--surface-ground); + border-radius: var(--border-radius); + box-shadow: var(--sidebar-shadow); + padding: 0.5rem; + max-height: 20rem; + overflow: auto; + z-index: 999; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul a { + padding-right: 0.5rem; + color: var(--text-color); + border-radius: var(--border-radius); + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul a .layout-menuitem-icon { + color: var(--text-color); + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul a:hover { + background-color: var(--root-menu-item-hover-bg); + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul li a { + padding-left: 0.5rem; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul li li a { + padding-left: 1rem; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul li li li a { + padding-left: 1.5rem; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul li li li li a { + padding-left: 2rem; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul li li li li li a { + padding-left: 2.5rem; + } + .layout-container.layout-slim-plus .layout-menu .layout-root-menuitem > ul li li li li li li a { + padding-left: 3rem; + } +} +@media screen and (min-width: 992px) { + .layout-container.layout-horizontal .layout-topbar .topbar-menubutton { + display: none; + } + .layout-container.layout-horizontal .layout-topbar .layout-topbar-menu-section { + width: calc(100% - 320px); + } + .layout-container.layout-horizontal .layout-topbar .topbar-breadcrumb { + display: none; + } + .layout-container.layout-horizontal .layout-sidebar { + width: auto; + height: auto; + top: 0; + z-index: 999; + overflow: visible; + flex-direction: row; + position: static; + } + .layout-container.layout-horizontal .layout-sidebar .layout-menu-container { + overflow: auto; + padding-bottom: 0; + } + .layout-container.layout-horizontal .layout-sidebar .layout-menu-container::-webkit-scrollbar { + display: none; + } + .layout-container.layout-horizontal .layout-sidebar .sidebar-header { + padding: 0; + } + .layout-container.layout-horizontal .layout-sidebar .sidebar-header .app-logo .app-logo-normal { + display: none; + } + .layout-container.layout-horizontal .layout-sidebar .sidebar-header .app-logo .app-logo-small { + display: inline; + } + .layout-container.layout-horizontal .layout-menu { + display: flex; + flex-wrap: nowrap; + flex-direction: row; + align-items: center; + height: 100%; + padding: 0 1rem; + } + .layout-container.layout-horizontal .layout-menu > li { + margin-bottom: 0rem; + } + .layout-container.layout-horizontal .layout-menu > li:first-child { + margin-top: 0rem; + } + .layout-container.layout-horizontal .layout-menu ul { + display: none; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem { + border-radius: var(--border-radius); + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > .layout-menuitem-root-text { + display: none; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > a { + display: flex; + align-items: center; + padding: 0.75rem; + border-radius: 6px; + border: none; + cursor: pointer; + outline: none; + color: var(--text-color); + transition: background-color var(--transition-duration); + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > a .layout-submenu-toggler { + display: block; + margin-left: auto; + transition: transform 0.2s; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > a .layout-menuitem-icon { + font-size: 1rem; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > a .layout-menuitem-text { + font-size: 0.875rem; + display: block; + margin-left: 0.75rem; + margin-right: 0.75rem; + white-space: nowrap; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > a:hover { + background-color: var(--menuitem-hover-bg-color); + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul { + position: absolute; + left: auto; + top: 5rem; + min-width: 15rem; + background: var(--surface-overlay); + box-shadow: var(--sidebar-shadow); + padding: 0.8rem; + border-radius: var(--border-radius); + max-height: 20rem; + overflow: auto; + z-index: 999; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul a { + padding-right: 0.5rem; + color: var(--text-color); + border-radius: var(--border-radius); + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul a:hover { + background-color: var(--root-menu-item-hover-bg); + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul li a { + padding-left: 0.5rem; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul li li a { + padding-left: 1rem; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul li li li a { + padding-left: 1.5rem; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul li li li li a { + padding-left: 2rem; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul li li li li li a { + padding-left: 2.5rem; + } + .layout-container.layout-horizontal .layout-menu .layout-root-menuitem > ul li li li li li li a { + padding-left: 3rem; + } +} +@media screen and (min-width: 992px) { + .layout-container.layout-reveal .layout-topbar .topbar-menubutton { + display: none; + } + .layout-container.layout-reveal .layout-sidebar { + height: 100%; + top: 0; + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); + transform: translateX(-15.5rem); + z-index: 999; + background: var(--surface-ground); + padding-bottom: 3rem; + } + .layout-container.layout-reveal .layout-sidebar .sidebar-header { + display: flex; + justify-content: flex-end; + align-items: center; + gap: 1rem; + padding: 1.5rem 1rem; + height: 5.71rem; + } + .layout-container.layout-reveal .layout-sidebar .sidebar-header .app-logo { + text-align: right; + } + .layout-container.layout-reveal .layout-sidebar .sidebar-header .app-logo .app-logo-small { + display: inline; + order: 1; + margin-right: 0.5rem; + } + .layout-container.layout-reveal .layout-sidebar .sidebar-header .app-logo .app-logo-normal { + display: none; + } + .layout-container.layout-reveal .layout-sidebar .sidebar-header .layout-sidebar-anchor { + display: none; + width: 1.25rem; + height: 1.25rem; + border-radius: 50%; + border: 2px solid var(--primary-color); + background-color: transparent; + transition: background-color var(--transition-duration), transform 0.3s; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu-container { + overflow: hidden; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text > span { + margin-right: auto; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text > .layout-menuitem-root-icon { + display: block; + margin-right: 0.125rem; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu ul { + margin: 0; + padding: 0; + list-style-type: none; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu ul a { + padding: 0.5rem 1rem; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu ul a .layout-menuitem-text { + order: 1; + margin-right: auto; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu ul a .layout-submenu-toggler { + order: 2; + display: none; + margin-right: 0.5rem; + } + .layout-container.layout-reveal .layout-sidebar .layout-menu ul a .layout-menuitem-icon { + order: 3; + margin-right: 0; + font-size: 1rem; + width: auto; + } + .layout-container.layout-reveal.layout-reveal .layout-content-wrapper { + margin-left: 4.25rem; + transition: margin-left 0.3s cubic-bezier(0, 0, 0.2, 1); + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar { + padding-bottom: 0rem; + transform: translateX(0); + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu-container { + overflow: auto; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .sidebar-header { + padding: 1.5rem 2rem; + justify-content: space-between; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo { + text-align: left; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo .app-logo-normal { + display: inline; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo .app-logo-small { + display: none; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .sidebar-header .layout-sidebar-anchor { + display: block; + animation: px-fadein 0.15s linear; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text > .layout-menuitem-root-icon { + display: none; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul a .layout-submenu-toggler { + display: block; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul { + overflow: hidden; + border-radius: var(--border-radius); + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul li a { + padding-left: 2.5rem; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li a { + padding-left: 3rem; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li a { + padding-left: 3.5rem; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li li a { + padding-left: 4rem; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li li li a { + padding-left: 5.5rem; + } + .layout-container.layout-reveal.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li li li li a { + padding-left: 5rem; + } + .layout-container.layout-reveal.layout-sidebar-anchored .sidebar-header .layout-sidebar-anchor { + background-color: var(--primary-color); + } + .layout-container.layout-reveal.layout-sidebar-anchored .layout-content-wrapper { + margin-left: 22rem; + } +} +@media screen and (min-width: 992px) { + .layout-container.layout-drawer .layout-topbar .topbar-menubutton { + display: none; + } + .layout-container.layout-drawer .layout-sidebar { + height: 100%; + top: 0; + transition: width 0.3s cubic-bezier(0, 0, 0.2, 1); + width: 6rem; + z-index: 999; + background: var(--surface-ground); + padding-bottom: 3rem; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu-container { + overflow: hidden; + } + .layout-container.layout-drawer .layout-sidebar .sidebar-header { + display: flex; + justify-content: center; + gap: 1rem; + padding: 1.5rem 0rem; + height: 5.71rem; + } + .layout-container.layout-drawer .layout-sidebar .sidebar-header .app-logo { + text-align: center; + } + .layout-container.layout-drawer .layout-sidebar .sidebar-header .app-logo .app-logo-small { + display: inline; + order: 1; + } + .layout-container.layout-drawer .layout-sidebar .sidebar-header .app-logo .app-logo-normal { + display: flex; + align-items: center; + width: 0; + transition: width 0.1s cubic-bezier(0, 0, 0.2, 1); + transition-delay: 50ms; + max-width: 0; + height: 0; + } + .layout-container.layout-drawer .layout-sidebar .sidebar-header .app-logo .app-logo-normal img { + width: 0; + transition: width 0.1s cubic-bezier(0, 0, 0.2, 1); + transition-delay: 50ms; + max-width: 0; + } + .layout-container.layout-drawer .layout-sidebar .sidebar-header .layout-sidebar-anchor { + display: none; + width: 1.25rem; + height: 1.25rem; + border-radius: 50%; + border: 2px solid var(--primary-color); + background-color: transparent; + transition: background-color var(--transition-duration), transform 0.3s; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu-container { + overflow: hidden; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu { + transition: all 0.4s; + padding: 0 1rem; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text { + opacity: 0; + white-space: nowrap; + transition: all 0.1s; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text > span { + margin-right: auto; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text .layout-menuitem-icon { + font-size: 1rem; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu .layout-root-menuitem > .layout-menuitem-root-text > .layout-menuitem-root-icon { + display: block; + margin-right: 0.125rem; + font-size: 1.25rem; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu ul { + margin: 0 auto; + padding: 0; + list-style-type: none; + width: 3rem; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu ul a { + border: none; + width: 3rem; + padding: 0.5rem 1rem; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu ul a span { + opacity: 0; + white-space: nowrap; + transition: all 0.1s; + } + .layout-container.layout-drawer .layout-sidebar .layout-menu ul a .layout-menuitem-icon { + font-size: 1rem; + } + .layout-container.layout-drawer.layout-drawer .layout-content-wrapper { + margin-left: 5.25rem; + transition: margin-left 0.3s cubic-bezier(0, 0, 0.2, 1); + overflow-x: hidden; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar { + width: 22rem; + padding-bottom: 0rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu-container { + overflow: auto; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header { + padding: 1.5rem 2rem; + justify-content: space-between; + height: 5.71rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo { + text-align: left; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo .app-logo-normal { + height: auto; + width: 100%; + max-width: none; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo .app-logo-normal img:first-child { + width: 32px; + max-width: none; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo .app-logo-normal img:last-child { + width: 142px; + max-width: none; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header .app-logo .app-logo-small { + display: none; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .sidebar-header .layout-sidebar-anchor { + display: block; + animation: px-fadein 0.15s linear; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu { + padding: 0 1rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu li { + border-radius: 8px; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu li a { + border-left: 8px solid transparent; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu li.active-menuitem { + background-color: var(--root-menu-item-hover-bg); + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu li.active-menuitem > a { + border-left-color: var(--primary-color); + background-color: var(--root-menu-item-hover-bg); + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu li.active-menuitem > a .layout-submenu-toggler { + transform: rotate(-180deg); + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu a { + user-select: none; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu a.active-menuitem > .layout-submenu-toggler { + transform: rotate(-180deg); + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu .layout-root-menuitem > div { + padding-left: 1.5rem; + margin-bottom: 0.5rem; + font-size: 12px; + opacity: 1; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu .layout-root-menuitem > div > .layout-menuitem-text { + font-size: 0.857rem; + opacity: 1; + font-weight: 600; + text-transform: uppercase; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul { + width: auto; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul li { + width: auto; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul a { + width: auto; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul a .layout-submenu-toggler { + display: block; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul a span { + opacity: 1; + white-space: nowrap; + transition: all 0.3s; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul { + overflow: hidden; + border-radius: var(--border-radius); + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul li a { + padding-left: 2.5rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li a { + padding-left: 3rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li a { + padding-left: 3.5rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li li a { + padding-left: 4rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li li li a { + padding-left: 5.5rem; + } + .layout-container.layout-drawer.layout-sidebar-active .layout-sidebar .layout-menu ul ul li li li li li li a { + padding-left: 5rem; + } + .layout-container.layout-drawer.layout-sidebar-anchored .sidebar-header .layout-sidebar-anchor { + background-color: var(--primary-color); + } + .layout-container.layout-drawer.layout-sidebar-anchored .layout-content-wrapper { + margin-left: 22rem; + } +} +@media screen and (min-width: 992px) { + .layout-container.layout-static .layout-sidebar { + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); + } + .layout-container.layout-static .layout-content-wrapper { + margin-left: 22rem; + transition: margin-left 0.3s cubic-bezier(0, 0, 0.2, 1); + } + .layout-container.layout-static-inactive .layout-sidebar { + transform: translateX(-100%); + } + .layout-container.layout-static-inactive .layout-content-wrapper { + margin-left: 0; + } + .layout-container.layout-overlay .layout-content-wrapper { + margin-left: 0; + } + .layout-container.layout-overlay .layout-sidebar { + z-index: 999; + transform: translateX(-100%); + transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1); + background: var(--surface-ground); + } + .layout-container.layout-overlay.layout-overlay-active .layout-sidebar { + transform: translateX(0); + } + .layout-container .content-breadcrumb { + display: none; + } +} +@media screen and (max-width: 991px) { + .blocked-scroll { + overflow: hidden; + } + .layout-topbar .topbar-menu { + margin-right: 0rem !important; + } + .layout-topbar .right-panel-button { + position: absolute !important; + right: 0; + } + .layout-container .layout-content-wrapper { + margin-left: 0; + padding: 1rem; + } + .layout-container .layout-sidebar { + z-index: 999; + transform: translateX(-100%); + transition: transform var(--transition-duration); + box-shadow: none; + } + .layout-container.layout-mobile-active .layout-sidebar { + transform: translateX(0); + background: var(--surface-ground); + } + .layout-container.layout-mobile-active .layout-mask { + display: block; + animation: fadein var(--transition-duration); + } + .layout-container .layout-mask { + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 998; + width: 100%; + height: 100%; + background-color: var(--maskbg); + } + .layout-container .topbar-breadcrumb { + display: none; + } + .layout-container .content-breadcrumb { + display: block; + } +} +@media screen and (min-width: 1960px) { + .layout-content, + .landing-wrapper { + width: 1504px; + margin-left: auto !important; + margin-right: auto !important; + } + .layout-topbar { + width: 1504px; + margin-left: auto !important; + margin-right: auto !important; + } + .layout-topbar .topbar-menu { + margin-right: 0rem !important; + } + .layout-topbar .right-panel-button { + position: absolute !important; + right: 0; + } +} +.layout-rightmenu-button { + background: linear-gradient(271.89deg, rgb(70, 82, 104), rgb(115, 130, 161)); + border-radius: 6px 0px 0px 6px; + border-color: transparent; + border-left: 0 none; + box-shadow: 0px 0px 10px rgba(15, 139, 253, 0.25); + right: 0; + color: #fff; +} +.layout-rightmenu-button span { + font-weight: 400 !important; +} +.layout-rightmenu-button:enabled:hover { + background: linear-gradient(271.89deg, rgba(70, 82, 104, 0.5), rgba(115, 130, 161, 0.5)); + border-color: transparent; +} + +.layout-topbar { + margin-bottom: 2rem; + display: flex; + justify-content: space-between; + align-items: center; +} +.layout-topbar .topbar-start { + display: flex; + align-items: center; + position: relative; + z-index: 999; +} +.layout-topbar .topbar-start .topbar-menubutton { + display: inline-flex; + align-items: center; + justify-content: center; + margin-right: 2rem; + border-radius: var(--border-radius); + width: 2.5rem; + height: 2.5rem; + flex-shrink: 0; + transition: background-color var(--transition-duration); +} +.layout-topbar .topbar-start .topbar-menubutton i { + font-size: 1.25rem; + color: var(--text-color); + transition: color var(--transition-duration); +} +.layout-topbar .topbar-start .topbar-menubutton:hover { + background-color: var(--primary-color); +} +.layout-topbar .topbar-start .topbar-menubutton:hover i { + color: var(--primary-color-text); +} +.layout-topbar .topbar-menu { + display: flex; + justify-content: flex-end; + align-items: center; + margin: 0; + padding: 0 1.15rem 0 0.85rem; + padding-right: 0; + list-style: none; + flex-grow: 1; + color: var(--topbar-item-text-color); + margin-right: -2rem; +} +.layout-topbar .topbar-menu li { + margin-left: 1.5rem; +} +.layout-topbar .topbar-menu li.topbar-item { + margin-left: 1.5rem; + display: inline-flex; + align-items: center; + justify-content: center; + position: relative; +} +.layout-topbar .topbar-menu li.topbar-item img { + width: 2rem; + height: 2rem; +} +.layout-topbar .topbar-menu li.topbar-item button { + border-radius: 50%; + width: 2rem; + height: 2rem; + transition: box-shadow var(--transition-duration); +} +.layout-topbar .topbar-menu li.topbar-item button:focus { + box-shadow: var(--focus-ring); +} +.layout-topbar .topbar-menu li.topbar-item ul { + position: absolute; + bottom: -9.4rem; + right: 0; + display: none; + color: var(--text-color); + background: var(--surface-ground); + box-shadow: var(--box-shadow); +} +.layout-topbar .topbar-menu li.topbar-item ul.active-topbar-menu { + display: block; +} +.layout-topbar .topbar-menu li.topbar-item ul a { + color: var(--text-color); +} +.layout-topbar .topbar-menu li .topbar-search { + display: flex; + align-items: center; + flex-shrink: 0; +} +.layout-topbar .topbar-menu li .topbar-search .topbar-searchbutton { + display: flex; +} +.layout-topbar .topbar-menu li .topbar-search .search-input-wrapper { + position: relative; + width: 0; + opacity: 0; + visibility: hidden; + transition: 400ms cubic-bezier(0.86, 0, 0.07, 1); +} +.layout-topbar .topbar-menu li .topbar-search .search-input-wrapper span { + width: 100%; +} +.layout-topbar .topbar-menu li .topbar-search .search-input-wrapper span .p-inputtext { + width: 100%; + position: relative; + border-radius: 40px; + padding: 9px; +} +.layout-topbar .topbar-menu li .topbar-search .search-input-wrapper span i { + font-size: 18px; + margin-top: -9px; +} +.layout-topbar .topbar-menu li .topbar-search.topbar-search-active .topbar-searchbutton { + opacity: 0; + display: none; + pointer-events: none; + cursor: default; + transition: opacity 0.1s; + transition-delay: 0.1s; +} +.layout-topbar .topbar-menu li .topbar-search.topbar-search-active .search-input-wrapper { + width: 190px; + opacity: 1; + visibility: visible; + border-radius: var(--border-radius); +} +.layout-topbar .topbar-menu li .topbar-search.topbar-search-active .search-input-wrapper i { + display: block; +} +.layout-topbar .topbar-menu li .topbar-search.topbar-search-active .search-input-wrapper input { + border-radius: var(--border-radius); +} +.layout-topbar .topbar-menu li button span { + color: var(--item-text-color); +} + +.layout-breadcrumb ol { + display: flex; + align-items: center; + margin: 0; + padding: 0; + list-style: none; + gap: 1rem; + flex-wrap: wrap; + color: var(--text-color-secondary); +} +.layout-breadcrumb ol li { + font-weight: 600; +} +.layout-breadcrumb .breadcrumb-menu { + margin: 0; + padding: 0 1.15rem 0 0.85rem; + padding-right: 0; + list-style: none; + flex-grow: 1; + color: var(--topbar-item-text-color); + margin-right: -2rem; +} +.layout-breadcrumb .breadcrumb-menu li { + margin-left: 1.5rem; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search { + display: flex; + align-items: center; + flex-shrink: 0; + width: 100%; + margin-left: 0rem; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search .breadcrumb-searchbutton { + display: flex; + opacity: 1; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search .search-input-wrapper { + position: relative; + width: 0; + opacity: 0; + visibility: hidden; + transition: 400ms cubic-bezier(0.86, 0, 0.07, 1); +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search .search-input-wrapper span { + width: 100%; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search .search-input-wrapper span .p-inputtext { + width: 100%; + position: relative; + border-radius: 40px; + padding: 9px; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search .search-input-wrapper span i { + font-size: 18px; + margin-top: -9px; + margin-right: 9px; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search.breadcrumb-search-active .breadcrumb-searchbutton { + opacity: 0; + pointer-events: none; + cursor: default; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search.breadcrumb-search-active .search-input-wrapper { + width: 100%; + opacity: 1; + visibility: visible; + border-radius: var(--border-radius); +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search.breadcrumb-search-active .search-input-wrapper i { + display: block; +} +.layout-breadcrumb .breadcrumb-menu li .breadcrumb-search.breadcrumb-search-active .search-input-wrapper .p-input-icon-right input { + border-radius: var(--border-radius); + width: 100%; + background: var(--surface-ground); +} + +.content-breadcrumb { + margin-bottom: 2rem; + padding: 0 0.5rem; +} + +.layout-profile-sidebar.p-sidebar { + width: 25rem; +} +.layout-profile-sidebar.p-sidebar .p-sidebar-content { + padding-left: 2rem; + padding-right: 2rem; +} + +.layout-config-button { + display: block; + position: fixed; + width: 3rem; + height: 3rem; + line-height: 3rem; + background: var(--primary-color); + color: var(--primary-color-text); + text-align: center; + top: 50%; + right: 0; + margin-top: -1.5rem; + border-top-left-radius: var(--border-radius); + border-bottom-left-radius: var(--border-radius); + border-top-right-radius: 0; + border-bottom-right-radius: 0; + transition: background-color var(--transition-duration); + overflow: hidden; + cursor: pointer; + z-index: 999; + box-shadow: -0.25rem 0 1rem rgba(0, 0, 0, 0.15); +} +.layout-config-button i { + font-size: 2rem; + line-height: inherit; + transform: rotate(0deg); + transition: transform 1s; +} +.layout-config-button:hover { + background: var(--primary-400); +} + +.layout-config-sidebar.p-sidebar .p-sidebar-content { + padding-left: 2rem; + padding-right: 2rem; +} + +.layout-content-wrapper { + padding: 2rem; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 1.5rem 0 1rem 0; + font-family: inherit; + font-weight: 600; + line-height: 1.2; +} +h1:first-child, +h2:first-child, +h3:first-child, +h4:first-child, +h5:first-child, +h6:first-child { + margin-top: 0; +} + +h1 { + font-size: 2.5rem; +} + +h2 { + font-size: 2rem; +} + +h3 { + font-size: 1.75rem; +} + +h4 { + font-size: 1.5rem; +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + +mark { + background: #fff8e1; + padding: 0.25rem 0.4rem; + border-radius: var(--border-radius); + font-family: monospace; +} + +blockquote { + margin: 1rem 0; + padding: 0 2rem; + border-left: 4px solid #90a4ae; +} + +hr { + border-top: solid var(--surface-border); + border-width: 1px 0 0 0; + margin: 1rem 0; +} + +p { + margin: 0 0 1rem 0; + line-height: 1.5; +} +p:last-child { + margin-bottom: 0; +} + +.card { + border-radius: 8px; + background: var(--surface-card); + padding: 16px; + box-sizing: border-box; + margin-bottom: 16px; +} +.card .card-header { + font-weight: 500; + display: flex; + align-items: center; + justify-content: space-between; +} +.card .card-subtitle { + color: var(--text-color-secondary); + font-size: 0.857rem; + font-weight: 500; + margin: -1rem 0 1rem 0; +} + +.p-toast.p-toast-top-right, +.p-toast.p-toast-top-left, +.p-toast.p-toast-top-center { + top: 70px; +} + diff --git a/styles/layout/layout.scss b/styles/layout/layout.scss new file mode 100644 index 0000000..d2cc852 --- /dev/null +++ b/styles/layout/layout.scss @@ -0,0 +1,23 @@ + +$breakpoint:992px !default; +$scale:14px !default; + +@use './_fonts'; +@use './_animation'; +@use './_layout_light'; +@use './layout_dark'; +@use './_main'; +@use './_sidebar_vertical'; +@use './_sidebar_slim'; +@use './_sidebar_slim_plus'; +@use './_sidebar_horizontal'; +@use './_sidebar_reveal'; +@use './_sidebar_drawer'; +@use './_responsive'; +@use './_topbar'; +@use './_breadcrumb'; +@use './_profile'; +@use './_config'; +@use './_content'; +@use './_typography'; +@use './_utils'; diff --git a/tests/integration/auth-integration.test.tsx b/tests/integration/auth-integration.test.tsx new file mode 100644 index 0000000..34a024b --- /dev/null +++ b/tests/integration/auth-integration.test.tsx @@ -0,0 +1,304 @@ +/** + * Tests d'intégration pour l'authentification Keycloak + * Vérifie que l'intégration fonctionne correctement avec l'application existante + */ + +import React from 'react'; +import { render, screen, waitFor, fireEvent } from '@testing-library/react'; +import { useRouter } from 'next/navigation'; +import { AuthProvider, useAuth } from '../../contexts/AuthContext'; +import ProtectedRoute from '../../components/auth/ProtectedRoute'; +import ProtectedLayout from '../../components/ProtectedLayout'; + +// Mock Next.js router +jest.mock('next/navigation', () => ({ + useRouter: jest.fn(), + useSearchParams: jest.fn(() => ({ + get: jest.fn(() => null) + })) +})); + +// Mock Keycloak +const mockKeycloak = { + init: jest.fn(() => Promise.resolve(false)), + login: jest.fn(), + logout: jest.fn(), + updateToken: jest.fn(() => Promise.resolve(false)), + authenticated: false, + token: null, + refreshToken: null, + tokenParsed: null, + onTokenExpired: null, + onAuthRefreshSuccess: null, + onAuthRefreshError: null, + onAuthLogout: null, +}; + +jest.mock('../../config/keycloak', () => ({ + keycloak: mockKeycloak, + keycloakInitOptions: {}, + KEYCLOAK_TIMEOUTS: { + TOKEN_REFRESH_BEFORE_EXPIRY: 30, + SESSION_CHECK_INTERVAL: 60, + SILENT_CHECK_SSO_TIMEOUT: 5000, + }, + RoleUtils: { + hasRole: jest.fn(() => false), + hasPermission: jest.fn(() => false), + hasAnyRole: jest.fn(() => false), + getHighestRole: jest.fn(() => 'USER'), + } +})); + +// Mock PrimeReact components +jest.mock('primereact/api', () => ({ + PrimeReactProvider: ({ children }: { children: React.ReactNode }) =>
    {children}
    +})); + +// Mock Layout components +jest.mock('../../layout/context/layoutcontext', () => ({ + LayoutProvider: ({ children }: { children: React.ReactNode }) =>
    {children}
    +})); + +const mockPush = jest.fn(); +const mockBack = jest.fn(); + +beforeEach(() => { + jest.clearAllMocks(); + (useRouter as jest.Mock).mockReturnValue({ + push: mockPush, + back: mockBack, + pathname: '/dashboard', + query: {}, + }); +}); + +// Composant de test pour vérifier l'authentification +const TestAuthComponent = () => { + const { isAuthenticated, isLoading, user, login, logout } = useAuth(); + + if (isLoading) { + return
    Chargement...
    ; + } + + return ( +
    +
    + {isAuthenticated ? 'Authentifié' : 'Non authentifié'} +
    + {user && ( +
    + {user.username} - {user.email} +
    + )} + + +
    + ); +}; + +// Composant de test pour vérifier la protection des routes +const TestProtectedComponent = () => { + return
    Contenu protégé
    ; +}; + +describe('Intégration Authentification Keycloak', () => { + describe('AuthProvider', () => { + it('devrait initialiser Keycloak au montage', async () => { + render( + + + + ); + + await waitFor(() => { + expect(mockKeycloak.init).toHaveBeenCalledWith(expect.any(Object)); + }); + }); + + it('devrait afficher le statut de chargement initial', () => { + render( + + + + ); + + expect(screen.getByTestId('loading')).toBeInTheDocument(); + }); + + it('devrait afficher le statut non authentifié après initialisation', async () => { + mockKeycloak.authenticated = false; + + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('auth-status')).toHaveTextContent('Non authentifié'); + }); + }); + + it('devrait appeler keycloak.login lors du clic sur connexion', async () => { + mockKeycloak.authenticated = false; + + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('login-btn')).toBeInTheDocument(); + }); + + fireEvent.click(screen.getByTestId('login-btn')); + expect(mockKeycloak.login).toHaveBeenCalled(); + }); + }); + + describe('ProtectedRoute', () => { + it('devrait rediriger vers login si non authentifié', async () => { + mockKeycloak.authenticated = false; + + render( + + + + + + ); + + await waitFor(() => { + expect(mockPush).toHaveBeenCalledWith(expect.stringContaining('/auth/login')); + }); + }); + + it('devrait afficher le contenu si authentifié', async () => { + mockKeycloak.authenticated = true; + mockKeycloak.tokenParsed = { + preferred_username: 'testuser', + email: 'test@example.com', + realm_access: { roles: ['USER'] } + }; + + render( + + + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('protected-content')).toBeInTheDocument(); + }); + }); + + it('devrait rediriger vers forbidden si rôle insuffisant', async () => { + mockKeycloak.authenticated = true; + mockKeycloak.tokenParsed = { + preferred_username: 'testuser', + email: 'test@example.com', + realm_access: { roles: ['USER'] } + }; + + render( + + + + + + ); + + await waitFor(() => { + expect(mockPush).toHaveBeenCalledWith('/auth/forbidden'); + }); + }); + }); + + describe('ProtectedLayout', () => { + it('devrait protéger le layout principal', async () => { + mockKeycloak.authenticated = false; + + render( + + +
    Contenu du layout
    +
    +
    + ); + + await waitFor(() => { + expect(mockPush).toHaveBeenCalledWith(expect.stringContaining('/auth/login')); + }); + }); + + it('devrait afficher le contenu du layout si authentifié', async () => { + mockKeycloak.authenticated = true; + mockKeycloak.tokenParsed = { + preferred_username: 'testuser', + email: 'test@example.com', + realm_access: { roles: ['USER'] } + }; + + render( + + +
    Contenu du layout
    +
    +
    + ); + + await waitFor(() => { + expect(screen.getByTestId('layout-content')).toBeInTheDocument(); + }); + }); + }); + + describe('Gestion des erreurs', () => { + it('devrait gérer les erreurs d\'initialisation Keycloak', async () => { + mockKeycloak.init.mockRejectedValueOnce(new Error('Erreur Keycloak')); + + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('auth-status')).toHaveTextContent('Non authentifié'); + }); + }); + + it('devrait gérer les erreurs de rafraîchissement de token', async () => { + mockKeycloak.authenticated = true; + mockKeycloak.updateToken.mockRejectedValueOnce(new Error('Token expiré')); + + render( + + + + ); + + await waitFor(() => { + expect(mockKeycloak.logout).toHaveBeenCalled(); + }); + }); + }); +}); + +describe('Intégration avec les services API', () => { + it('devrait ajouter le token Keycloak aux requêtes API', async () => { + // Ce test nécessiterait de mocker axios et de vérifier que les interceptors + // ajoutent correctement le token Keycloak aux en-têtes + // Pour l'instant, nous vérifions juste que les services sont importables + const { ApiService } = await import('../../services/ApiService'); + expect(ApiService).toBeDefined(); + }); +}); diff --git a/tests/manual/auth-integration-checklist.md b/tests/manual/auth-integration-checklist.md new file mode 100644 index 0000000..7af91e1 --- /dev/null +++ b/tests/manual/auth-integration-checklist.md @@ -0,0 +1,168 @@ +# Checklist de Tests d'Intégration Keycloak + +## 🔧 Prérequis +- [ ] Keycloak est démarré sur `https://security.lions.dev` +- [ ] Le realm `btpxpress` est configuré +- [ ] Les clients `btpxpress-frontend` et `btpxpress-backend` sont créés +- [ ] L'application frontend est démarrée sur `http://localhost:3000` +- [ ] L'application backend est démarrée sur `http://localhost:8080` + +## 🚀 Tests d'Authentification + +### 1. Accès Initial +- [ ] Aller sur `http://localhost:3000` +- [ ] Vérifier que la page d'accueil s'affiche (page publique) +- [ ] Cliquer sur un lien vers une page protégée (ex: Dashboard) +- [ ] Vérifier la redirection vers `/auth/login` + +### 2. Page de Connexion +- [ ] Vérifier que la page de connexion s'affiche correctement +- [ ] Vérifier le bouton "Se connecter avec Keycloak" +- [ ] Cliquer sur le bouton de connexion +- [ ] Vérifier la redirection vers Keycloak + +### 3. Authentification Keycloak +- [ ] Vérifier que la page de connexion Keycloak s'affiche +- [ ] Se connecter avec un utilisateur valide +- [ ] Vérifier la redirection vers l'application +- [ ] Vérifier l'affichage du dashboard ou de la page demandée + +### 4. État Authentifié +- [ ] Vérifier que le menu utilisateur affiche les informations correctes +- [ ] Vérifier que le nom d'utilisateur est affiché +- [ ] Vérifier que l'email est affiché +- [ ] Vérifier que le rôle est affiché + +## 🔒 Tests d'Autorisation + +### 5. Protection des Routes +- [ ] Accéder à `/dashboard` - doit être accessible si authentifié +- [ ] Accéder à `/chantiers` - doit être accessible si authentifié +- [ ] Accéder à `/admin/utilisateurs` - doit être accessible seulement pour ADMIN/SUPER_ADMIN +- [ ] Accéder à `/admin/roles` - doit être accessible seulement pour ADMIN/SUPER_ADMIN + +### 6. Gestion des Rôles +- [ ] Se connecter avec un utilisateur USER +- [ ] Essayer d'accéder à `/admin/utilisateurs` +- [ ] Vérifier la redirection vers `/auth/forbidden` +- [ ] Vérifier l'affichage de la page d'accès interdit + +### 7. Menu Dynamique +- [ ] Vérifier que le menu affiche seulement les éléments autorisés +- [ ] Se connecter avec différents rôles et vérifier les menus +- [ ] Vérifier que les éléments admin ne s'affichent que pour les admins + +## 🔄 Tests de Session + +### 8. Rafraîchissement de Token +- [ ] Rester connecté pendant plus de 5 minutes +- [ ] Effectuer une action (ex: naviguer vers une nouvelle page) +- [ ] Vérifier que le token est rafraîchi automatiquement +- [ ] Vérifier qu'aucune déconnexion forcée n'a lieu + +### 9. Expiration de Session +- [ ] Laisser la session expirer (configurer un timeout court si nécessaire) +- [ ] Essayer d'effectuer une action +- [ ] Vérifier la redirection vers la page de connexion + +### 10. Déconnexion +- [ ] Cliquer sur "Se déconnecter" dans le menu utilisateur +- [ ] Vérifier la redirection vers `/auth/logout` +- [ ] Vérifier l'affichage de la page de déconnexion +- [ ] Vérifier la redirection automatique vers l'accueil +- [ ] Essayer d'accéder à une page protégée +- [ ] Vérifier la redirection vers la connexion + +## 🌐 Tests API + +### 11. Intégration Backend +- [ ] Ouvrir les outils de développement (F12) +- [ ] Aller dans l'onglet Network +- [ ] Effectuer une action qui appelle l'API (ex: charger la liste des chantiers) +- [ ] Vérifier que les requêtes contiennent l'en-tête `Authorization: Bearer ` +- [ ] Vérifier que les réponses sont correctes (200 OK) + +### 12. Gestion des Erreurs API +- [ ] Simuler une erreur 401 (token expiré) +- [ ] Vérifier que l'application tente de rafraîchir le token +- [ ] Si le rafraîchissement échoue, vérifier la redirection vers la connexion + +## 🔧 Tests de Compatibilité + +### 13. Rétrocompatibilité +- [ ] Vérifier que l'ancien système JWT ne cause pas d'erreurs +- [ ] Vérifier que les anciens tokens sont ignorés +- [ ] Vérifier que le nettoyage des anciens tokens fonctionne + +### 14. Navigation +- [ ] Tester la navigation entre les pages +- [ ] Vérifier que l'état d'authentification est maintenu +- [ ] Tester le bouton "Retour" du navigateur +- [ ] Tester le rafraîchissement de page (F5) + +## 🚨 Tests d'Erreur + +### 15. Keycloak Indisponible +- [ ] Arrêter Keycloak temporairement +- [ ] Essayer de se connecter +- [ ] Vérifier l'affichage d'un message d'erreur approprié + +### 16. Configuration Incorrecte +- [ ] Modifier temporairement la configuration Keycloak (mauvais realm) +- [ ] Vérifier la gestion des erreurs de configuration +- [ ] Restaurer la configuration correcte + +## 📱 Tests Multi-Navigateurs + +### 17. Compatibilité Navigateurs +- [ ] Tester sur Chrome +- [ ] Tester sur Firefox +- [ ] Tester sur Safari (si disponible) +- [ ] Tester sur Edge + +### 18. Mode Incognito +- [ ] Tester l'authentification en mode incognito +- [ ] Vérifier que la session ne persiste pas après fermeture + +## ✅ Validation Finale + +### 19. Workflow Complet +- [ ] Effectuer un workflow complet : connexion → navigation → actions → déconnexion +- [ ] Vérifier qu'aucune erreur n'apparaît dans la console +- [ ] Vérifier que les performances sont acceptables + +### 20. Documentation +- [ ] Vérifier que la documentation est à jour +- [ ] Vérifier que les variables d'environnement sont documentées +- [ ] Vérifier que les instructions de déploiement sont correctes + +## 📊 Résultats + +| Test | Statut | Notes | +|------|--------|-------| +| Accès Initial | ⏳ | | +| Page de Connexion | ⏳ | | +| Authentification Keycloak | ⏳ | | +| État Authentifié | ⏳ | | +| Protection des Routes | ⏳ | | +| Gestion des Rôles | ⏳ | | +| Menu Dynamique | ⏳ | | +| Rafraîchissement de Token | ⏳ | | +| Expiration de Session | ⏳ | | +| Déconnexion | ⏳ | | +| Intégration Backend | ⏳ | | +| Gestion des Erreurs API | ⏳ | | +| Rétrocompatibilité | ⏳ | | +| Navigation | ⏳ | | +| Keycloak Indisponible | ⏳ | | +| Configuration Incorrecte | ⏳ | | +| Compatibilité Navigateurs | ⏳ | | +| Mode Incognito | ⏳ | | +| Workflow Complet | ⏳ | | +| Documentation | ⏳ | | + +**Légende :** +- ✅ Réussi +- ❌ Échec +- ⏳ En attente +- ⚠️ Attention requise diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..b400f20 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,41 @@ +{ + "compilerOptions": { + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": [ + "./*" + ] + }, + "target": "ES2017" + }, + "include": [ + "next-env.d.ts", + ".next/types/**/*.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/types/auth.ts b/types/auth.ts new file mode 100644 index 0000000..a0740fd --- /dev/null +++ b/types/auth.ts @@ -0,0 +1,211 @@ +/** + * Types d'authentification pour BTP Xpress + * Synchronisé avec le backend Java et Keycloak + */ + +// Énumération des rôles utilisateur (synchronisée avec UserRole.java) +export enum UserRole { + ADMIN = 'ADMIN', + MANAGER = 'MANAGER', + CHEF_CHANTIER = 'CHEF_CHANTIER', + OUVRIER = 'OUVRIER', + COMPTABLE = 'COMPTABLE', + GESTIONNAIRE_PROJET = 'GESTIONNAIRE_PROJET', + CLIENT = 'CLIENT' +} + +// Statut utilisateur (synchronisé avec UserStatus.java) +export enum UserStatus { + PENDING = 'PENDING', + APPROVED = 'APPROVED', + REJECTED = 'REJECTED', + SUSPENDED = 'SUSPENDED', + ACTIVE = 'ACTIVE', + INACTIVE = 'INACTIVE' +} + +// Interface utilisateur complète +export interface User { + id: string; + email: string; + nom: string; + prenom: string; + username: string; + firstName?: string; + lastName?: string; + fullName?: string; + role: UserRole; + roles: string[]; + permissions: string[]; + highestRole?: string; + actif: boolean; + status: UserStatus; + telephone?: string; + adresse?: string; + codePostal?: string; + ville?: string; + entreprise?: string; + siret?: string; + secteurActivite?: string; + effectif?: number; + commentaireAdmin?: string; + dateCreation: Date; + dateModification: Date; + derniereConnexion?: Date; + + // Propriétés calculées pour la compatibilité + isAdmin: boolean; + isManager: boolean; + isEmployee: boolean; + isClient: boolean; +} + +// Interface pour les informations utilisateur simplifiées (AuthContext) +export interface UserInfo { + id: string; + username: string; + email: string; + firstName?: string; + lastName?: string; + fullName?: string; + roles: string[]; + permissions: string[]; + highestRole?: string; + isAdmin: boolean; + isManager: boolean; + isEmployee: boolean; + isClient: boolean; +} + +// État d'authentification +export interface AuthState { + isAuthenticated: boolean; + isLoading: boolean; + user: UserInfo | null; + token: string | null; + refreshToken: string | null; + error: string | null; +} + +// Contexte d'authentification +export interface AuthContextType extends AuthState { + login: () => Promise; + logout: () => Promise; + refreshAuth: () => Promise; + hasRole: (role: string) => boolean; + hasAnyRole: (roles: string[]) => boolean; + hasPermission: (permission: string) => boolean; + isRoleHigher: (role: string) => boolean; + updateToken: (minValidity?: number) => Promise; +} + +// Permissions système +export interface Permission { + id: string; + name: string; + description: string; + resource: string; + action: string; +} + +// Données de connexion +export interface LoginCredentials { + email: string; + password: string; +} + +// Réponse d'authentification +export interface AuthResponse { + user: UserInfo; + token: string; + refreshToken: string; + expiresIn: number; +} + +// Données d'inscription +export interface RegisterData { + email: string; + nom: string; + prenom: string; + password: string; + telephone?: string; + adresse?: string; + codePostal?: string; + ville?: string; + entreprise?: string; + siret?: string; + secteurActivite?: string; + effectif?: number; +} + +// Données de profil utilisateur +export interface UserProfile { + id: string; + email: string; + nom: string; + prenom: string; + telephone?: string; + adresse?: string; + codePostal?: string; + ville?: string; + entreprise?: string; + siret?: string; + secteurActivite?: string; + effectif?: number; +} + +// Changement de mot de passe +export interface PasswordChangeData { + currentPassword: string; + newPassword: string; + confirmPassword: string; +} + +// Reset de mot de passe +export interface PasswordResetData { + email: string; +} + +export interface PasswordResetConfirmData { + token: string; + newPassword: string; + confirmPassword: string; +} + +// Utilitaires de rôles +export const RoleHierarchy: Record = { + [UserRole.ADMIN]: 1, + [UserRole.MANAGER]: 2, + [UserRole.GESTIONNAIRE_PROJET]: 3, + [UserRole.CHEF_CHANTIER]: 4, + [UserRole.COMPTABLE]: 4, + [UserRole.OUVRIER]: 5, + [UserRole.CLIENT]: 6 +}; + +export const RoleDisplayNames: Record = { + [UserRole.ADMIN]: 'Administrateur', + [UserRole.MANAGER]: 'Manager', + [UserRole.GESTIONNAIRE_PROJET]: 'Gestionnaire de projet', + [UserRole.CHEF_CHANTIER]: 'Chef de chantier', + [UserRole.COMPTABLE]: 'Comptable', + [UserRole.OUVRIER]: 'Ouvrier', + [UserRole.CLIENT]: 'Client' +}; + +// Fonctions utilitaires +export const isRoleHigher = (role1: UserRole, role2: UserRole): boolean => { + return RoleHierarchy[role1] < RoleHierarchy[role2]; +}; + +export const isManagementRole = (role: UserRole): boolean => { + return [UserRole.ADMIN, UserRole.MANAGER, UserRole.GESTIONNAIRE_PROJET].includes(role); +}; + +export const isFieldRole = (role: UserRole): boolean => { + return [UserRole.CHEF_CHANTIER, UserRole.OUVRIER].includes(role); +}; + +export const isAdministrativeRole = (role: UserRole): boolean => { + return [UserRole.ADMIN, UserRole.COMPTABLE].includes(role); +}; diff --git a/types/btp-extended.ts b/types/btp-extended.ts new file mode 100644 index 0000000..0bac2d5 --- /dev/null +++ b/types/btp-extended.ts @@ -0,0 +1,561 @@ +/** + * Types TypeScript étendus pour les entités BTP + * Version complète avec toutes les nouvelles fonctionnalités + */ + +// Énumérations communes +export type TypeFournisseur = 'MATERIEL' | 'SERVICE' | 'SOUS_TRAITANT' | 'LOCATION' | 'TRANSPORT' | 'CONSOMMABLE'; +export type StatutCommande = 'BROUILLON' | 'ENVOYEE' | 'CONFIRMEE' | 'PARTIELLEMENT_LIVREE' | 'LIVREE' | 'FACTUREE' | 'ANNULEE'; +export type StatutLivraison = 'PROGRAMMEE' | 'EN_COURS' | 'LIVREE' | 'RECEPTIONNEE' | 'REFUSEE'; +export type StatutPhase = 'PLANIFIEE' | 'EN_ATTENTE' | 'EN_COURS' | 'EN_PAUSE' | 'TERMINEE' | 'ANNULEE' | 'EN_RETARD'; +export type StatutSituation = 'BROUILLON' | 'ETABLIE' | 'ENVOYEE' | 'VALIDEE' | 'FACTUREE' | 'PAYEE' | 'CONTESTEE' | 'ANNULEE'; +export type TypeDocument = 'PLAN' | 'PERMIS' | 'DEVIS' | 'FACTURE' | 'CONTRAT' | 'PHOTO_CHANTIER' | 'RAPPORT_VISITE' | 'PV_RECEPTION' | 'FICHE_TECHNIQUE' | 'CERTIFICAT' | 'ASSURANCE' | 'MANUEL' | 'GARANTIE' | 'COMPTE_RENDU' | 'EMAIL' | 'COURRIER' | 'BON_LIVRAISON' | 'BON_COMMANDE' | 'AUTRE'; +export type TypeMouvement = 'ENTREE_ACHAT' | 'ENTREE_RETOUR' | 'ENTREE_CORRECTION' | 'ENTREE_TRANSFERT' | 'SORTIE_CHANTIER' | 'SORTIE_VENTE' | 'SORTIE_PERTE' | 'SORTIE_CORRECTION' | 'SORTIE_TRANSFERT' | 'INVENTAIRE'; +export type TypeAlerte = 'STOCK_MINIMUM' | 'STOCK_ZERO' | 'STOCK_NEGATIF' | 'PEREMPTION_PROCHE' | 'PEREMPTION_DEPASSEE' | 'CONSOMMATION_ANORMALE' | 'IMMOBILISATION_LONGUE'; +export type NiveauSeverite = 'INFO' | 'WARNING' | 'CRITICAL' | 'URGENT'; +export type TypeJalon = 'DEBUT_PHASE' | 'FIN_PHASE' | 'LIVRAISON' | 'VALIDATION_CLIENT' | 'CONTROLE_QUALITE' | 'RECEPTION_TRAVAUX' | 'PAIEMENT' | 'AUTORISATION' | 'FORMATION' | 'AUTRE'; +export type StatutJalon = 'PLANIFIE' | 'EN_COURS' | 'ATTEINT' | 'EN_RETARD' | 'REPORTE' | 'ANNULE'; +export type TypePointage = 'TRAVAIL' | 'DEPLACEMENT' | 'FORMATION' | 'REUNION' | 'MAINTENANCE' | 'ARRET_TECHNIQUE' | 'INTEMPERIES' | 'AUTRE'; + +// Interfaces pour la gestion des fournisseurs +export interface Fournisseur { + id?: number; + nom: string; + siret?: string; + numeroTva?: string; + email?: string; + telephone?: string; + fax?: string; + adresse?: string; + codePostal?: string; + ville?: string; + pays?: string; + contactPrincipal?: string; + type: TypeFournisseur; + notes?: string; + actif?: boolean; + delaiPaiementJours?: number; + conditionsPaiement?: string; + dateCreation?: Date; + dateModification?: Date; + nombreCommandes?: number; + nombreArticlesCatalogue?: number; +} + +export interface CommandeFournisseur { + id?: number; + numeroCommande: string; + fournisseur: Fournisseur; + chantier?: any; // Import du type Chantier existant + dateCommande: Date; + dateLivraisonPrevue?: Date; + dateLivraisonReelle?: Date; + statut: StatutCommande; + montantHT: number; + montantTVA: number; + montantTTC: number; + adresseLivraison?: string; + notes?: string; + referenceFournisseur?: string; + dateCreation?: Date; + dateModification?: Date; + lignes?: LigneCommandeFournisseur[]; + livraisons?: LivraisonFournisseur[]; +} + +export interface LigneCommandeFournisseur { + id?: number; + commandeFournisseur: CommandeFournisseur; + materiel?: any; // Import du type Materiel existant + designation: string; + reference?: string; + quantite: number; + unite: string; + prixUnitaireHT: number; + tauxTVA: number; + quantiteLivree?: number; + notes?: string; + montantHT?: number; + montantTVA?: number; + montantTTC?: number; +} + +export interface LivraisonFournisseur { + id?: number; + numeroLivraison: string; + commandeFournisseur: CommandeFournisseur; + dateLivraison: Date; + nomLivreur?: string; + numeroBonLivraison?: string; + adresseLivraison?: string; + statut: StatutLivraison; + notes?: string; + receptionneePar?: string; + dateReception?: Date; + conforme?: boolean; + notesReception?: string; + dateCreation?: Date; + dateModification?: Date; + lignes?: LigneLivraisonFournisseur[]; +} + +export interface LigneLivraisonFournisseur { + id?: number; + livraisonFournisseur: LivraisonFournisseur; + ligneCommande: LigneCommandeFournisseur; + quantiteLivree: number; + quantiteAcceptee?: number; + quantiteRefusee?: number; + motifRefus?: string; + notes?: string; +} + +export interface CatalogueItem { + id?: number; + fournisseur: Fournisseur; + materiel?: any; // Import du type Materiel existant + designation: string; + referenceFournisseur?: string; + codeEAN?: string; + description?: string; + unite: string; + prixUnitaireHT?: number; + tauxTVA?: number; + delaiLivraisonJours?: number; + quantiteMinimumCommande?: number; + conditionnement?: number; + marque?: string; + modele?: string; + urlFicheTechnique?: string; + actif?: boolean; + derniereMiseAJourPrix?: Date; + dateCreation?: Date; + dateModification?: Date; + categories?: string[]; +} + +// Interfaces pour la gestion des phases de chantier +export interface PhaseChantier { + id?: string; + nom: string; + description?: string; + chantier?: any; // Import du type Chantier existant + chantierId?: string; + phaseParent?: string; // ID de la phase parent + sousPhases?: PhaseChantier[]; + ordreExecution: number; + dateDebutPrevue: string; // ISO string format + dateFinPrevue: string; // ISO string format + dateDebutReelle?: string; + dateFinReelle?: string; + statut: StatutPhase; + pourcentageAvancement?: number; + budgetPrevu?: number; + coutReel?: number; + responsable?: any; // Import du type Employe existant + equipes?: any[]; // Import du type Equipe existant + prerequis?: string; + livrables?: string; + risques?: string; + notes?: string; + critique?: boolean; + dateCreation?: string; // ISO string format + dateModification?: string; // ISO string format + actif?: boolean; + // Propriétés étendues pour la création de phases + dureeEstimeeHeures?: number; + priorite?: string; // ou enum selon votre système + prerequisPhases?: string[]; // Liste des IDs des phases prérequises + competencesRequises?: string[]; + materielsNecessaires?: string[]; + fournisseursRecommandes?: string[]; + jalons?: JalonPhase[]; + pointages?: PointagePhase[]; + // Nouveaux champs pour la gestion avancée des coûts et matériels + materielsRequis?: MaterielPhase[]; + fournisseursAssocies?: FournisseurPhase[]; + coutMateriau?: number; + coutMainOeuvre?: number; + coutSousTraitance?: number; + coutAutres?: number; + margePrevieweBrute?: number; + margePrevueNette?: number; + margeReelle?: number; + tauxMarge?: number; + prixVenteUnitaire?: number; + quantitePrevue?: number; + quantiteReelle?: number; + unite?: string; +} + +export interface JalonPhase { + id?: number; + nom: string; + description?: string; + phase: PhaseChantier; + typeJalon: TypeJalon; + datePrevue: Date; + dateReelle?: Date; + statut: StatutJalon; + critique?: boolean; + responsable?: string; + livrablesRequis?: string; + criteresValidation?: string; + notesValidation?: string; + validePar?: string; + dateValidation?: Date; + notes?: string; + dateCreation?: Date; + dateModification?: Date; +} + +export interface PointagePhase { + id?: number; + phase: PhaseChantier; + employe: any; // Import du type Employe existant + date: Date; + heureDebut?: string; + heureFin?: string; + heuresTravaillees?: number; + heuresSupplementaires?: number; + typePointage: TypePointage; + description?: string; + tauxHoraire?: number; + coutTotal?: number; + valide?: boolean; + validePar?: string; + dateValidation?: Date; + facture?: boolean; + factureAssociee?: any; // Import du type Facture existant + notes?: string; + dateCreation?: Date; +} + +// Interfaces pour la gestion avancée des matériels et fournisseurs de phases +export interface MaterielPhase { + id?: number; + phase: PhaseChantier; + materiel?: any; // Import du type Materiel existant + designation: string; + reference?: string; + quantitePrevue: number; + quantiteUtilisee?: number; + unite: string; + prixUnitaireCatalogue?: number; + prixUnitaireNegocie?: number; + coutTotal?: number; + fournisseurPrincipal?: Fournisseur; + fournisseursAlternatifs?: FournisseurPhase[]; + delaiLivraison?: number; + enStock?: boolean; + quantiteStock?: number; + seuilCritique?: number; + categorie?: string; + specifications?: string; + dateCreation?: Date; + dateModification?: Date; +} + +export interface FournisseurPhase { + id?: number; + phase: PhaseChantier; + fournisseur: Fournisseur; + materielPhase?: MaterielPhase; + typeContribution: 'MATERIEL' | 'SERVICE' | 'SOUS_TRAITANCE' | 'LOCATION' | 'TRANSPORT'; + prixCatalogue?: number; + prixNegocie?: number; + remise?: number; + tauxRemise?: number; + delaiLivraison?: number; + conditionsPaiement?: string; + garantie?: string; + notes?: string; + priorite?: number; // 1 = principal, 2 = alternatif, etc. + valide?: boolean; + dateNegociation?: Date; + validePar?: string; + dateCreation?: Date; + dateModification?: Date; +} + +export interface AnalysePrixPhase { + id?: number; + phase: PhaseChantier; + coutMateriauxTotal: number; + coutMainOeuvreTotal: number; + coutSousTraitanceTotal: number; + coutAutresTotal: number; + coutTotalDirect: number; + fraisGeneraux?: number; + tauxFraisGeneraux?: number; + coutTotalAvecFrais: number; + margeObjectif?: number; + tauxMargeObjectif?: number; + prixVenteCalcule: number; + prixVentePropose?: number; + prixVenteAccepte?: number; + rentabilitePrevisionnelle?: number; + rentabiliteReelle?: number; + dateAnalyse?: Date; + analysePar?: string; + validee?: boolean; + dateValidation?: Date; + validePar?: string; + commentaires?: string; +} + +// Interfaces pour la gestion financière avancée +export interface SituationTravaux { + id?: number; + numeroSituation: string; + chantier: any; // Import du type Chantier existant + periodeDebut: Date; + periodeFin: Date; + dateEtablissement: Date; + dateEnvoi?: Date; + dateValidationClient?: Date; + statut: StatutSituation; + montantHTTravaux?: number; + montantRevisions?: number; + montantAvenants?: number; + montantTotalHT?: number; + montantTVA?: number; + montantTTC?: number; + tauxRetenueGarantie?: number; + montantRetenueGarantie?: number; + montantAcomptesPrecedents?: number; + montantNetAPayer?: number; + pourcentageAvancement?: number; + observations?: string; + etabliPar?: string; + valideParClient?: string; + delaiPaiementJours?: number; + dateEcheancePaiement?: Date; + dateCreation?: Date; + dateModification?: Date; + lignes?: LigneSituationTravaux[]; + factureGeneree?: any; // Import du type Facture existant +} + +export interface LigneSituationTravaux { + id?: number; + situationTravaux: SituationTravaux; + ligneDevis?: any; // Import du type LigneDevis existant + designation: string; + quantitePrevue?: number; + quantiteRealisee?: number; + quantitePrecedente?: number; + quantitePeriode?: number; + unite: string; + prixUnitaireHT: number; + tauxTVA: number; + pourcentageAvancement?: number; + observations?: string; + montantHT?: number; + montantTVA?: number; + montantTTC?: number; + montantHTPrecedent?: number; + montantHTPeriode?: number; +} + +// Interfaces pour la gestion du stock avancée +export interface MouvementStock { + id?: number; + materiel: any; // Import du type Materiel existant + typeMouvement: TypeMouvement; + quantite: number; + prixUnitaire?: number; + chantier?: any; // Import du type Chantier existant + employe?: any; // Import du type Employe existant + fournisseur?: Fournisseur; + commandeFournisseur?: CommandeFournisseur; + referenceDocument?: string; + emplacement?: string; + motif?: string; + utilisateur: string; + stockAvant?: number; + stockApres?: number; + valeurMouvement?: number; + dateMouvement?: Date; + annule?: boolean; + dateAnnulation?: Date; + annulePar?: string; + motifAnnulation?: string; +} + +export interface AlerteStock { + id?: number; + materiel: any; // Import du type Materiel existant + typeAlerte: TypeAlerte; + niveauSeverite: NiveauSeverite; + message: string; + quantiteActuelle?: number; + seuil?: number; + active?: boolean; + acquittee?: boolean; + dateAcquittement?: Date; + acquitteePar?: string; + actionsEntreprises?: string; + dateCreation?: Date; + dateModification?: Date; + dateDerniereNotification?: Date; + nombreNotifications?: number; +} + +// Interfaces pour la gestion documentaire +export interface Document { + id?: number; + nom: string; + description?: string; + typeDocument: TypeDocument; + cheminFichier: string; + nomFichier: string; + typeMime?: string; + tailleFichier?: number; + version?: number; + numeroVersion?: string; + estVersionCourante?: boolean; + chantier?: any; // Import du type Chantier existant + client?: any; // Import du type Client existant + fournisseur?: Fournisseur; + employe?: any; // Import du type Employe existant + documentParent?: Document; + versions?: Document[]; + confidentiel?: boolean; + dateExpiration?: Date; + motsCles?: string; + checksum?: string; + dateCreation?: Date; + dateModification?: Date; + creePar?: string; + modifiePar?: string; +} + +// Interfaces pour les libellés et options +export interface TypeFournisseurOption { + value: TypeFournisseur; + label: string; +} + +export interface StatutOption { + value: string; + label: string; + color?: string; +} + +// Constantes pour les libellés +export const TYPE_FOURNISSEUR_LABELS: Record = { + MATERIEL: 'Matériel', + SERVICE: 'Service', + SOUS_TRAITANT: 'Sous-traitant', + LOCATION: 'Location', + TRANSPORT: 'Transport', + CONSOMMABLE: 'Consommable' +}; + +export const STATUT_COMMANDE_LABELS: Record = { + BROUILLON: 'Brouillon', + ENVOYEE: 'Envoyée', + CONFIRMEE: 'Confirmée', + PARTIELLEMENT_LIVREE: 'Partiellement livrée', + LIVREE: 'Livrée', + FACTUREE: 'Facturée', + ANNULEE: 'Annulée' +}; + +export const STATUT_PHASE_LABELS: Record = { + PLANIFIEE: 'Planifiée', + EN_ATTENTE: 'En attente', + EN_COURS: 'En cours', + EN_PAUSE: 'En pause', + TERMINEE: 'Terminée', + ANNULEE: 'Annulée', + EN_RETARD: 'En retard' +}; + +export const NIVEAU_SEVERITE_LABELS: Record = { + INFO: 'Information', + WARNING: 'Attention', + CRITICAL: 'Critique', + URGENT: 'Urgent' +}; + +export const NIVEAU_SEVERITE_COLORS: Record = { + INFO: '#17a2b8', + WARNING: '#ffc107', + CRITICAL: '#dc3545', + URGENT: '#dc3545' +}; + +// Types pour les réponses API +export interface ApiResponse { + data: T; + message?: string; + errors?: string[]; +} + +export interface PaginatedResponse { + data: T[]; + total: number; + page: number; + size: number; + totalPages: number; +} + +// Types pour les formulaires +export interface FournisseurFormData extends Omit {} + +export interface CommandeFournisseurFormData extends Omit {} + +export interface PhaseChantierFormData extends Omit { + chantierId?: string; + phaseParentId?: string; +} + +// Alias for compatibility +export interface PhaseFormData extends PhaseChantierFormData {} + +// Types pour les filtres et recherches +export interface FournisseurFilters { + nom?: string; + type?: TypeFournisseur; + ville?: string; + actif?: boolean; +} + +export interface CommandeFilters { + numeroCommande?: string; + fournisseurId?: number; + chantierId?: number; + statut?: StatutCommande; + dateDebutCommande?: Date; + dateFinCommande?: Date; +} + +export interface PhaseFilters { + chantierId?: number; + statut?: StatutPhase; + responsableId?: number; + critique?: boolean; + enRetard?: boolean; +} + +// Types pour les statistiques et tableaux de bord +export interface StatistiquesFournisseur { + totalFournisseurs: number; + fournisseursActifs: number; + repartitionParType: Record; + totalCommandes: number; + montantTotalCommandes: number; +} + +export interface StatistiquesChantier { + totalPhases: number; + phasesEnCours: number; + phasesEnRetard: number; + phasesTerminees: number; + avancementMoyen: number; + budgetTotal: number; + coutReel: number; + ecartBudget: number; +} \ No newline at end of file diff --git a/types/btp.ts b/types/btp.ts new file mode 100644 index 0000000..aa03861 --- /dev/null +++ b/types/btp.ts @@ -0,0 +1,530 @@ +/** + * Types TypeScript pour les entités BTP + */ + +export interface Client { + id: string; + nom: string; + prenom: string; + entreprise?: string; + email?: string; + telephone?: string; + adresse?: string; + codePostal?: string; + ville?: string; + numeroTVA?: string; + siret?: string; + dateCreation: string; + dateModification: string; + actif: boolean; + nomComplet?: string; + adresseComplete?: string; + // Relations pour la gestion de projet + gestionnairePrincipalId?: string; // ID du gestionnaire principal + gestionnairesSecondaires?: string[]; // IDs des gestionnaires secondaires + compteClientId?: string; // ID du compte utilisateur CLIENT associé +} + +export interface Chantier { + id: string; + nom: string; + description?: string; + adresse: string; + codePostal?: string; + ville?: string; + dateDebut: string; + dateFinPrevue?: string; + dateFinReelle?: string; + statut: StatutChantier; + montantPrevu?: number; + montantReel?: number; + dateCreation: string; + dateModification: string; + actif: boolean; + client: Client; + devis?: Devis[]; + factures?: Facture[]; + // Nouveaux champs pour la gestion avancée + typeChantier?: string; // TypeChantier depuis chantier-templates.ts + surface?: number; + nombreNiveaux?: number; + dureeEstimeeJours?: number; + complexite?: 'SIMPLE' | 'MOYEN' | 'COMPLEXE' | 'TRES_COMPLEXE'; + specificites?: string[]; + reglementationsApplicables?: string[]; + phasesAutoGenerees?: boolean; +} + +export interface Devis { + id: string; + numero: string; + objet: string; + description?: string; + dateEmission: string; + dateValidite: string; + statut: StatutDevis; + montantHT?: number; + tauxTVA: number; + montantTVA?: number; + montantTTC?: number; + conditionsPaiement?: string; + delaiExecution?: number; + dateCreation: string; + dateModification: string; + actif: boolean; + client: Client; + chantier?: Chantier; + lignes?: LigneDevis[]; +} + +export interface LigneDevis { + id: string; + designation: string; + description?: string; + quantite: number; + unite: string; + prixUnitaire: number; + montantLigne?: number; + ordre: number; + dateCreation: string; + dateModification: string; + devis: Devis; +} + +export interface Facture { + id: string; + numero: string; + objet: string; + description?: string; + dateEmission: string; + dateEcheance: string; + datePaiement?: string; + statut: StatutFacture; + montantHT?: number; + tauxTVA: number; + montantTVA?: number; + montantTTC?: number; + montantPaye?: number; + conditionsPaiement?: string; + typeFacture: TypeFacture; + dateCreation: string; + dateModification: string; + actif: boolean; + client: Client; + chantier?: Chantier; + devis?: Devis; + lignes?: LigneFacture[]; +} + +export interface LigneFacture { + id: string; + designation: string; + description?: string; + quantite: number; + unite: string; + prixUnitaire: number; + montantLigne?: number; + ordre: number; + dateCreation: string; + dateModification: string; + facture: Facture; +} + +// Enums +export enum StatutChantier { + PLANIFIE = 'PLANIFIE', + EN_COURS = 'EN_COURS', + TERMINE = 'TERMINE', + ANNULE = 'ANNULE', + SUSPENDU = 'SUSPENDU' +} + +export enum StatutDevis { + BROUILLON = 'BROUILLON', + ENVOYE = 'ENVOYE', + ACCEPTE = 'ACCEPTE', + REFUSE = 'REFUSE', + EXPIRE = 'EXPIRE' +} + +export enum StatutFacture { + BROUILLON = 'BROUILLON', + ENVOYEE = 'ENVOYEE', + PAYEE = 'PAYEE', + PARTIELLEMENT_PAYEE = 'PARTIELLEMENT_PAYEE', + ECHUE = 'ECHUE', + ANNULEE = 'ANNULEE' +} + +export enum TypeFacture { + FACTURE = 'FACTURE', + AVOIR = 'AVOIR', + ACOMPTE = 'ACOMPTE' +} + +// Types utilitaires pour le dashboard +export interface DashboardStats { + totalClients: number; + totalChantiers: number; + chantiersEnCours: number; + chantiersPlanifies: number; + chantiersTermines: number; + totalDevis: number; + devisAcceptes: number; + devisEnAttente: number; + totalFactures: number; + facturesPayees: number; + facturesEnRetard: number; + chiffreAffaires: number; + chiffreAffairesMois: number; + chiffreAffairesAnnee: number; +} + +export interface ChantierRecent { + id: string; + nom: string; + client: string; + statut: StatutChantier; + dateDebut: string; + montantPrevu?: number; +} + +export interface FactureEnRetard { + id: string; + numero: string; + client: string; + montantTTC: number; + dateEcheance: string; + joursRetard: number; +} + +export interface DevisEnAttente { + id: string; + numero: string; + client: string; + montantTTC: number; + dateEmission: string; + dateValidite: string; + joursRestants: number; +} + +// Types pour les filtres et recherches +export interface FilterOptions { + statut?: string[]; + dateDebut?: string; + dateFin?: string; + client?: string; + montantMin?: number; + montantMax?: number; +} + +export interface SearchResult { + data: T[]; + total: number; + page: number; + size: number; +} + +export interface ApiResponse { + data: T; + message?: string; + success: boolean; +} + +// Types pour la planification +export interface Employe { + id: string; + nom: string; + prenom: string; + email?: string; + telephone?: string; + poste: string; + specialites: string[]; + tauxHoraire?: number; + dateEmbauche: string; + statut: StatutEmploye; + equipe?: Equipe; + planning?: PlanningEvent[]; + competences: Competence[]; + disponibilites: Disponibilite[]; + dateCreation: string; + dateModification: string; + actif: boolean; +} + +export interface Equipe { + id: string; + nom: string; + description?: string; + chef: Employe; + membres: Employe[]; + specialites: string[]; + statut: StatutEquipe; + chantiers?: Chantier[]; + planning?: PlanningEvent[]; + dateCreation: string; + dateModification: string; + actif: boolean; +} + +export interface Materiel { + id: string; + nom: string; + marque?: string; + modele?: string; + numeroSerie?: string; + type: TypeMateriel; + description?: string; + dateAchat?: string; + valeurAchat?: number; + valeurActuelle?: number; + statut: StatutMateriel; + localisation?: string; + proprietaire?: string; // Entreprise ou location + coutUtilisation?: number; // Coût par jour/heure + maintenances: MaintenanceMateriel[]; + planning?: PlanningEvent[]; + dateCreation: string; + dateModification: string; + actif: boolean; +} + +export interface MaintenanceMateriel { + id: string; + materiel: Materiel; + type: TypeMaintenance; + description: string; + datePrevue: string; + dateRealisee?: string; + cout?: number; + statut: StatutMaintenance; + technicien?: string; + notes?: string; + prochaineMaintenance?: string; + dateCreation: string; + dateModification: string; +} + +export interface PlanningEvent { + id: string; + titre: string; + description?: string; + dateDebut: string; + dateFin: string; + type: TypePlanningEvent; + statut: StatutPlanningEvent; + priorite: PrioritePlanningEvent; + chantier?: Chantier; + equipe?: Equipe; + employes: Employe[]; + materiels: Materiel[]; + notes?: string; + couleur?: string; + recurrence?: RecurrencePlanningEvent; + rappels: RappelPlanningEvent[]; + dateCreation: string; + dateModification: string; + actif: boolean; +} + +export interface Disponibilite { + id: string; + employe: Employe; + dateDebut: string; + dateFin: string; + type: TypeDisponibilite; + motif?: string; + approuvee: boolean; + dateCreation: string; + dateModification: string; +} + +export interface Competence { + id: string; + nom: string; + niveau: NiveauCompetence; + certifiee: boolean; + dateObtention?: string; + dateExpiration?: string; + description?: string; +} + +export interface RappelPlanningEvent { + id: string; + delai: number; // en minutes avant l'événement + type: TypeRappel; + actif: boolean; +} + +export interface RecurrencePlanningEvent { + type: TypeRecurrence; + intervalle: number; + joursSemaine?: number[]; // 0=dimanche, 1=lundi... + dateFin?: string; + occurrences?: number; +} + +// Enums pour la planification +export enum StatutEmploye { + ACTIF = 'ACTIF', + INACTIF = 'INACTIF', + CONGE = 'CONGE', + ARRET_MALADIE = 'ARRET_MALADIE', + FORMATION = 'FORMATION' +} + +export enum StatutEquipe { + ACTIVE = 'ACTIVE', + INACTIVE = 'INACTIVE', + EN_FORMATION = 'EN_FORMATION', + DISPONIBLE = 'DISPONIBLE', + OCCUPEE = 'OCCUPEE' +} + +export enum TypeMateriel { + VEHICULE = 'VEHICULE', + OUTIL_ELECTRIQUE = 'OUTIL_ELECTRIQUE', + OUTIL_MANUEL = 'OUTIL_MANUEL', + ECHAFAUDAGE = 'ECHAFAUDAGE', + BETONIERE = 'BETONIERE', + GRUE = 'GRUE', + COMPRESSEUR = 'COMPRESSEUR', + GENERATEUR = 'GENERATEUR', + ENGIN_CHANTIER = 'ENGIN_CHANTIER', + MATERIEL_MESURE = 'MATERIEL_MESURE', + EQUIPEMENT_SECURITE = 'EQUIPEMENT_SECURITE', + AUTRE = 'AUTRE' +} + +export enum StatutMateriel { + DISPONIBLE = 'DISPONIBLE', + UTILISE = 'UTILISE', + MAINTENANCE = 'MAINTENANCE', + HORS_SERVICE = 'HORS_SERVICE', + RESERVE = 'RESERVE', + EN_REPARATION = 'EN_REPARATION' +} + +export enum TypeMaintenance { + PREVENTIVE = 'PREVENTIVE', + CORRECTIVE = 'CORRECTIVE', + REVISION = 'REVISION', + CONTROLE_TECHNIQUE = 'CONTROLE_TECHNIQUE', + NETTOYAGE = 'NETTOYAGE' +} + +export enum StatutMaintenance { + PLANIFIEE = 'PLANIFIEE', + EN_COURS = 'EN_COURS', + TERMINEE = 'TERMINEE', + REPORTEE = 'REPORTEE', + ANNULEE = 'ANNULEE' +} + +export enum TypePlanningEvent { + CHANTIER = 'CHANTIER', + REUNION = 'REUNION', + FORMATION = 'FORMATION', + MAINTENANCE = 'MAINTENANCE', + CONGE = 'CONGE', + RENDEZ_VOUS_CLIENT = 'RENDEZ_VOUS_CLIENT', + LIVRAISON = 'LIVRAISON', + INSPECTION = 'INSPECTION', + AUTRE = 'AUTRE' +} + +export enum StatutPlanningEvent { + PLANIFIE = 'PLANIFIE', + CONFIRME = 'CONFIRME', + EN_COURS = 'EN_COURS', + TERMINE = 'TERMINE', + ANNULE = 'ANNULE', + REPORTE = 'REPORTE' +} + +export enum PrioritePlanningEvent { + BASSE = 'BASSE', + NORMALE = 'NORMALE', + HAUTE = 'HAUTE', + CRITIQUE = 'CRITIQUE' +} + +export enum TypeDisponibilite { + CONGE_PAYE = 'CONGE_PAYE', + CONGE_SANS_SOLDE = 'CONGE_SANS_SOLDE', + ARRET_MALADIE = 'ARRET_MALADIE', + FORMATION = 'FORMATION', + ABSENCE = 'ABSENCE', + HORAIRE_REDUIT = 'HORAIRE_REDUIT' +} + +export enum NiveauCompetence { + DEBUTANT = 'DEBUTANT', + INTERMEDIAIRE = 'INTERMEDIAIRE', + AVANCE = 'AVANCE', + EXPERT = 'EXPERT' +} + +export enum TypeRappel { + EMAIL = 'EMAIL', + SMS = 'SMS', + NOTIFICATION = 'NOTIFICATION' +} + +export enum TypeRecurrence { + QUOTIDIENNE = 'QUOTIDIENNE', + HEBDOMADAIRE = 'HEBDOMADAIRE', + MENSUELLE = 'MENSUELLE', + ANNUELLE = 'ANNUELLE', + PERSONNALISEE = 'PERSONNALISEE' +} + +// Types pour les vues de planification +export interface PlanningCalendrierView { + events: PlanningEvent[]; + equipes: Equipe[]; + materiels: Materiel[]; + chantiers: Chantier[]; + conflicts: PlanningConflict[]; +} + +export interface PlanningConflict { + id: string; + type: TypeConflitPlanification; + description: string; + events: PlanningEvent[]; + ressources: (Employe | Materiel | Equipe)[]; + gravite: GraviteConflict; + suggestions: string[]; +} + +export enum TypeConflitPlanification { + RESSOURCE_DOUBLE_RESERVATION = 'RESSOURCE_DOUBLE_RESERVATION', + EMPLOYE_INDISPONIBLE = 'EMPLOYE_INDISPONIBLE', + MATERIEL_MAINTENANCE = 'MATERIEL_MAINTENANCE', + CHEVAUCHEMENT_HORAIRES = 'CHEVAUCHEMENT_HORAIRES', + COMPETENCE_MANQUANTE = 'COMPETENCE_MANQUANTE' +} + +export enum GraviteConflict { + INFO = 'INFO', + ATTENTION = 'ATTENTION', + ERREUR = 'ERREUR', + CRITIQUE = 'CRITIQUE' +} + +// Types pour les statistiques de planification +export interface PlanningStats { + totalEmployes: number; + employesActifs: number; + employesDisponibles: number; + totalEquipes: number; + equipesActives: number; + totalMateriels: number; + materielsDisponibles: number; + materielsEnMaintenance: number; + evenementsMois: number; + conflitsPlanification: number; + tauxUtilisationEquipes: number; + tauxUtilisationMateriels: number; +} \ No newline at end of file diff --git a/types/chantier-form.ts b/types/chantier-form.ts new file mode 100644 index 0000000..9466484 --- /dev/null +++ b/types/chantier-form.ts @@ -0,0 +1,155 @@ +/** + * Types pour les formulaires de chantier avec gestion avancée des types et phases + */ + +import { TypeChantier } from './chantier-templates'; + +// Interface pour le formulaire de création/modification de chantier +export interface ChantierFormData { + nom: string; + description?: string; + adresse: string; + codePostal?: string; + ville?: string; + dateDebut: string; + dateFinPrevue?: string; + montantPrevu?: number; + clientId: string; + + // Nouveaux champs avancés + typeChantier: TypeChantier; + surface?: number; + nombreNiveaux?: number; + autoGenererPhases: boolean; + inclureSousPhases: boolean; + ajusterDelais: boolean; + + // Spécificités et contraintes + specificites?: string[]; + contraintes?: string; + accesPMR?: boolean; + performanceEnergetique?: string; + + // Informations techniques + natureTerrain?: string; + presenceReseaux?: boolean; + accessibiliteChantier?: 'FACILE' | 'MOYENNE' | 'DIFFICILE'; + stockagePossible?: boolean; + + // Réglementation + permisRequis?: boolean; + numeroPermis?: string; + dateObtentionPermis?: string; + controleUrbanismeRequis?: boolean; + + // Options de planification + margeSecurite?: number; // en jours + periodesTravailRestreintes?: Array<{ + dateDebut: string; + dateFin: string; + motif: string; + }>; + + // Équipes et ressources préférées + equipePrefereId?: string; + materielsRequis?: string[]; +} + +// Interface pour la prévisualisation du projet +export interface ChantierPreview { + typeChantier: TypeChantier; + nom: string; + dureeEstimee: number; + dateFinEstimee: Date; + complexite: { + niveau: 'SIMPLE' | 'MOYEN' | 'COMPLEXE' | 'TRES_COMPLEXE'; + score: number; + facteurs: string[]; + }; + phasesCount: number; + sousePhasesCount: number; + specificites: string[]; + reglementations: string[]; + coutEstime?: number; +} + +// Interface pour les options de génération de phases +export interface PhaseGenerationOptions { + inclureSousPhases: boolean; + ajusterDelais: boolean; + margeSecurite: number; + personnaliserDurees: boolean; + conserverOrdreStandard: boolean; + genererMateriels: boolean; + genererFournisseurs: boolean; + calculerAnalysePrix: boolean; +} + +// Interface pour les contraintes temporelles +export interface ContrainteTemporelle { + id?: string; + nom: string; + dateDebut: string; + dateFin: string; + type: 'INTEMPERIE' | 'CONGE' | 'AUTRE_CHANTIER' | 'MAINTENANCE' | 'REGLEMENTATION'; + description?: string; + impactPhases?: string[]; // IDs des phases impactées +} + +// Interface pour la validation du formulaire +export interface ChantierFormValidation { + isValid: boolean; + errors: { + [key in keyof ChantierFormData]?: string; + }; + warnings: string[]; + recommendations: string[]; +} + +// Interface pour les données calculées +export interface ChantierCalculatedData { + dureeEstimee: number; + dateFinCalculee: Date; + coutEstimeTotal?: number; + coutEstimeParPhase?: { [phaseId: string]: number }; + ressourcesRequises: { + equipes: number; + materiels: string[]; + competences: string[]; + }; + jalonsImportants: Array<{ + nom: string; + date: Date; + critique: boolean; + }>; +} + +// Types pour les options de projet +export type AccessibiliteChantier = 'FACILE' | 'MOYENNE' | 'DIFFICILE'; +export type NatureTerrain = 'PLAT' | 'PENTE_LEGERE' | 'PENTE_FORTE' | 'ROCHEUX' | 'HUMIDE' | 'INSTABLE'; +export type PerformanceEnergetique = 'RT2012' | 'RT2020' | 'RE2020' | 'PASSIF' | 'POSITIF' | 'STANDARD'; + +// Constantes pour les options +export const ACCESSIBILITE_OPTIONS = [ + { value: 'FACILE', label: 'Facile - Accès direct, terrain plat' }, + { value: 'MOYENNE', label: 'Moyenne - Quelques contraintes d\'accès' }, + { value: 'DIFFICILE', label: 'Difficile - Accès restreint, terrain complexe' } +] as const; + +export const NATURE_TERRAIN_OPTIONS = [ + { value: 'PLAT', label: 'Terrain plat' }, + { value: 'PENTE_LEGERE', label: 'Pente légère' }, + { value: 'PENTE_FORTE', label: 'Pente forte' }, + { value: 'ROCHEUX', label: 'Terrain rocheux' }, + { value: 'HUMIDE', label: 'Terrain humide' }, + { value: 'INSTABLE', label: 'Terrain instable' } +] as const; + +export const PERFORMANCE_ENERGETIQUE_OPTIONS = [ + { value: 'STANDARD', label: 'Standard (réglementation minimale)' }, + { value: 'RT2012', label: 'RT 2012' }, + { value: 'RT2020', label: 'RT 2020' }, + { value: 'RE2020', label: 'RE 2020 (obligatoire neuf)' }, + { value: 'PASSIF', label: 'Bâtiment passif' }, + { value: 'POSITIF', label: 'Bâtiment à énergie positive' } +] as const; \ No newline at end of file diff --git a/types/chantier-templates.ts b/types/chantier-templates.ts new file mode 100644 index 0000000..dbe510c --- /dev/null +++ b/types/chantier-templates.ts @@ -0,0 +1,303 @@ +/** + * Types et templates pour la gestion automatique des phases de chantier BTP + * Système de pré-configuration des phases selon le type de chantier + */ + +// Types de chantiers BTP avec classification métier complète +export type TypeChantier = + // Bâtiment résidentiel + | 'MAISON_INDIVIDUELLE' + | 'IMMEUBLE_COLLECTIF' + | 'RENOVATION_RESIDENTIELLE' + | 'EXTENSION_RESIDENTIELLE' + + // Bâtiment tertiaire + | 'BUREAU_COMMERCIAL' + | 'CENTRE_COMMERCIAL' + | 'ETABLISSEMENT_SCOLAIRE' + | 'ETABLISSEMENT_SANTE' + | 'ETABLISSEMENT_SPORTIF' + | 'ENTREPOT_LOGISTIQUE' + + // Infrastructure + | 'VOIRIE_URBAINE' + | 'AUTOROUTE' + | 'PONT_VIADUC' + | 'TUNNEL' + | 'PARKING' + | 'AIRE_AMENAGEE' + + // Industriel + | 'USINE_INDUSTRIELLE' + | 'CENTRALE_ENERGIE' + | 'STATION_EPURATION' + | 'INSTALLATION_CHIMIQUE' + + // Spécialisé + | 'PISCINE' + | 'COURT_TENNIS' + | 'TERRAIN_SPORT' + | 'MONUMENT_HISTORIQUE' + | 'OUVRAGE_ART'; + +// Interface pour une phase template +export interface PhaseTemplate { + id: string; + nom: string; + description: string; + ordreExecution: number; + dureePrevueJours: number; + critique: boolean; + prerequis?: string[]; + sousPhases?: SousPhaseTemplate[]; + materielsTypes?: string[]; + competencesRequises?: string[]; + controleQualite?: string[]; +} + +// Interface pour une sous-phase template +export interface SousPhaseTemplate { + id: string; + nom: string; + description: string; + ordreExecution: number; + dureePrevueJours: number; + materielsTypes?: string[]; + competencesRequises?: string[]; +} + +// Interface pour un template de chantier complet +export interface ChantierTemplate { + typeChantier: TypeChantier; + nom: string; + description: string; + dureeMoyenneJours: number; + phases: PhaseTemplate[]; + specificites?: string[]; + reglementations?: string[]; +} + +// Libellés pour les types de chantiers +export const TYPE_CHANTIER_LABELS: Record = { + // Résidentiel + MAISON_INDIVIDUELLE: 'Maison individuelle', + IMMEUBLE_COLLECTIF: 'Immeuble collectif', + RENOVATION_RESIDENTIELLE: 'Rénovation résidentielle', + EXTENSION_RESIDENTIELLE: 'Extension résidentielle', + + // Tertiaire + BUREAU_COMMERCIAL: 'Bureau / Commerce', + CENTRE_COMMERCIAL: 'Centre commercial', + ETABLISSEMENT_SCOLAIRE: 'Établissement scolaire', + ETABLISSEMENT_SANTE: 'Établissement de santé', + ETABLISSEMENT_SPORTIF: 'Établissement sportif', + ENTREPOT_LOGISTIQUE: 'Entrepôt / Logistique', + + // Infrastructure + VOIRIE_URBAINE: 'Voirie urbaine', + AUTOROUTE: 'Autoroute', + PONT_VIADUC: 'Pont / Viaduc', + TUNNEL: 'Tunnel', + PARKING: 'Parking', + AIRE_AMENAGEE: 'Aire aménagée', + + // Industriel + USINE_INDUSTRIELLE: 'Usine industrielle', + CENTRALE_ENERGIE: 'Centrale énergétique', + STATION_EPURATION: 'Station d\'épuration', + INSTALLATION_CHIMIQUE: 'Installation chimique', + + // Spécialisé + PISCINE: 'Piscine', + COURT_TENNIS: 'Court de tennis', + TERRAIN_SPORT: 'Terrain de sport', + MONUMENT_HISTORIQUE: 'Monument historique', + OUVRAGE_ART: 'Ouvrage d\'art' +}; + +// Catégories de chantiers pour l'organisation +export const CATEGORIES_CHANTIER = { + RESIDENTIEL: { + label: 'Résidentiel', + types: ['MAISON_INDIVIDUELLE', 'IMMEUBLE_COLLECTIF', 'RENOVATION_RESIDENTIELLE', 'EXTENSION_RESIDENTIELLE'] as TypeChantier[] + }, + TERTIAIRE: { + label: 'Tertiaire', + types: ['BUREAU_COMMERCIAL', 'CENTRE_COMMERCIAL', 'ETABLISSEMENT_SCOLAIRE', 'ETABLISSEMENT_SANTE', 'ETABLISSEMENT_SPORTIF', 'ENTREPOT_LOGISTIQUE'] as TypeChantier[] + }, + INFRASTRUCTURE: { + label: 'Infrastructure', + types: ['VOIRIE_URBAINE', 'AUTOROUTE', 'PONT_VIADUC', 'TUNNEL', 'PARKING', 'AIRE_AMENAGEE'] as TypeChantier[] + }, + INDUSTRIEL: { + label: 'Industriel', + types: ['USINE_INDUSTRIELLE', 'CENTRALE_ENERGIE', 'STATION_EPURATION', 'INSTALLATION_CHIMIQUE'] as TypeChantier[] + }, + SPECIALISE: { + label: 'Spécialisé', + types: ['PISCINE', 'COURT_TENNIS', 'TERRAIN_SPORT', 'MONUMENT_HISTORIQUE', 'OUVRAGE_ART'] as TypeChantier[] + } +} as const; + +// Templates de phases communes à tous les types de chantiers +export const PHASES_COMMUNES: PhaseTemplate[] = [ + { + id: 'etudes-preliminaires', + nom: 'Études préliminaires et définition du projet', + description: 'Analyse de faisabilité, études de sol, définition du programme', + ordreExecution: 1, + dureePrevueJours: 30, + critique: true, + sousPhases: [ + { + id: 'analyse-faisabilite', + nom: 'Analyse de faisabilité', + description: 'Étude technique, économique et réglementaire', + ordreExecution: 1, + dureePrevueJours: 10, + competencesRequises: ['Bureau d\'études', 'Économiste'] + }, + { + id: 'releves-topographiques', + nom: 'Relevés topographiques', + description: 'Levés de terrain et cartographie', + ordreExecution: 2, + dureePrevueJours: 5, + materielsTypes: ['Matériel topographique'], + competencesRequises: ['Géomètre'] + }, + { + id: 'etudes-geotechniques', + nom: 'Études géotechniques', + description: 'Étude de sol et recommandations fondations', + ordreExecution: 3, + dureePrevueJours: 10, + materielsTypes: ['Foreuse', 'Équipement laboratoire'], + competencesRequises: ['Géotechnicien'] + }, + { + id: 'analyse-environnementale', + nom: 'Analyse environnementale', + description: 'Impact environnemental et contraintes réglementaires', + ordreExecution: 4, + dureePrevueJours: 5, + competencesRequises: ['Expert environnemental'] + } + ], + competencesRequises: ['Maître d\'œuvre', 'Bureau d\'études'], + controleQualite: ['Validation études géotechniques', 'Conformité réglementaire'] + }, + { + id: 'conception-projet', + nom: 'Conception du projet', + description: 'Avant-projets, plans détaillés, demandes d\'autorisation', + ordreExecution: 2, + dureePrevueJours: 45, + critique: true, + prerequis: ['etudes-preliminaires'], + sousPhases: [ + { + id: 'avant-projet-sommaire', + nom: 'Avant-projet sommaire (APS)', + description: 'Définition générale du projet', + ordreExecution: 1, + dureePrevueJours: 15, + competencesRequises: ['Architecte', 'Bureau d\'études'] + }, + { + id: 'avant-projet-definitif', + nom: 'Avant-projet définitif (APD)', + description: 'Finalisation conception et dimensionnement', + ordreExecution: 2, + dureePrevueJours: 20, + competencesRequises: ['Architecte', 'Bureau d\'études', 'Économiste'] + }, + { + id: 'plans-detailles', + nom: 'Plans détaillés d\'exécution', + description: 'Plans techniques et spécifications', + ordreExecution: 3, + dureePrevueJours: 10, + competencesRequises: ['Dessinateur', 'Bureau d\'études'] + } + ], + competencesRequises: ['Architecte', 'Bureau d\'études'], + controleQualite: ['Validation architecturale', 'Conformité technique'] + }, + { + id: 'preparation-chantier', + nom: 'Préparation du chantier', + description: 'Organisation du site, approvisionnements, coordination', + ordreExecution: 3, + dureePrevueJours: 20, + critique: true, + prerequis: ['conception-projet'], + sousPhases: [ + { + id: 'organisation-site', + nom: 'Organisation du site', + description: 'Plan d\'installation de chantier (PIC)', + ordreExecution: 1, + dureePrevueJours: 5, + competencesRequises: ['Conducteur de travaux'] + }, + { + id: 'implantation-terrain', + nom: 'Implantation sur le terrain', + description: 'Piquetage et marquage', + ordreExecution: 2, + dureePrevueJours: 3, + materielsTypes: ['Matériel topographique'], + competencesRequises: ['Géomètre', 'Chef d\'équipe'] + }, + { + id: 'installation-bases-vie', + nom: 'Installation des bases vie', + description: 'Espaces de travail, sanitaires, stockage', + ordreExecution: 3, + dureePrevueJours: 5, + materielsTypes: ['Bungalows', 'Clôtures', 'Raccordements'], + competencesRequises: ['Équipe installation'] + }, + { + id: 'approvisionnement-logistique', + nom: 'Approvisionnement et logistique', + description: 'Commandes matériaux et planification livraisons', + ordreExecution: 4, + dureePrevueJours: 7, + competencesRequises: ['Responsable logistique'] + } + ], + competencesRequises: ['Conducteur de travaux', 'Chef de chantier'], + controleQualite: ['Plan de sécurité validé', 'Autorisations administratives'] + } +]; + +// Export des constantes utiles +export const DUREE_MOYENNE_PAR_TYPE: Record = { + MAISON_INDIVIDUELLE: 270, + IMMEUBLE_COLLECTIF: 540, + RENOVATION_RESIDENTIELLE: 180, + EXTENSION_RESIDENTIELLE: 120, + BUREAU_COMMERCIAL: 360, + CENTRE_COMMERCIAL: 720, + ETABLISSEMENT_SCOLAIRE: 600, + ETABLISSEMENT_SANTE: 900, + ETABLISSEMENT_SPORTIF: 480, + ENTREPOT_LOGISTIQUE: 240, + VOIRIE_URBAINE: 150, + AUTOROUTE: 1080, + PONT_VIADUC: 900, + TUNNEL: 1440, + PARKING: 120, + AIRE_AMENAGEE: 90, + USINE_INDUSTRIELLE: 720, + CENTRALE_ENERGIE: 1800, + STATION_EPURATION: 540, + INSTALLATION_CHIMIQUE: 960, + PISCINE: 90, + COURT_TENNIS: 45, + TERRAIN_SPORT: 60, + MONUMENT_HISTORIQUE: 720, + OUVRAGE_ART: 540 +}; \ No newline at end of file diff --git a/types/demo.d.ts b/types/demo.d.ts new file mode 100644 index 0000000..940ca3c --- /dev/null +++ b/types/demo.d.ts @@ -0,0 +1,260 @@ +import { ColorPicker } from 'primereact/colorpicker'; +// FullCalendar Types +import { EventApi, EventInput } from '@fullcalendar/core'; + +// Chart.js Types +import { ChartData, ChartOptions } from 'chart.js'; + +// Custom Types +type InventoryStatus = 'INSTOCK' | 'LOWSTOCK' | 'OUTOFSTOCK'; +type Status = 'DELIVERED' | 'PENDING' | 'RETURNED' | 'CANCELLED'; +type SmallFolder = Omit & { icon: 'pi pi-folder' | 'pi pi-images' | 'pi pi-folder-open' }; +type LargeFolder = Omit & { icon: 'pi pi-folder' | 'pi pi-image' | 'pi pi-folder-open' }; +type Icon = 'pi pi-image' | 'pi pi-file-excel' | 'pi pi-file-pdf' | 'pi pi-ellipsis-v' | 'pi pi-folder' | 'pi pi-images' | 'pi pi-folder-open'; +type Color = 'bg-yellow-500' | 'bg-pink-500' | 'bg-green-500' | 'bg-indigo-500'; +type MailKeys = 'important' | 'starred' | 'trash' | 'spam' | 'archived' | 'sent'; + +// Exported Types +export type LayoutType = 'list' | 'grid'; +export type SortOrderType = 1 | 0 | -1; + +// Interfaces +export interface CustomEvent { + name?: string; + status?: 'Ordered' | 'Processing' | 'Shipped' | 'Delivered'; + date?: string; + color?: string; + icon?: string; + image?: string; +} + +interface ShowOptions { + severity?: string; + content?: string; + summary?: string; + detail?: string; + life?: number; +} + +export interface ChartDataState { + barData?: ChartData; + pieData?: ChartData; + lineData?: ChartData; + polarData?: ChartData; + radarData?: ChartData; +} +export interface ChartOptionsState { + barOptions?: ChartOptions; + pieOptions?: ChartOptions; + lineOptions?: ChartOptions; + polarOptions?: ChartOptions; + radarOptions?: ChartOptions; +} + +export interface AppMailProps { + mails: Demo.Mail[]; +} + +export interface AppMailSidebarItem { + label: string; + icon: string; + to?: string; + badge?: number; + badgeValue?: number; +} + +export interface AppMailReplyProps { + content: Demo.Mail | null; + hide: () => void; +} + +// Demo Namespace +declare namespace Demo { + // Interfaces + interface Base { + name: string; + icon: Icon; + objectURL?: string; + } + + interface IFile extends Base { + date: string; + fileSize: string; + } + + interface Metric { + title: string; + icon: string; + color_light: string; + color_dark: string; + textContent: MetricContent[]; + color?: string; + fieldColor?: string; + files?: string; + fileSize?: string; + } + interface BaseFolder extends Base { + size: string; + } + interface Task { + id?: number; + name?: string; + description?: string; + completed?: boolean; + status?: string; + comments?: string; + attachments?: string; + members?: Member[]; + startDate?: string; + endDate?: string; + } + + interface Member { + name: string; + image: string; + } + + interface DialogConfig { + visible: boolean; + header: string; + newTask: boolean; + } + + interface Mail { + id: number; + from: string; + to: string; + email: string; + image: string; + title: string; + message: string; + date: string; + important: boolean; + starred: boolean; + trash: boolean; + spam: boolean; + archived: boolean; + sent: boolean; + } + + interface User { + id: number; + name: string; + image: string; + status: string; + messages: Message[]; + lastSeen: string; + } + + interface Message { + text: string; + ownerId: number; + createdAt: number; + } + interface MetricContent { + amount: string; + text: string; + } + + //ProductService + type Product = { + id?: string; + code?: string; + name: string; + description: string; + image?: string; + price?: number | string; + category?: string; + quantity?: number; + inventoryStatus?: InventoryStatus; + rating?: number; + orders?: ProductOrder[]; + [key: string]: string | string[] | number | boolean | undefined | ProductOrder[] | InventoryStatus | File[]; + }; + + type ProductOrder = { + id?: string; + productCode?: string; + date?: string; + amount?: number; + quantity?: number; + customer?: string; + status?: Status; + }; + + type Payment = { + name: string; + amount: number; + paid: boolean; + date: string; + }; + + //CustomerService + type Customer = { + id?: number; + name?: string; + country?: ICountryObject; + company?: string; + date: Date; + status?: string; + activity?: number; + balance?: number | string; + verified?: boolean; + amount?: number; + price?: number; + rating?: number; + image?: string; + orders?: Demo.Customer[]; + inventoryStatus?: string; + representative: { + name: string; + image: string; + }; + }; + + // EventService + interface Event extends EventInput { + location?: string; + description?: string; + tag?: { + name: string; + color: string; + }; + } + + // PhotoService + type Photo = { + title: string; + itemImageSrc?: string | undefined; + thumbnailImageSrc?: string | undefined; + alt?: string | undefined; + }; + + type Country = { + name: string; + code: string; + }; + + // IconService + type Icon = { + icon?: { + paths?: string[]; + attrs?: [{}]; + isMulticolor?: boolean; + isMulticolor2?: boolean; + grid?: number; + tags?: string[]; + }; + attrs?: [{}]; + properties?: { + order?: number; + id: number; + name: string; + prevSize?: number; + code?: number; + }; + setIdx?: number; + setId?: number; + iconIdx?: number; + }; +} diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 0000000..a45abf1 --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,65 @@ +import React, { ReactNode } from 'react'; +import { + Page, + AppBreadcrumbProps, + Breadcrumb, + BreadcrumbItem, + ColorScheme, + MenuProps, + MenuModal, + AppSubMenuProps, + LayoutConfig, + LayoutState, + AppBreadcrumbState, + Breadcrumb, + LayoutContextProps, + MailContextProps, + MenuContextProps, + ChatContextProps, + TaskContextProps, + AppConfigProps, + NodeRef, + AppTopbarRef, + MenuModalItem, + AppMenuItemProps, + UseSubmenuOverlayPositionProps +} from './layout'; +import type { Demo, LayoutType, SortOrderType, CustomEvent, ChartDataState, ChartOptionsState, AppMailSidebarItem, AppMailReplyProps, AppMailProps, MailKeys } from './demo'; + +type ChildContainerProps = { + children: ReactNode; +}; + +export type { + Page, + AppBreadcrumbProps, + Breadcrumb, + BreadcrumbItem, + ColorScheme, + MenuProps, + MenuModal, + MailKeys, + LayoutConfig, + LayoutState, + Breadcrumb, + LayoutContextProps, + MailContextProps, + MenuContextProps, + ChatContextProps, + TaskContextProps, + AppConfigProps, + NodeRef, + AppTopbarRef, + AppMenuItemProps, + UseSubmenuOverlayPositionProps, + ChildContainerProps, + Demo, + LayoutType, + SortOrderType, + CustomEvent, + ChartDataState, + ChartOptionsState, + AppMailSidebarItem, + AppMailReplyProps, + AppMailProps +}; diff --git a/types/layout.d.ts b/types/layout.d.ts new file mode 100644 index 0000000..c8250ff --- /dev/null +++ b/types/layout.d.ts @@ -0,0 +1,186 @@ +import React, { ReactElement, Dispatch, SetStateAction, HTMLAttributeAnchorTarget, ReactNode } from 'react'; +import { NextPage } from 'next'; +import type { Demo } from './demo'; +import { Toast } from 'primereact/toast'; + +/* Next & Layout Types */ +type Page

    = NextPage

    & { + getLayout?: (page: ReactElement) => ReactNode; +}; + +/* Exported types */ +export type MenuMode = 'static' | 'overlay' | 'horizontal' | 'slim' | 'slim-plus' | 'reveal' | 'drawer'; + +export type ColorScheme = 'light' | 'dark' | 'dim'; + +/* Breadcrumb Types */ +export interface AppBreadcrumbProps { + className?: string; +} + +export interface Breadcrumb { + labels?: string[]; + to?: string; +} + +export interface BreadcrumbItem { + label?: string; + to?: string; + items?: BreadcrumbItem[]; +} + +/* Context Types */ +export type LayoutState = { + staticMenuDesktopInactive: boolean; + overlayMenuActive: boolean; + rightMenuVisible: boolean; + overlaySubmenuActive: boolean; + configSidebarVisible: boolean; + staticMenuMobileActive: boolean; + menuHoverActive: boolean; + searchBarActive: boolean; + resetMenu: boolean; + sidebarActive: boolean; + anchored: boolean; + rightMenuActive: boolean; +}; + +export type LayoutConfig = { + ripple: boolean; + inputStyle: string; + menuMode: MenuMode; + colorScheme: ColorScheme; + theme: string; + scale: number; +}; + +export interface LayoutContextProps { + layoutConfig: LayoutConfig; + setLayoutConfig: Dispatch>; + layoutState: LayoutState; + setLayoutState: Dispatch>; + showRightSidebar: () => void; + onMenuToggle: (event: React.MouseEvent) => void; + isSlimPlus: () => boolean; + isSlim: () => boolean; + isHorizontal: () => boolean; + isDesktop: () => boolean; + breadcrumbs?: Breadcrumb[]; + setBreadcrumbs: Dispatch>; + onSearchHide: (event: React.KeyboardEvent) => void; + toggleSearch: (event: React.MouseEvent) => void; + showConfigSidebar: () => void; + showSidebar: () => void; +} + +export interface MailContextProps { + mails: Demo.Mail[]; + toastRef: React.RefObject; + updateMails: (data: Demo.Mail[]) => void; + clearMailActions: (mail: Demo.Mail) => void; + onStar: (id: number) => void; + onArchive: (id: number) => void; + onBookmark: (id: number) => void; + onDelete: (id: number) => void; + onDeleteMultiple: (mailArray: Demo.Mail[]) => void; + onArchiveMultiple: (mailArray: Demo.Mail[]) => void; + onSpamMultiple: (mailArray: Demo.Mail[]) => void; + onTrash: (id: number) => void; + onSend: (mail: Demo.Mail) => void; +} + +export interface MenuContextProps { + activeMenu: string; + setActiveMenu: Dispatch>; +} + +export interface ChatContextProps { + users: Demo.User[]; + setUsers: Dispatch>; + activeUser: Demo.User; + setActiveUser: Dispatch>; + getChatData: () => Promise; + changeActiveChat: (user: Demo.User) => void; + sendMessage: (message: Demo.Message) => void; +} + +export interface TaskContextProps { + dialogConfig: Demo.DialogConfig; + selectedTask: Demo.Task | null; + tasks: Demo.Task[]; + members: Demo.Member[]; + setTasks: Dispatch>; + setMembers: Dispatch>; + setDialogConfig: Dispatch>; + setSelectedTask: Dispatch>; + getTasks: () => Promise; + getMembers: () => Promise; + addTask: (task: Demo.Task) => void; + editTask: (task: Demo.Task) => void; + removeTask: (id: number) => void; + onTaskSelect: (task: Demo.Task) => void; + markAsCompleted: (task: Demo.Task) => void; + showDialog: (header: string, newTask: boolean) => void; + closeDialog: () => void; +} + +/* AppConfig Types */ +export interface AppConfigProps { + minimal?: boolean; +} + +/* AppTopbar Types */ +export type NodeRef = MutableRefObject; +export interface AppTopbarRef { + menubutton?: HTMLButtonElement | null; + topbarmenu?: HTMLDivElement | null; + topbarmenubutton?: HTMLButtonElement | null; +} + +/* AppMenu Types */ +type CommandProps = { + originalEvent: React.MouseEvent; + item: MenuModalItem; +}; + +export interface MenuProps { + model: MenuModal[]; +} + +export interface MenuModal { + label?: string; + icon?: string; + items?: MenuModal[]; + to?: string; + url?: string; + target?: HTMLAttributeAnchorTarget; + separator?: boolean; + requiredRoles?: import('./auth').UserRole[]; + requiredPermissions?: string[]; +} + +export interface UseSubmenuOverlayPositionProps { + target: HTMLElement | null; + overlay: HTMLElement | null; + container: HTMLElement | null; + when?: any; +} + +export interface AppMenuItem extends MenuModal { + items?: AppMenuItem[]; + badgeClass?: string; + class?: string; + preventExact?: boolean; + visible?: boolean; + disabled?: boolean; + replaceUrl?: boolean; + command?: ({ originalEvent, item }: CommandProps) => void; +} + +export interface AppMenuItemProps { + item?: AppMenuItem; + parentKey?: string; + index?: number; + root?: boolean; + className?: string; +} diff --git a/types/phases.d.ts b/types/phases.d.ts new file mode 100644 index 0000000..c7d3674 --- /dev/null +++ b/types/phases.d.ts @@ -0,0 +1,106 @@ +export enum StatutPhaseChantier { + PLANIFIEE = 'PLANIFIEE', + EN_ATTENTE = 'EN_ATTENTE', + EN_COURS = 'EN_COURS', + SUSPENDUE = 'SUSPENDUE', + EN_CONTROLE = 'EN_CONTROLE', + TERMINEE = 'TERMINEE', + BLOQUEE = 'BLOQUEE', + ABANDONNEE = 'ABANDONNEE', + REPORTEE = 'REPORTEE' +} + +export enum TypePhaseChantier { + PREPARATION = 'PREPARATION', + TERRASSEMENT = 'TERRASSEMENT', + FONDATIONS = 'FONDATIONS', + GROS_OEUVRE = 'GROS_OEUVRE', + CHARPENTE = 'CHARPENTE', + COUVERTURE = 'COUVERTURE', + CLOISONS = 'CLOISONS', + MENUISERIE_EXTERIEURE = 'MENUISERIE_EXTERIEURE', + ISOLATION = 'ISOLATION', + PLOMBERIE = 'PLOMBERIE', + ELECTRICITE = 'ELECTRICITE', + CHAUFFAGE = 'CHAUFFAGE', + VENTILATION = 'VENTILATION', + CLIMATISATION = 'CLIMATISATION', + MENUISERIE_INTERIEURE = 'MENUISERIE_INTERIEURE', + REVETEMENTS_SOLS = 'REVETEMENTS_SOLS', + REVETEMENTS_MURS = 'REVETEMENTS_MURS', + PEINTURE = 'PEINTURE', + CARRELAGE = 'CARRELAGE', + SANITAIRES = 'SANITAIRES', + CUISINE = 'CUISINE', + PLACARDS = 'PLACARDS', + FINITIONS = 'FINITIONS', + VRD = 'VRD', + ESPACES_VERTS = 'ESPACES_VERTS', + NETTOYAGE = 'NETTOYAGE', + RECEPTION = 'RECEPTION', + GARANTIE = 'GARANTIE', + AUTRE = 'AUTRE' +} + +export enum PrioritePhase { + TRES_BASSE = 'TRES_BASSE', + BASSE = 'BASSE', + NORMALE = 'NORMALE', + HAUTE = 'HAUTE', + CRITIQUE = 'CRITIQUE' +} + +export interface PhaseChantier { + id?: string; + nom: string; + description?: string; + type?: TypePhaseChantier; + chantier: { + id: string; + nom: string; + }; + statut: StatutPhaseChantier; + ordreExecution: number; + dateDebutPrevue?: string; + dateFinPrevue?: string; + dateDebutReelle?: string; + dateFinReelle?: string; + dureePrevueJours?: number; + dureeReelleJours?: number; + pourcentageAvancement?: number; + budgetPrevu?: number; + coutReel?: number; + priorite?: PrioritePhase; + equipeResponsable?: { + id: string; + nom: string; + }; + chefEquipe?: { + id: string; + nom: string; + prenom: string; + }; + prerequis?: string; + livrablesAttendus?: string; + commentaires?: string; + risquesIdentifies?: string; + mesuresSecurite?: string; + materielRequis?: string; + competencesRequises?: string; + conditionsMeteoRequises?: string; + bloquante?: boolean; + facturable?: boolean; + dateCreation?: string; + dateModification?: string; + creePar?: string; + modifiePar?: string; +} + +export interface PhaseStatistiques { + total: number; + parStatut: Record; + parType: Record; + enRetard: number; + critiques: number; + avancementMoyen: number; +} \ No newline at end of file diff --git a/types/phases.ts b/types/phases.ts new file mode 100644 index 0000000..8ee881c --- /dev/null +++ b/types/phases.ts @@ -0,0 +1,57 @@ +/** + * Types pour les phases de chantiers + */ + +export interface PhaseChantier { + id: string; + nom: string; + description?: string; + statut: StatutPhase; + dateDebutPrevue: string; + dateFinPrevue: string; + dateDebutReelle?: string; + dateFinReelle?: string; + pourcentageAvancement: number; + budgetPrevu?: number; + coutReel?: number; + critique: boolean; + responsable?: { + id: string; + nom: string; + prenom: string; + }; + phaseParent?: { + id: string; + nom: string; + }; +} + +export type StatutPhase = + | 'PLANIFIEE' + | 'EN_ATTENTE' + | 'EN_COURS' + | 'EN_PAUSE' + | 'TERMINEE' + | 'ANNULEE' + | 'EN_RETARD'; + +export interface PhaseFormData { + nom: string; + description?: string; + dateDebutPrevue: string; + dateFinPrevue: string; + budgetPrevu?: number; + critique: boolean; + responsableId?: string; + phaseParentId?: string; + chantierId: string; +} + +export interface PhaseStats { + total: number; + planifiees: number; + enCours: number; + terminees: number; + enRetard: number; + avancementMoyen: number; +} \ No newline at end of file diff --git a/types/stocks.d.ts b/types/stocks.d.ts new file mode 100644 index 0000000..50b6e96 --- /dev/null +++ b/types/stocks.d.ts @@ -0,0 +1,162 @@ +export enum CategorieStock { + MATERIAUX_CONSTRUCTION = 'MATERIAUX_CONSTRUCTION', + OUTILLAGE = 'OUTILLAGE', + QUINCAILLERIE = 'QUINCAILLERIE', + EQUIPEMENTS_SECURITE = 'EQUIPEMENTS_SECURITE', + EQUIPEMENTS_TECHNIQUES = 'EQUIPEMENTS_TECHNIQUES', + CONSOMMABLES = 'CONSOMMABLES', + VEHICULES_ENGINS = 'VEHICULES_ENGINS', + FOURNITURES_BUREAU = 'FOURNITURES_BUREAU', + PRODUITS_CHIMIQUES = 'PRODUITS_CHIMIQUES', + PIECES_DETACHEES = 'PIECES_DETACHEES', + EQUIPEMENTS_MESURE = 'EQUIPEMENTS_MESURE', + MOBILIER = 'MOBILIER', + AUTRE = 'AUTRE' +} + +export enum UniteMesure { + UNITE = 'UNITE', + PAIRE = 'PAIRE', + LOT = 'LOT', + JEU = 'JEU', + KIT = 'KIT', + ENSEMBLE = 'ENSEMBLE', + GRAMME = 'GRAMME', + KILOGRAMME = 'KILOGRAMME', + TONNE = 'TONNE', + MILLIMETRE = 'MILLIMETRE', + CENTIMETRE = 'CENTIMETRE', + METRE = 'METRE', + METRE_LINEAIRE = 'METRE_LINEAIRE', + KILOMETRE = 'KILOMETRE', + CENTIMETRE_CARRE = 'CENTIMETRE_CARRE', + METRE_CARRE = 'METRE_CARRE', + HECTARE = 'HECTARE', + CENTIMETRE_CUBE = 'CENTIMETRE_CUBE', + DECIMETRE_CUBE = 'DECIMETRE_CUBE', + METRE_CUBE = 'METRE_CUBE', + LITRE = 'LITRE', + MILLILITRE = 'MILLILITRE', + HEURE = 'HEURE', + JOUR = 'JOUR', + SEMAINE = 'SEMAINE', + MOIS = 'MOIS', + SAC = 'SAC', + PALETTE = 'PALETTE', + ROULEAU = 'ROULEAU', + PLAQUE = 'PLAQUE', + BARRE = 'BARRE', + TUBE = 'TUBE', + PROFILE = 'PROFILE', + PANNEAU = 'PANNEAU', + BIDON = 'BIDON', + CARTOUCHE = 'CARTOUCHE', + METRE_CABLE = 'METRE_CABLE', + BOBINE = 'BOBINE', + AUTRE = 'AUTRE' +} + +export enum StatutStock { + ACTIF = 'ACTIF', + INACTIF = 'INACTIF', + OBSOLETE = 'OBSOLETE', + SUPPRIME = 'SUPPRIME', + EN_COMMANDE = 'EN_COMMANDE', + EN_TRANSIT = 'EN_TRANSIT', + EN_CONTROLE = 'EN_CONTROLE', + QUARANTAINE = 'QUARANTAINE', + DEFECTUEUX = 'DEFECTUEUX', + PERDU = 'PERDU', + RESERVE = 'RESERVE', + EN_REPARATION = 'EN_REPARATION' +} + +export interface Stock { + id?: string; + reference: string; + designation: string; + description?: string; + categorie: CategorieStock; + sousCategorie?: string; + uniteMesure: UniteMesure; + quantiteStock: number; + quantiteMinimum?: number; + quantiteMaximum?: number; + quantiteSecurite?: number; + quantiteReservee?: number; + quantiteEnCommande?: number; + prixUnitaireHT?: number; + coutMoyenPondere?: number; + coutDerniereEntree?: number; + tauxTVA?: number; + emplacementStockage?: string; + codeZone?: string; + codeAllee?: string; + codeEtagere?: string; + fournisseurPrincipal?: { + id: string; + nom: string; + }; + chantier?: { + id: string; + nom: string; + }; + marque?: string; + modele?: string; + referenceFournisseur?: string; + codeBarre?: string; + codeEAN?: string; + poidsUnitaire?: number; + longueur?: number; + largeur?: number; + hauteur?: number; + volume?: number; + dateDerniereEntree?: string; + dateDerniereSortie?: string; + datePeremption?: string; + dateDerniereInventaire?: string; + statut: StatutStock; + gestionParLot?: boolean; + traçabiliteRequise?: boolean; + articlePerissable?: boolean; + controleQualiteRequis?: boolean; + articleDangereux?: boolean; + classeDanger?: string; + commentaires?: string; + notesStockage?: string; + conditionsStockage?: string; + temperatureStockageMin?: number; + temperatureStockageMax?: number; + humiditeMax?: number; + dateCreation?: string; + dateModification?: string; + creePar?: string; + modifiePar?: string; + + // Propriétés calculées + quantiteDisponible?: number; + valeurStock?: number; + enRupture?: boolean; + sousQuantiteMinimum?: boolean; + sousQuantiteSecurite?: boolean; + perime?: boolean; +} + +export interface MouvementStock { + stockId: string; + quantite: number; + coutUnitaire?: number; + motif?: string; + chantierId?: string; + reference?: string; +} + +export interface StockStatistiques { + total: number; + parCategorie: Record; + parStatut: Record; + articlesEnRupture: number; + articlesSousMinimum: number; + articlesPerimes: number; + valeurTotaleStock: number; +} \ No newline at end of file diff --git a/types/stocks.ts b/types/stocks.ts new file mode 100644 index 0000000..8f34dc9 --- /dev/null +++ b/types/stocks.ts @@ -0,0 +1,53 @@ +/** + * Types pour la gestion des stocks + */ + +export interface Stock { + id: string; + nom: string; + description?: string; + quantite: number; + quantiteMin: number; + quantiteMax: number; + unite: string; + prixUnitaire: number; + dateCreation: string; + dateModification: string; + actif: boolean; + fournisseur?: { + id: string; + nom: string; + }; + categorie?: { + id: string; + nom: string; + }; +} + +export interface StockMovement { + id: string; + type: 'ENTREE' | 'SORTIE'; + quantite: number; + dateMovement: string; + motif: string; + utilisateur: string; + chantier?: { + id: string; + nom: string; + }; +} + +export interface StockAlert { + id: string; + type: 'STOCK_BAS' | 'STOCK_CRITIQUE' | 'PEREMPTION'; + message: string; + dateCreation: string; + traite: boolean; +} + +export interface StockStats { + totalArticles: number; + valeurTotale: number; + articlesEnRupture: number; + articlesEnAlerte: number; +} \ No newline at end of file diff --git a/utils/formatters.ts b/utils/formatters.ts new file mode 100644 index 0000000..122378f --- /dev/null +++ b/utils/formatters.ts @@ -0,0 +1,176 @@ +/** + * Utilitaires de formatage pour l'application BTP Xpress + */ + +/** + * Formate un montant en devise avec le symbole Euro + * @param amount - Le montant à formater + * @param currency - La devise (par défaut EUR) + * @returns Le montant formaté avec le symbole de devise + */ +export const formatCurrency = (amount: number, currency: string = 'EUR'): string => { + return new Intl.NumberFormat('fr-FR', { + style: 'currency', + currency: currency, + minimumFractionDigits: 2, + maximumFractionDigits: 2 + }).format(amount); +}; + +/** + * Formate un nombre avec des séparateurs de milliers + * @param value - Le nombre à formater + * @returns Le nombre formaté avec séparateurs + */ +export const formatNumber = (value: number): string => { + return new Intl.NumberFormat('fr-FR').format(value); +}; + +/** + * Formate une date en français + * @param date - La date à formater + * @param options - Options de formatage + * @returns La date formatée + */ +export const formatDate = (date: string | Date, options?: Intl.DateTimeFormatOptions): string => { + const dateObj = typeof date === 'string' ? new Date(date) : date; + + const defaultOptions: Intl.DateTimeFormatOptions = { + day: '2-digit', + month: '2-digit', + year: 'numeric' + }; + + return new Intl.DateTimeFormat('fr-FR', options || defaultOptions).format(dateObj); +}; + +/** + * Formate une date et heure en français + * @param datetime - La date/heure à formater + * @returns La date/heure formatée + */ +export const formatDateTime = (datetime: string | Date): string => { + const dateObj = typeof datetime === 'string' ? new Date(datetime) : datetime; + + return new Intl.DateTimeFormat('fr-FR', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + hour: '2-digit', + minute: '2-digit' + }).format(dateObj); +}; + +/** + * Formate un pourcentage + * @param value - La valeur à formater (entre 0 et 1 ou 0 et 100) + * @param isDecimal - Si true, la valeur est entre 0 et 1, sinon entre 0 et 100 + * @returns Le pourcentage formaté + */ +export const formatPercentage = (value: number, isDecimal: boolean = false): string => { + const percentage = isDecimal ? value * 100 : value; + return new Intl.NumberFormat('fr-FR', { + style: 'percent', + minimumFractionDigits: 0, + maximumFractionDigits: 2 + }).format(isDecimal ? value : value / 100); +}; + +/** + * Formate une durée en jours + * @param days - Le nombre de jours + * @returns La durée formatée + */ +export const formatDuration = (days: number): string => { + if (days === 0) return 'Aujourd\'hui'; + if (days === 1) return '1 jour'; + if (days === -1) return 'Il y a 1 jour'; + if (days > 0) return `${days} jours`; + return `Il y a ${Math.abs(days)} jour${Math.abs(days) > 1 ? 's' : ''}`; +}; + +/** + * Formate la taille d'un fichier + * @param bytes - La taille en bytes + * @returns La taille formatée + */ +export const formatFileSize = (bytes: number): string => { + const sizes = ['B', 'KB', 'MB', 'GB', 'TB']; + if (bytes === 0) return '0 B'; + + const i = Math.floor(Math.log(bytes) / Math.log(1024)); + return Math.round(bytes / Math.pow(1024, i) * 100) / 100 + ' ' + sizes[i]; +}; + +/** + * Formate un nom complet à partir du prénom et nom + * @param prenom - Le prénom + * @param nom - Le nom + * @returns Le nom complet formaté + */ +export const formatFullName = (prenom: string, nom: string): string => { + return `${prenom} ${nom}`.trim(); +}; + +/** + * Formate une adresse complète + * @param adresse - L'adresse + * @param codePostal - Le code postal + * @param ville - La ville + * @returns L'adresse complète formatée + */ +export const formatAddress = (adresse?: string, codePostal?: string, ville?: string): string => { + const parts = [adresse, codePostal, ville].filter(part => part && part.trim()); + return parts.join(', '); +}; + +/** + * Formate un numéro de téléphone français + * @param telephone - Le numéro de téléphone + * @returns Le numéro formaté + */ +export const formatPhoneNumber = (telephone: string): string => { + // Supprime tous les caractères non numériques + const cleaned = telephone.replace(/\D/g, ''); + + // Vérifie si c'est un numéro français (10 chiffres) + if (cleaned.length === 10) { + return cleaned.replace(/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/, '$1 $2 $3 $4 $5'); + } + + // Retourne le numéro tel quel si ce n'est pas un format français standard + return telephone; +}; + +/** + * Tronque un texte à une longueur donnée + * @param text - Le texte à tronquer + * @param maxLength - La longueur maximale + * @returns Le texte tronqué + */ +export const truncateText = (text: string, maxLength: number): string => { + if (text.length <= maxLength) return text; + return text.substring(0, maxLength - 3) + '...'; +}; + +/** + * Capitalise la première lettre d'une chaîne + * @param str - La chaîne à capitaliser + * @returns La chaîne capitalisée + */ +export const capitalize = (str: string): string => { + if (!str) return ''; + return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); +}; + +/** + * Formate un statut pour l'affichage + * @param status - Le statut brut + * @returns Le statut formaté + */ +export const formatStatus = (status: string): string => { + return status + .split('_') + .map(word => capitalize(word)) + .join(' '); +}; \ No newline at end of file diff --git a/utils/inputSanitizer.ts b/utils/inputSanitizer.ts new file mode 100644 index 0000000..a7d2a5a --- /dev/null +++ b/utils/inputSanitizer.ts @@ -0,0 +1,132 @@ +/** + * Utilitaires de sanitisation pour les entrées utilisateur côté frontend + */ + +export class InputSanitizer { + /** + * Encode les entités HTML pour prévenir XSS + */ + static encodeHtml(input: string): string { + if (!input) return input; + + const div = document.createElement('div'); + div.textContent = input; + return div.innerHTML; + } + + /** + * Supprime les balises HTML dangereuses + */ + static stripHtml(input: string): string { + if (!input) return input; + + return input.replace(/<[^>]*>/g, ''); + } + + /** + * Sanitise un email + */ + static sanitizeEmail(email: string): string { + if (!email) return email; + + return email.trim().toLowerCase(); + } + + /** + * Sanitise un nom/prénom + */ + static sanitizeName(name: string): string { + if (!name) return name; + + // Supprimer les caractères dangereux + let sanitized = name.replace(/[<>'"&]/g, ''); + + // Garder seulement les lettres, espaces, tirets et apostrophes + sanitized = sanitized.replace(/[^a-zA-ZàáâäçéèêëíìîïñóòôöúùûüÿýÀÁÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜŸÝ\s'-]/g, ''); + + return sanitized.trim(); + } + + /** + * Sanitise un numéro de téléphone + */ + static sanitizePhone(phone: string): string { + if (!phone) return phone; + + // Garder seulement les chiffres et le + au début + return phone.replace(/[^0-9+]/g, ''); + } + + /** + * Sanitise une adresse + */ + static sanitizeAddress(address: string): string { + if (!address) return address; + + // Supprimer les caractères dangereux + let sanitized = address.replace(/[<>'"&]/g, ''); + + // Garder les caractères alphanumériques et ponctuation courante + sanitized = sanitized.replace(/[^a-zA-Z0-9àáâäçéèêëíìîïñóòôöúùûüÿýÀÁÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜŸÝ\s,.-]/g, ''); + + return sanitized.trim(); + } + + /** + * Valide qu'une entrée ne contient pas de code malveillant + */ + static isInputSafe(input: string): boolean { + if (!input) return true; + + const dangerousPatterns = [ + /]*>.*?<\/script>/gi, + /javascript:/gi, + /vbscript:/gi, + /onload=/gi, + /onerror=/gi, + /onclick=/gi, + /onmouseover=/gi, + /eval\(/gi, + /expression\(/gi, + ]; + + return !dangerousPatterns.some(pattern => pattern.test(input)); + } + + /** + * Sanitise une entrée générique + */ + static sanitize(input: string): string { + if (!input) return input; + + // Supprimer les balises HTML + let sanitized = this.stripHtml(input); + + // Encoder les entités HTML + sanitized = this.encodeHtml(sanitized); + + return sanitized.trim(); + } +} + +/** + * Hook React pour la sanitisation automatique des inputs + */ +export function useSanitizedInput(initialValue: string = '') { + const [value, setValue] = React.useState(initialValue); + + const setSanitizedValue = (newValue: string) => { + const sanitized = InputSanitizer.sanitize(newValue); + setValue(sanitized); + }; + + return [value, setSanitizedValue] as const; +} + +// Import React pour le hook (si disponible) +let React: any; +try { + React = require('react'); +} catch (e) { + // React non disponible, le hook ne sera pas utilisable +} \ No newline at end of file diff --git a/utils/secureStorage.ts b/utils/secureStorage.ts new file mode 100644 index 0000000..545ecfa --- /dev/null +++ b/utils/secureStorage.ts @@ -0,0 +1,150 @@ +/** + * Utilitaire de stockage sécurisé pour BTP Xpress + * Gestion des tokens et données sensibles + */ + +export interface StorageItem { + value: any; + timestamp: number; + expiry?: number; +} + +export class SecureStorage { + private static readonly PREFIX = 'btpxpress_'; + + /** + * Stocke une valeur de manière sécurisée + */ + static set(key: string, value: any, expiryMinutes?: number): void { + try { + const item: StorageItem = { + value, + timestamp: Date.now(), + expiry: expiryMinutes ? Date.now() + (expiryMinutes * 60 * 1000) : undefined + }; + + const storageKey = this.PREFIX + key; + const encrypted = this.encrypt(JSON.stringify(item)); + + // Utiliser sessionStorage par défaut pour plus de sécurité + sessionStorage.setItem(storageKey, encrypted); + } catch (error) { + console.error('Erreur lors du stockage sécurisé:', error); + } + } + + /** + * Récupère une valeur stockée + */ + static get(key: string): any { + try { + const storageKey = this.PREFIX + key; + const encrypted = sessionStorage.getItem(storageKey) || localStorage.getItem(storageKey); + + if (!encrypted) { + return null; + } + + const decrypted = this.decrypt(encrypted); + const item: StorageItem = JSON.parse(decrypted); + + // Vérifier l'expiration + if (item.expiry && Date.now() > item.expiry) { + this.remove(key); + return null; + } + + return item.value; + } catch (error) { + console.error('Erreur lors de la récupération sécurisée:', error); + return null; + } + } + + /** + * Supprime une valeur stockée + */ + static remove(key: string): void { + try { + const storageKey = this.PREFIX + key; + sessionStorage.removeItem(storageKey); + localStorage.removeItem(storageKey); + } catch (error) { + console.error('Erreur lors de la suppression sécurisée:', error); + } + } + + /** + * Vide tout le stockage sécurisé + */ + static clearAll(): void { + try { + // Nettoyer sessionStorage + Object.keys(sessionStorage).forEach(key => { + if (key.startsWith(this.PREFIX)) { + sessionStorage.removeItem(key); + } + }); + + // Nettoyer localStorage + Object.keys(localStorage).forEach(key => { + if (key.startsWith(this.PREFIX)) { + localStorage.removeItem(key); + } + }); + + // Nettoyer aussi les anciens tokens + sessionStorage.removeItem('auth_token'); + localStorage.removeItem('auth_token'); + localStorage.removeItem('token'); + localStorage.removeItem('user'); + } catch (error) { + console.error('Erreur lors du nettoyage sécurisé:', error); + } + } + + /** + * Vérifie si une clé existe et n'est pas expirée + */ + static exists(key: string): boolean { + return this.get(key) !== null; + } + + /** + * Chiffrement simple (Base64 + rotation) + * Note: Pour un vrai projet, utiliser une vraie bibliothèque de chiffrement + */ + private static encrypt(data: string): string { + try { + // Chiffrement simple avec Base64 et rotation de caractères + const rotated = data.split('').map(char => + String.fromCharCode(char.charCodeAt(0) + 3) + ).join(''); + + return btoa(rotated); + } catch (error) { + console.error('Erreur de chiffrement:', error); + return btoa(data); // Fallback vers Base64 simple + } + } + + /** + * Déchiffrement simple + */ + private static decrypt(encrypted: string): string { + try { + const decoded = atob(encrypted); + + // Dérotation des caractères + return decoded.split('').map(char => + String.fromCharCode(char.charCodeAt(0) - 3) + ).join(''); + } catch (error) { + console.error('Erreur de déchiffrement:', error); + return atob(encrypted); // Fallback vers Base64 simple + } + } +} + +// Export par défaut pour compatibilité +export default SecureStorage; diff --git a/utils/workflowTester.ts b/utils/workflowTester.ts new file mode 100644 index 0000000..30e30f4 --- /dev/null +++ b/utils/workflowTester.ts @@ -0,0 +1,547 @@ +/** + * Testeur de workflows pour valider tous les processus métier + * Simule les interactions utilisateur réelles avec le système + */ + +import testDataService from '../services/testDataService'; +import phaseValidationService from '../services/phaseValidationService'; +import chantierTemplateService from '../services/chantierTemplateService'; +import type { PhaseChantier, Chantier, Client } from '../types/btp'; +import type { TypeChantier } from '../types/chantier-templates'; + +export interface WorkflowTestResult { + workflowName: string; + success: boolean; + steps: WorkflowStep[]; + duration: number; + errorMessage?: string; +} + +export interface WorkflowStep { + stepName: string; + success: boolean; + message: string; + data?: any; +} + +class WorkflowTester { + + /** + * Test du workflow complet de création d'un projet + */ + async testProjectCreationWorkflow(): Promise { + const startTime = Date.now(); + const steps: WorkflowStep[] = []; + + try { + // Étape 1: Création du client + steps.push({ + stepName: 'Création client', + success: true, + message: 'Client créé avec succès', + data: testDataService.generateTestClient(1) + }); + const client = steps[0].data as Client; + + // Étape 2: Sélection du type de chantier + steps.push({ + stepName: 'Sélection type chantier', + success: true, + message: 'Type MAISON_INDIVIDUELLE sélectionné', + data: 'MAISON_INDIVIDUELLE' + }); + const typeChantier = steps[1].data as TypeChantier; + + // Étape 3: Prévisualisation des phases (template) + const template = chantierTemplateService.getTemplate(typeChantier); + steps.push({ + stepName: 'Prévisualisation phases', + success: template.phases.length > 0, + message: `${template.phases.length} phases prévues pour ce type`, + data: template + }); + + // Étape 4: Création du chantier + const chantier = testDataService.generateTestChantier(1, typeChantier, client); + steps.push({ + stepName: 'Création chantier', + success: !!chantier.id && !!chantier.typeChantier, + message: `Chantier "${chantier.nom}" créé`, + data: chantier + }); + + // Étape 5: Génération automatique des phases + const phases = testDataService.generateTestPhases(chantier); + steps.push({ + stepName: 'Génération phases', + success: phases.length > 0, + message: `${phases.length} phases générées automatiquement`, + data: phases + }); + + // Étape 6: Validation de la cohérence + const validation = phaseValidationService.validateProjectSchedule(phases); + steps.push({ + stepName: 'Validation cohérence', + success: validation.globalErrors.length === 0, + message: validation.isValid ? 'Planning cohérent' : `${validation.globalErrors.length} erreurs détectées`, + data: validation + }); + + return { + workflowName: 'Création de projet complet', + success: steps.every(s => s.success), + steps, + duration: Date.now() - startTime + }; + + } catch (error) { + return { + workflowName: 'Création de projet complet', + success: false, + steps, + duration: Date.now() - startTime, + errorMessage: error instanceof Error ? error.message : 'Erreur inconnue' + }; + } + } + + /** + * Test du workflow de filtrage avancé + */ + async testAdvancedFilteringWorkflow(): Promise { + const startTime = Date.now(); + const steps: WorkflowStep[] = []; + + try { + // Génération de données de test variées + const dataset = testDataService.generateTestDataset(5); + const allPhases = dataset.flatMap(d => d.phases); + + steps.push({ + stepName: 'Génération données test', + success: allPhases.length > 0, + message: `${allPhases.length} phases générées pour ${dataset.length} projets`, + data: { dataset, allPhases } + }); + + // Test filtre par statut + const filtres = { + enCours: allPhases.filter(p => p.statut === 'EN_COURS'), + terminees: allPhases.filter(p => p.statut === 'TERMINEE'), + planifiees: allPhases.filter(p => p.statut === 'PLANIFIEE'), + critiques: allPhases.filter(p => p.critique), + sousPhases: allPhases.filter(p => p.phaseParent), + principales: allPhases.filter(p => !p.phaseParent) + }; + + steps.push({ + stepName: 'Filtres par statut', + success: true, + message: `Filtres appliqués: ${filtres.enCours.length} en cours, ${filtres.terminees.length} terminées, ${filtres.planifiees.length} planifiées`, + data: filtres + }); + + // Test filtre hiérarchique + const hierarchie = { + principales: filtres.principales.length, + sousPhases: filtres.sousPhases.length, + total: allPhases.length + }; + + steps.push({ + stepName: 'Filtre hiérarchique', + success: hierarchie.principales + hierarchie.sousPhases === hierarchie.total, + message: `Hiérarchie: ${hierarchie.principales} principales + ${hierarchie.sousPhases} sous-phases = ${hierarchie.total} total`, + data: hierarchie + }); + + // Test filtre par criticité + steps.push({ + stepName: 'Filtre par criticité', + success: true, + message: `${filtres.critiques.length} phases critiques identifiées`, + data: filtres.critiques + }); + + // Test filtre par dates (simulation) + const aujourd_hui = new Date(); + const phasesActuelles = allPhases.filter(p => { + if (!p.dateDebutPrevue || !p.dateFinPrevue) return false; + const debut = new Date(p.dateDebutPrevue); + const fin = new Date(p.dateFinPrevue); + return debut <= aujourd_hui && fin >= aujourd_hui; + }); + + steps.push({ + stepName: 'Filtre par période', + success: true, + message: `${phasesActuelles.length} phases dans la période actuelle`, + data: phasesActuelles + }); + + return { + workflowName: 'Filtrage avancé', + success: steps.every(s => s.success), + steps, + duration: Date.now() - startTime + }; + + } catch (error) { + return { + workflowName: 'Filtrage avancé', + success: false, + steps, + duration: Date.now() - startTime, + errorMessage: error instanceof Error ? error.message : 'Erreur inconnue' + }; + } + } + + /** + * Test du workflow de validation et démarrage de phases + */ + async testPhaseValidationWorkflow(): Promise { + const startTime = Date.now(); + const steps: WorkflowStep[] = []; + + try { + // Génération d'un projet avec prérequis + const client = testDataService.generateTestClient(1); + const chantier = testDataService.generateTestChantier(1, 'MAISON_INDIVIDUELLE', client); + const phases = testDataService.generatePhasesWithPrerequisites(chantier); + + steps.push({ + stepName: 'Génération projet avec prérequis', + success: phases.length > 0, + message: `Projet avec ${phases.length} phases et prérequis généré`, + data: { chantier, phases } + }); + + // Test validation première phase (sans prérequis) + const premierePhase = phases.find(p => !p.prerequis || p.prerequis.length === 0); + if (!premierePhase) { + throw new Error('Aucune phase sans prérequis trouvée'); + } + + const validationPremiere = phaseValidationService.validatePhaseStart(premierePhase, phases); + steps.push({ + stepName: 'Validation première phase', + success: validationPremiere.canStart, + message: `Première phase "${premierePhase.nom}" peut ${validationPremiere.canStart ? '' : 'ne pas '}démarrer`, + data: validationPremiere + }); + + // Simulation démarrage première phase + premierePhase.statut = 'EN_COURS'; + premierePhase.dateDebutReelle = new Date().toISOString().split('T')[0]; + premierePhase.pourcentageAvancement = 30; + + steps.push({ + stepName: 'Démarrage première phase', + success: premierePhase.statut === 'EN_COURS', + message: `Phase "${premierePhase.nom}" démarrée avec succès`, + data: premierePhase + }); + + // Test validation phase avec prérequis + const phaseAvecPrerequis = phases.find(p => p.prerequis && p.prerequis.length > 0); + if (phaseAvecPrerequis) { + const validationPrerequis = phaseValidationService.validatePhaseStart(phaseAvecPrerequis, phases); + const prerequis = phaseAvecPrerequis.prerequis!; + const prerequisTermines = prerequis.every(prereqId => { + const prereq = phases.find(p => p.id === prereqId); + return prereq && prereq.statut === 'TERMINEE'; + }); + + steps.push({ + stepName: 'Validation phase avec prérequis', + success: prerequisTermines || !validationPrerequis.canStart, + message: `Phase "${phaseAvecPrerequis.nom}" - ${prerequis.length} prérequis, peut ${validationPrerequis.canStart ? '' : 'ne pas '}démarrer`, + data: validationPrerequis + }); + } + + // Test termination et cascade + premierePhase.statut = 'TERMINEE'; + premierePhase.dateFinReelle = new Date().toISOString().split('T')[0]; + premierePhase.pourcentageAvancement = 100; + + // Revalider les phases suivantes + const phasesBloquees = phases.filter(p => + p.prerequis?.includes(premierePhase.id!) && p.statut === 'PLANIFIEE' + ); + + const validationsApres = phasesBloquees.map(p => ({ + phase: p.nom, + validation: phaseValidationService.validatePhaseStart(p, phases) + })); + + steps.push({ + stepName: 'Cascade de déverrouillage', + success: true, + message: `${phasesBloquees.length} phases déverrouillées après fin de "${premierePhase.nom}"`, + data: validationsApres + }); + + return { + workflowName: 'Validation et démarrage phases', + success: steps.every(s => s.success), + steps, + duration: Date.now() - startTime + }; + + } catch (error) { + return { + workflowName: 'Validation et démarrage phases', + success: false, + steps, + duration: Date.now() - startTime, + errorMessage: error instanceof Error ? error.message : 'Erreur inconnue' + }; + } + } + + /** + * Test du workflow de gestion hiérarchique + */ + async testHierarchicalManagementWorkflow(): Promise { + const startTime = Date.now(); + const steps: WorkflowStep[] = []; + + try { + // Génération d'un projet avec phases et sous-phases + const client = testDataService.generateTestClient(1); + const chantier = testDataService.generateTestChantier(1, 'MAISON_INDIVIDUELLE', client); + const phases = testDataService.generateTestPhases(chantier); + + const phasesPrincipales = phases.filter(p => !p.phaseParent); + const sousPhases = phases.filter(p => p.phaseParent); + + steps.push({ + stepName: 'Génération structure hiérarchique', + success: phasesPrincipales.length > 0 && sousPhases.length > 0, + message: `Structure: ${phasesPrincipales.length} phases principales, ${sousPhases.length} sous-phases`, + data: { phasesPrincipales, sousPhases } + }); + + // Vérification des liens parent-enfant + let liensCorrects = 0; + let liensIncorrects = 0; + + sousPhases.forEach(sousPhase => { + const parent = phases.find(p => p.id === sousPhase.phaseParent); + if (parent) { + liensCorrects++; + } else { + liensIncorrects++; + } + }); + + steps.push({ + stepName: 'Vérification liens hiérarchiques', + success: liensIncorrects === 0, + message: `${liensCorrects} liens corrects, ${liensIncorrects} liens incorrects`, + data: { liensCorrects, liensIncorrects } + }); + + // Test d'affichage hiérarchique (simulation) + const affichageHierarchique = phasesPrincipales.map(principale => ({ + phase: principale, + sousPhases: sousPhases.filter(sp => sp.phaseParent === principale.id), + niveau: 0 + })); + + const totalElements = affichageHierarchique.reduce((acc, item) => + acc + 1 + item.sousPhases.length, 0 + ); + + steps.push({ + stepName: 'Simulation affichage hiérarchique', + success: totalElements === phases.length, + message: `Affichage hiérarchique: ${totalElements} éléments organisés`, + data: affichageHierarchique + }); + + // Test de filtrage hiérarchique + const filtreSeulementPrincipales = phases.filter(p => !p.phaseParent); + const filtreAvecSousPhases = phases; // Tous + + steps.push({ + stepName: 'Filtrage hiérarchique', + success: filtreSeulementPrincipales.length < filtreAvecSousPhases.length, + message: `Filtres: ${filtreSeulementPrincipales.length} principales uniquement, ${filtreAvecSousPhases.length} avec sous-phases`, + data: { filtreSeulementPrincipales, filtreAvecSousPhases } + }); + + return { + workflowName: 'Gestion hiérarchique', + success: steps.every(s => s.success), + steps, + duration: Date.now() - startTime + }; + + } catch (error) { + return { + workflowName: 'Gestion hiérarchique', + success: false, + steps, + duration: Date.now() - startTime, + errorMessage: error instanceof Error ? error.message : 'Erreur inconnue' + }; + } + } + + /** + * Test du workflow de templates et auto-génération + */ + async testTemplateAutoGenerationWorkflow(): Promise { + const startTime = Date.now(); + const steps: WorkflowStep[] = []; + + try { + // Test de tous les types de chantier disponibles + const typesDisponibles = chantierTemplateService.getAvailableTypes(); + + steps.push({ + stepName: 'Récupération types chantier', + success: typesDisponibles.length > 0, + message: `${typesDisponibles.length} types de chantier disponibles`, + data: typesDisponibles + }); + + // Génération pour chaque type + const generationsParType: any[] = []; + + for (const type of typesDisponibles.slice(0, 3)) { // Limiter à 3 pour les tests + const client = testDataService.generateTestClient(1); + const chantier = testDataService.generateTestChantier(1, type.id as TypeChantier, client); + const phases = testDataService.generateTestPhases(chantier); + + generationsParType.push({ + type: type.id, + nom: type.nom, + phases: phases.length, + sousPhases: phases.filter(p => p.phaseParent).length, + dureeEstimee: phases.reduce((acc, p) => acc + (p.dureeEstimeeHeures || 0), 0) + }); + } + + steps.push({ + stepName: 'Auto-génération par type', + success: generationsParType.every(g => g.phases > 0), + message: `Génération réussie pour ${generationsParType.length} types`, + data: generationsParType + }); + + // Comparaison avec templates + const comparaisonTemplates = generationsParType.map(gen => { + const template = chantierTemplateService.getTemplate(gen.type as TypeChantier); + return { + type: gen.type, + templatePhases: template.phases.length, + generatedPhases: gen.phases, + match: template.phases.length <= gen.phases // Généré peut inclure sous-phases + }; + }); + + steps.push({ + stepName: 'Comparaison avec templates', + success: comparaisonTemplates.every(c => c.match), + message: `Correspondance templates: ${comparaisonTemplates.filter(c => c.match).length}/${comparaisonTemplates.length}`, + data: comparaisonTemplates + }); + + // Test cohérence des prérequis générés + const client = testDataService.generateTestClient(1); + const chantier = testDataService.generateTestChantier(1, 'MAISON_INDIVIDUELLE', client); + const phasesAvecPrerequis = testDataService.generatePhasesWithPrerequisites(chantier); + + const prerequisValides = phasesAvecPrerequis.every(phase => { + if (!phase.prerequis) return true; + return phase.prerequis.every(prereqId => + phasesAvecPrerequis.some(p => p.id === prereqId) + ); + }); + + steps.push({ + stepName: 'Cohérence prérequis', + success: prerequisValides, + message: `Prérequis ${prerequisValides ? 'cohérents' : 'incohérents'} pour ${phasesAvecPrerequis.length} phases`, + data: { phasesAvecPrerequis, prerequisValides } + }); + + return { + workflowName: 'Templates et auto-génération', + success: steps.every(s => s.success), + steps, + duration: Date.now() - startTime + }; + + } catch (error) { + return { + workflowName: 'Templates et auto-génération', + success: false, + steps, + duration: Date.now() - startTime, + errorMessage: error instanceof Error ? error.message : 'Erreur inconnue' + }; + } + } + + /** + * Exécute tous les workflows de test + */ + async runAllWorkflows(): Promise { + const results = await Promise.all([ + this.testProjectCreationWorkflow(), + this.testAdvancedFilteringWorkflow(), + this.testPhaseValidationWorkflow(), + this.testHierarchicalManagementWorkflow(), + this.testTemplateAutoGenerationWorkflow() + ]); + + return results; + } + + /** + * Génère un rapport de workflows + */ + generateWorkflowReport(results: WorkflowTestResult[]): string { + const totalWorkflows = results.length; + const successfulWorkflows = results.filter(r => r.success).length; + const totalSteps = results.reduce((acc, r) => acc + r.steps.length, 0); + const successfulSteps = results.reduce((acc, r) => acc + r.steps.filter(s => s.success).length, 0); + const totalDuration = results.reduce((acc, r) => acc + r.duration, 0); + + let report = `# Rapport des workflows BTPXpress\n\n`; + report += `## Résumé global\n`; + report += `- Workflows testés: ${totalWorkflows}\n`; + report += `- Workflows réussis: ${successfulWorkflows} (${Math.round((successfulWorkflows/totalWorkflows)*100)}%)\n`; + report += `- Étapes totales: ${totalSteps}\n`; + report += `- Étapes réussies: ${successfulSteps} (${Math.round((successfulSteps/totalSteps)*100)}%)\n`; + report += `- Durée totale: ${totalDuration}ms\n\n`; + + results.forEach(result => { + report += `## ${result.workflowName}\n`; + report += `**Statut:** ${result.success ? '✅ Réussi' : '❌ Échoué'}\n`; + report += `**Durée:** ${result.duration}ms\n`; + + if (result.errorMessage) { + report += `**Erreur:** ${result.errorMessage}\n`; + } + + report += `**Étapes:**\n`; + result.steps.forEach((step, index) => { + const status = step.success ? '✅' : '❌'; + report += `${index + 1}. ${status} ${step.stepName}: ${step.message}\n`; + }); + + report += `\n`; + }); + + return report; + } +} + +export default new WorkflowTester(); \ No newline at end of file