-
-
#{superAdminBean.revenus.moyenne}
+
+
#{superAdminBean.revenus.moyenne}
Revenu moyen / entité
diff --git a/src/main/resources/META-INF/resources/resources/css/dashboard-premium.css b/src/main/resources/META-INF/resources/resources/css/dashboard-premium.css
new file mode 100644
index 0000000..8e9614a
--- /dev/null
+++ b/src/main/resources/META-INF/resources/resources/css/dashboard-premium.css
@@ -0,0 +1,110 @@
+/* ==========================================================================
+ UnionFlow Premium Dashboard Design System (Banking / Governance aesthetic)
+ ========================================================================== */
+
+/* 1. Custom Color Tokens (Overrides for PrimeFlex) */
+
+/* Primary Blue (Bleu Tech/Moderne) */
+.uf-text-navy { color: var(--primary-color, #4F46E5) !important; }
+.uf-bg-navy { background-color: var(--primary-color, #4F46E5) !important; }
+.uf-bg-navy-light { background-color: rgba(79, 70, 229, 0.08) !important; }
+.uf-border-navy { border-color: var(--primary-color, #4F46E5) !important; }
+.uf-border-left-navy { border-left-color: var(--primary-color, #4F46E5) !important; }
+
+/* Forest Green (Vert Forêt) */
+.uf-text-forest { color: #126A54 !important; }
+.uf-bg-forest { background-color: #126A54 !important; }
+.uf-bg-forest-light { background-color: rgba(18, 106, 84, 0.08) !important; }
+.uf-border-forest { border-color: #126A54 !important; }
+.uf-border-left-forest { border-left-color: #126A54 !important; }
+
+/* Premium Gold (Or) */
+.uf-text-gold { color: #E6C57A !important; }
+.uf-bg-gold { background-color: #E6C57A !important; }
+.uf-bg-gold-light { background-color: rgba(230, 197, 122, 0.15) !important; }
+.uf-border-gold { border-color: #E6C57A !important; }
+.uf-border-left-gold { border-left-color: #E6C57A !important; }
+
+/* Critical Premium Red (Deep Burgundy/Carmine instead of bright aggressive red) */
+.uf-text-crimson { color: #C92A2A !important; }
+.uf-bg-crimson { background-color: #C92A2A !important; }
+.uf-bg-crimson-light { background-color: rgba(201, 42, 42, 0.06) !important; }
+.uf-border-crimson { border-color: #C92A2A !important; }
+.uf-border-left-crimson { border-left-color: #C92A2A !important; }
+
+/* Neutral Premium (Deep Gray) */
+.uf-text-neutral { color: #334155 !important; }
+.uf-bg-neutral-light { background-color: #F8FAFC !important; }
+
+
+/* 2. Premium Card Styles (Glassmorphism & Shadows) */
+
+/* Modernizing the default cards */
+.layout-content .card {
+ border-radius: 16px;
+ border: 1px solid rgba(79, 70, 229, 0.08); /* Primary color low opacity */
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
+ background: #FFFFFF;
+ transition: box-shadow 0.3s ease;
+}
+
+.layout-content .card:hover {
+ box-shadow: 0 6px 24px rgba(79, 70, 229, 0.1);
+}
+
+/* KPI Overview Cards (Elevated, Interactive) */
+.uf-kpi-card {
+ border-radius: 12px;
+ border: 1px solid rgba(0,0,0,0.03) !important;
+ background: #FFFFFF !important;
+ transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease !important;
+}
+
+.uf-kpi-card:hover {
+ transform: translateY(-5px) !important;
+ box-shadow: 0 15px 35px rgba(79, 70, 229, 0.15) !important;
+}
+
+/* Alert/Action Cards (With left border) */
+.uf-alert-card {
+ border-radius: 10px;
+ border: 1px solid rgba(0,0,0,0.02);
+ background: #FFFFFF;
+ transition: all 0.25s ease;
+}
+
+.uf-alert-card:hover {
+ transform: translateX(4px);
+ box-shadow: 0 8px 20px rgba(0,0,0,0.05);
+}
+
+/* Icon Containers in Cards */
+.uf-icon-box {
+ width: 3rem;
+ height: 3rem;
+ border-radius: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+}
+
+/* 3. Specialized Elements */
+
+/* Activity Timeline/DataTables in Dashboard */
+.ui-datatable .ui-datatable-header {
+ background: transparent !important;
+ border-bottom: 2px solid rgba(79, 70, 229, 0.1) !important;
+ border-top: none !important;
+ border-left: none !important;
+ border-right: none !important;
+ color: var(--primary-color, #4F46E5) !important;
+}
+
+.ui-tag.ui-tag-success { background: #126A54; }
+.ui-tag.ui-tag-warning { background: #E6C57A; color: var(--primary-color, #4F46E5); }
+.ui-tag.ui-tag-info { background: var(--primary-color, #4F46E5); }
+.ui-tag.ui-tag-danger { background: #C92A2A; }
+
+/* Progress bars */
+.bg-gray-200 { background-color: #EDF2F7 !important; }
diff --git a/src/main/resources/META-INF/resources/resources/css/topbar-elite.css b/src/main/resources/META-INF/resources/resources/css/topbar-elite.css
index afab7ac..a564057 100644
--- a/src/main/resources/META-INF/resources/resources/css/topbar-elite.css
+++ b/src/main/resources/META-INF/resources/resources/css/topbar-elite.css
@@ -913,3 +913,554 @@
color: var(--primary-color, #6366f1);
font-size: 0.875rem;
}
+
+/* ═══════════════════════════════════════════════════════════════════ */
+/* UNIONFLOW BRAND IDENTITY — EXHAUSTIVE DARK/LIGHT MODE SUPPORT */
+/* Charte: #0B304A (Bleu Nuit), #126A54 (Vert Forêt), */
+/* #E6C57A (Or Premium), #F4F6F8 (Fond), #E8EAEC */
+/* */
+/* Freya theme axes: */
+/* 1. topbarTheme → .layout-topbar-light | .layout-topbar-dark */
+/* 2. menuTheme → .layout-menu-light | .layout-menu-dark */
+/* 3. darkMode → layout-light.css | layout-dark.css */
+/* 4. menuMode → .layout-sidebar | .layout-static */
+/* .layout-horizontal | .layout-slim */
+/* ═══════════════════════════════════════════════════════════════════ */
+
+/* ──────────────────────────────────────────────────
+ 1. BASE — Brand Composition (Logo + Text)
+ Now uses .unionflow-topbar-brand (outside of
+ .layout-topbar-logo to avoid Freya display:none)
+ ────────────────────────────────────────────────── */
+
+.unionflow-topbar-brand,
+.unionflow-brand {
+ display: flex !important;
+ align-items: center;
+ gap: 0.625rem;
+ text-decoration: none !important;
+ height: auto !important;
+}
+
+.unionflow-brand-icon {
+ width: 36px;
+ height: 36px;
+ object-fit: contain;
+ flex-shrink: 0;
+ border-radius: 4px;
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.unionflow-topbar-brand:hover .unionflow-brand-icon,
+.unionflow-brand:hover .unionflow-brand-icon {
+ transform: scale(1.05) rotate(-2deg);
+}
+
+.unionflow-brand-text {
+ display: flex;
+ flex-direction: column;
+ line-height: 1;
+ gap: 0.1875rem;
+}
+
+.unionflow-brand-name {
+ font-size: 1.125rem;
+ font-weight: 800;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+ transition: color 0.2s ease;
+}
+
+.unionflow-brand-slogan {
+ font-size: 0.5625rem;
+ font-weight: 600;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+ transition: color 0.2s ease;
+}
+
+/* ──────────────────────────────────────────────────
+ 2. TOPBAR — Dark mode (default: gradient/dark bg)
+ Classes: .layout-topbar-dark, .unionflow-elite
+ ────────────────────────────────────────────────── */
+
+.layout-topbar-dark .unionflow-brand-name,
+.unionflow-elite .unionflow-brand-name {
+ color: #FFFFFF;
+}
+
+.layout-topbar-dark .unionflow-brand-slogan,
+.unionflow-elite .unionflow-brand-slogan {
+ color: rgba(230, 197, 122, 0.9); /* Or Premium #E6C57A */
+}
+
+/* ──────────────────────────────────────────────────
+ 3. TOPBAR — Light mode (white bg)
+ Class: .layout-topbar-light
+ ────────────────────────────────────────────────── */
+
+.layout-topbar-light .unionflow-brand-name {
+ color: #0B304A; /* Bleu Nuit */
+}
+
+.layout-topbar-light .unionflow-brand-slogan {
+ color: #126A54; /* Vert Forêt */
+}
+
+/* ──────────────────────────────────────────────────
+ 4. SIDEBAR BRAND — Single source of branding
+ Collapsed (62px): icon only
+ Expanded (230px): icon + UNIONFLOW + slogan + v1.0
+ ────────────────────────────────────────────────── */
+
+/* --- Logo link container --- */
+.sidebar-logo-link {
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+ text-decoration: none !important;
+ overflow: hidden;
+ flex: 1;
+ min-width: 0;
+}
+
+.sidebar-logo-link:hover .unionflow-sidebar-icon {
+ transform: scale(1.08);
+}
+
+/* --- Icon (always visible — 24px for visual parity with menu icons) --- */
+.unionflow-sidebar-icon {
+ width: 24px !important;
+ height: 24px !important;
+ object-fit: contain;
+ border-radius: 3px;
+ border: 0 none !important;
+ flex-shrink: 0;
+ transition: all 0.2s ease;
+}
+
+/* Override Freya's .menu-wrapper .sidebar-logo img { width:17px; height:20px } */
+.menu-wrapper .sidebar-logo .unionflow-sidebar-icon {
+ width: 24px !important;
+ height: 24px !important;
+}
+
+/* --- Text block (hidden when collapsed) --- */
+.unionflow-sidebar-text {
+ display: flex;
+ flex-direction: column;
+ line-height: 1;
+ gap: 0.125rem;
+ white-space: nowrap;
+ overflow: hidden;
+ visibility: hidden;
+ opacity: 0;
+ width: 0;
+ transition: opacity 0.2s ease, visibility 0.2s ease;
+}
+
+.unionflow-sidebar-name {
+ font-size: 0.9375rem;
+ font-weight: 800;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+}
+
+.unionflow-sidebar-slogan {
+ font-size: 0.5rem;
+ font-weight: 600;
+ letter-spacing: 0.08em;
+ text-transform: uppercase;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+ opacity: 0.7;
+}
+
+/* --- Version badge (hidden when collapsed) --- */
+.unionflow-sidebar-version {
+ display: inline-flex;
+ align-items: center;
+ padding: 0;
+ border-radius: 8px;
+ font-size: 0.625rem;
+ font-weight: 600;
+ white-space: nowrap;
+ visibility: hidden;
+ opacity: 0;
+ width: 0;
+ overflow: hidden;
+ transition: opacity 0.2s ease, visibility 0.2s ease;
+}
+
+/* ──────────────────────────────────────────────────
+ 4b. SIDEBAR EXPANDED — Show full brand
+ Triggered by: layout-static, layout-sidebar-active (hover)
+ ────────────────────────────────────────────────── */
+
+@media (min-width: 992px) {
+ /* Expanded: icon grows slightly */
+ .layout-wrapper.layout-static .menu-wrapper .sidebar-logo .unionflow-sidebar-icon,
+ .menu-wrapper.layout-sidebar-active .sidebar-logo .unionflow-sidebar-icon {
+ width: 30px !important;
+ height: 30px !important;
+ }
+
+ /* Expanded: show text */
+ .layout-wrapper.layout-static .menu-wrapper .sidebar-logo .unionflow-sidebar-text,
+ .menu-wrapper.layout-sidebar-active .sidebar-logo .unionflow-sidebar-text {
+ visibility: visible;
+ opacity: 1;
+ width: auto;
+ }
+
+ /* Expanded: show version badge */
+ .layout-wrapper.layout-static .menu-wrapper .sidebar-logo .unionflow-sidebar-version,
+ .menu-wrapper.layout-sidebar-active .sidebar-logo .unionflow-sidebar-version {
+ visibility: visible;
+ opacity: 1;
+ width: auto;
+ padding: 0.125rem 0.4rem;
+ }
+}
+
+/* ──────────────────────────────────────────────────
+ 5. SIDEBAR — Menu Dark theme
+ Class: .layout-menu-dark (menu bg = #293241)
+ ────────────────────────────────────────────────── */
+
+.layout-menu-dark .unionflow-sidebar-name {
+ color: #FFFFFF;
+}
+
+.layout-menu-dark .unionflow-sidebar-slogan {
+ color: rgba(230, 197, 122, 0.85); /* Or Premium */
+}
+
+.layout-menu-dark .unionflow-sidebar-version {
+ background: rgba(255, 255, 255, 0.15);
+ color: rgba(255, 255, 255, 0.9);
+}
+
+.layout-menu-dark .sidebar-logo-link {
+ color: #E9E9E9;
+}
+
+/* ──────────────────────────────────────────────────
+ 6. SIDEBAR — Menu Light theme
+ Class: .layout-menu-light (menu bg = white)
+ ────────────────────────────────────────────────── */
+
+.layout-menu-light .unionflow-sidebar-name {
+ color: #0B304A; /* Bleu Nuit */
+}
+
+.layout-menu-light .unionflow-sidebar-slogan {
+ color: #126A54; /* Vert Forêt */
+}
+
+.layout-menu-light .unionflow-sidebar-version {
+ background: rgba(11, 48, 74, 0.1);
+ color: #0B304A;
+}
+
+.layout-menu-light .sidebar-logo-link {
+ color: #0B304A;
+}
+
+/* ──────────────────────────────────────────────────
+ 9. LANDING PAGE — Variant Premium Unionflow
+ ────────────────────────────────────────────────── */
+
+/* App background */
+.landing-body {
+ background-color: #F4F6F8 !important; /* Très léger gris/bleu pour le fond de page */
+}
+
+/* Banner (Hero section) - Deep Blue modern gradient instead of the generic mountain */
+.landing-body .landing-banner {
+ background: linear-gradient(135deg, #0B304A 0%, #154B73 50%, #126A54 100%) !important;
+ position: relative;
+ overflow: hidden;
+}
+
+/* Add a subtle geometric overlay effect to the banner for depth */
+.landing-body .landing-banner::before {
+ content: '';
+ position: absolute;
+ top: -50%;
+ left: -50%;
+ width: 200%;
+ height: 200%;
+ background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.03) 0%, transparent 60%);
+ opacity: 0.8;
+ pointer-events: none;
+ animation: rotate-slow 60s linear infinite;
+}
+
+@keyframes rotate-slow {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(360deg); }
+}
+
+/* Typography on Banner */
+.landing-body .landing-banner .landing-banner-content .title {
+ color: #FFFFFF !important;
+ text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+ font-weight: 800 !important;
+ letter-spacing: -0.02em;
+}
+
+.landing-body .landing-banner .landing-banner-content h3 {
+ color: rgba(255, 255, 255, 0.9) !important;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+ font-weight: 400 !important;
+ letter-spacing: 0;
+}
+
+/* Topbar on Landing */
+.landing-body .landing-topbar {
+ background: rgba(255, 255, 255, 0.95) !important;
+ backdrop-filter: blur(10px);
+ border-bottom: 1px solid rgba(11, 48, 74, 0.05);
+ box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
+}
+
+/* Override Freya's tiny 16px landing logo */
+.landing-body .landing-topbar .landing-topbar-left .logo.unionflow-brand--landing {
+ display: flex !important;
+ align-items: center !important;
+ gap: 0.75rem !important;
+ text-decoration: none !important;
+}
+
+.landing-body .landing-topbar .landing-topbar-left .logo.unionflow-brand--landing img.unionflow-brand-icon {
+ width: 36px !important;
+ height: 36px !important;
+}
+
+.landing-body .landing-topbar .landing-topbar-left .logo.unionflow-brand--landing .unionflow-brand-name {
+ font-size: 1.35rem !important;
+ letter-spacing: 0.15em !important;
+ color: #0B304A !important;
+ font-weight: 800 !important;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif !important;
+}
+
+.landing-body .landing-topbar .landing-menu > li > a {
+ color: #0B304A !important;
+ font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ font-size: 0.75rem !important;
+ transition: color 0.3s ease;
+}
+
+.landing-body .landing-topbar .landing-menu > li > a:hover {
+ color: #E6C57A !important; /* Premium Gold */
+}
+
+/* Topbar Secondary Button - Premium Hover */
+.landing-body .landing-topbar-right a[href*="dashboard"] {
+ border: 2px solid #0B304A !important;
+ color: #0B304A !important;
+ transition: all 0.3s ease !important;
+}
+
+.landing-body .landing-topbar-right a[href*="dashboard"]:hover {
+ background: transparent !important;
+ border-color: #E6C57A !important; /* Premium Gold */
+ color: #E6C57A !important;
+ box-shadow: 0 4px 15px rgba(230, 197, 122, 0.2);
+}
+
+/* Banner CTA Button - Premium Gold */
+.landing-body .landing-banner-content a[href*="dashboard"] {
+ background: linear-gradient(135deg, #E6C57A 0%, #D4AF37 100%) !important;
+ color: #0B304A !important;
+ border: none !important;
+ box-shadow: 0 8px 24px rgba(230, 197, 122, 0.4) !important;
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+}
+
+.landing-body .landing-banner-content a[href*="dashboard"]:hover {
+ transform: translateY(-4px) !important;
+ box-shadow: 0 12px 30px rgba(230, 197, 122, 0.6) !important;
+}
+
+/* Feature Cards - Glassmorphism & Shadows */
+.landing-body .landing-features {
+ background: transparent !important;
+}
+
+.landing-body .feature-card {
+ background: #FFFFFF !important;
+ border: 1px solid rgba(11, 48, 74, 0.05) !important;
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04) !important;
+ border-radius: 20px !important;
+ transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease !important;
+}
+
+.landing-body .feature-card:hover {
+ transform: translateY(-12px) !important; /* Increased lift */
+ box-shadow: 0 25px 60px rgba(11, 48, 74, 0.12) !important;
+}
+
+.landing-body .feature-card h3 {
+ color: #0B304A !important;
+ font-weight: 700 !important;
+}
+
+.landing-body .feature-card h5 {
+ color: rgba(11, 48, 74, 0.7) !important;
+}
+
+/* Feature Icon numbers styling */
+.landing-body .feature > span {
+ color: #E6C57A !important; /* Premium Gold */
+ font-weight: 800 !important;
+ font-size: 28px !important;
+}
+
+/* Sub-section headings */
+.landing-body .section-header .title {
+ color: #0B304A !important;
+ font-weight: 800 !important;
+}
+
+.landing-body .section-header h3 {
+ color: rgba(11, 48, 74, 0.7) !important;
+}
+
+/* Benefit Icons Scale-up */
+.landing-body .landing-pricing h3 + p + ul {
+ margin-top: 1rem !important;
+}
+
+.landing-body .landing-pricing .pi {
+ font-size: 1.5rem !important; /* Bumped from 1.25 to 1.5 for presence */
+}
+
+/* Bottom banner trust section */
+.landing-body .landing-pricing > div:last-of-type > div {
+ background: linear-gradient(135deg, #0B304A 0%, #126A54 100%) !important;
+ border-radius: 24px !important;
+ box-shadow: 0 15px 40px rgba(11, 48, 74, 0.2) !important;
+}
+
+/* Final CTA */
+.landing-body .mt-5 > a {
+ background: #0B304A !important;
+ color: #FFFFFF !important;
+ box-shadow: 0 4px 18px rgba(11, 48, 74, 0.3) !important;
+}
+
+.landing-body .mt-5 > a:hover {
+ transform: translateY(-3px) !important;
+ box-shadow: 0 10px 30px rgba(11, 48, 74, 0.4) !important;
+ background: #154B73 !important;
+}
+
+/* Footer styling */
+.landing-body .layout-footer {
+ border-top: 1px solid rgba(11, 48, 74, 0.05);
+}
+
+.landing-body .layout-footer .footer-menutitle {
+ color: #0B304A !important;
+ font-weight: 700;
+}
+
+.landing-body .layout-footer ul > li,
+.landing-body .layout-footer ul > li > a {
+ color: rgba(11, 48, 74, 0.6) !important;
+}
+
+.landing-body .layout-footer ul > li > a:hover {
+ color: #126A54 !important;
+}
+
+@media (max-width: 991px) {
+ .unionflow-brand--landing .unionflow-brand-icon {
+ width: 32px;
+ height: 32px;
+ }
+
+ .unionflow-brand--landing .unionflow-brand-name {
+ font-size: 1.1rem;
+ }
+}
+
+/* ──────────────────────────────────────────────────
+ 10. EXCEPTION PAGES — 404, Access Denied, Error
+ ────────────────────────────────────────────────── */
+
+.exception-body .exception-topbar .unionflow-brand-icon {
+ width: 38px;
+ height: 38px;
+}
+
+.exception-body .exception-topbar .unionflow-brand-name {
+ color: #0B304A;
+}
+
+.exception-body .exception-topbar .unionflow-brand-slogan {
+ color: #126A54;
+}
+
+/* ──────────────────────────────────────────────────
+ 11. RESPONSIVE BREAKPOINTS
+ ────────────────────────────────────────────────── */
+
+@media (max-width: 991px) {
+ /* On tablets: smaller icon, keep text */
+ .unionflow-brand-icon {
+ width: 30px;
+ height: 30px;
+ }
+
+ .unionflow-brand-name {
+ font-size: 1rem;
+ }
+
+ .unionflow-brand-slogan {
+ font-size: 0.5rem;
+ }
+}
+
+@media (max-width: 768px) {
+ /* On small tablets: hide text, only icon */
+ .unionflow-brand-text {
+ display: none;
+ }
+
+ .unionflow-brand-icon {
+ width: 30px;
+ height: 30px;
+ }
+}
+
+@media (max-width: 576px) {
+ /* On phones: even smaller icon */
+ .unionflow-brand-icon {
+ width: 26px;
+ height: 26px;
+ }
+
+ .unionflow-brand--landing .unionflow-brand-icon {
+ width: 32px;
+ height: 32px;
+ }
+
+ /* Still show name on landing for brand recognition */
+ .unionflow-brand--landing .unionflow-brand-text {
+ display: flex;
+ }
+
+ .unionflow-brand--landing .unionflow-brand-name {
+ font-size: 1.1rem;
+ }
+}
diff --git a/src/main/resources/META-INF/resources/resources/freya-layout/images/unionflow-logo.png b/src/main/resources/META-INF/resources/resources/freya-layout/images/unionflow-logo.png
new file mode 100644
index 0000000..90bcd48
Binary files /dev/null and b/src/main/resources/META-INF/resources/resources/freya-layout/images/unionflow-logo.png differ
diff --git a/src/main/resources/META-INF/resources/templates/components/cards/kpi-card.xhtml b/src/main/resources/META-INF/resources/templates/components/cards/kpi-card.xhtml
index 5da02a9..57f2537 100644
--- a/src/main/resources/META-INF/resources/templates/components/cards/kpi-card.xhtml
+++ b/src/main/resources/META-INF/resources/templates/components/cards/kpi-card.xhtml
@@ -80,14 +80,14 @@
-
+
diff --git a/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml b/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml
index ce0a7b4..eed332e 100644
--- a/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml
+++ b/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml
@@ -7,8 +7,15 @@