/* src/styles.scss */
html {
  --mat-sys-background: #f6faf9;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #eef1f0;
  --mat-sys-inverse-primary: #bec9c8;
  --mat-sys-inverse-surface: #2d3030;
  --mat-sys-on-background: #181c1c;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #404848;
  --mat-sys-on-primary-fixed: #141d1d;
  --mat-sys-on-primary-fixed-variant: #404848;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #404848;
  --mat-sys-on-secondary-fixed: #141d1d;
  --mat-sys-on-secondary-fixed-variant: #404848;
  --mat-sys-on-surface: #181c1c;
  --mat-sys-on-surface-variant: #404848;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #404848;
  --mat-sys-on-tertiary-fixed: #141d1d;
  --mat-sys-on-tertiary-fixed-variant: #404848;
  --mat-sys-outline: #6f7979;
  --mat-sys-outline-variant: #bec9c8;
  --mat-sys-primary: #576060;
  --mat-sys-primary-container: #dae5e4;
  --mat-sys-primary-fixed: #dae5e4;
  --mat-sys-primary-fixed-dim: #bec9c8;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #576060;
  --mat-sys-secondary-container: #dae5e4;
  --mat-sys-secondary-fixed: #dae5e4;
  --mat-sys-secondary-fixed-dim: #bec9c8;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #f6faf9;
  --mat-sys-surface-bright: #f6faf9;
  --mat-sys-surface-container: #ebefed;
  --mat-sys-surface-container-high: #e5e9e8;
  --mat-sys-surface-container-highest: #dfe3e2;
  --mat-sys-surface-container-low: #f1f4f3;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #d7dbd9;
  --mat-sys-surface-tint: #576060;
  --mat-sys-surface-variant: #dae5e4;
  --mat-sys-tertiary: #576060;
  --mat-sys-tertiary-container: #dae5e4;
  --mat-sys-tertiary-fixed: #dae5e4;
  --mat-sys-tertiary-fixed-dim: #bec9c8;
  --mat-sys-neutral-variant20: #293131;
  --mat-sys-neutral10: #181c1c;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large: 400 1rem / 1.5rem Roboto;
  --mat-sys-body-large-font: Roboto;
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;
  --mat-sys-body-medium-font: Roboto;
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small: 400 0.75rem / 1rem Roboto;
  --mat-sys-body-small-font: Roboto;
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large: 400 3.562rem / 4rem Roboto;
  --mat-sys-display-large-font: Roboto;
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;
  --mat-sys-display-medium-font: Roboto;
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;
  --mat-sys-display-small-font: Roboto;
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large: 400 2rem / 2.5rem Roboto;
  --mat-sys-headline-large-font: Roboto;
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;
  --mat-sys-headline-medium-font: Roboto;
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small: 400 1.5rem / 2rem Roboto;
  --mat-sys-headline-small-font: Roboto;
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-label-large-font: Roboto;
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium: 500 0.75rem / 1rem Roboto;
  --mat-sys-label-medium-font: Roboto;
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small: 500 0.688rem / 1rem Roboto;
  --mat-sys-label-small-font: Roboto;
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;
  --mat-sys-title-large-font: Roboto;
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium: 500 1rem / 1.5rem Roboto;
  --mat-sys-title-medium-font: Roboto;
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-title-small-font: Roboto;
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: 500;
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}
.dark-theme {
  --mat-sys-background: #101414;
  --mat-sys-error: #ffb4ab;
  --mat-sys-error-container: #93000a;
  --mat-sys-inverse-on-surface: #2d3030;
  --mat-sys-inverse-primary: #576060;
  --mat-sys-inverse-surface: #dfe3e2;
  --mat-sys-on-background: #dfe3e2;
  --mat-sys-on-error: #690005;
  --mat-sys-on-error-container: #ffdad6;
  --mat-sys-on-primary: #293131;
  --mat-sys-on-primary-container: #dae5e4;
  --mat-sys-on-primary-fixed: #141d1d;
  --mat-sys-on-primary-fixed-variant: #404848;
  --mat-sys-on-secondary: #293131;
  --mat-sys-on-secondary-container: #dae5e4;
  --mat-sys-on-secondary-fixed: #141d1d;
  --mat-sys-on-secondary-fixed-variant: #404848;
  --mat-sys-on-surface: #dfe3e2;
  --mat-sys-on-surface-variant: #dae5e4;
  --mat-sys-on-tertiary: #293131;
  --mat-sys-on-tertiary-container: #dae5e4;
  --mat-sys-on-tertiary-fixed: #141d1d;
  --mat-sys-on-tertiary-fixed-variant: #404848;
  --mat-sys-outline: #899392;
  --mat-sys-outline-variant: #404848;
  --mat-sys-primary: #bec9c8;
  --mat-sys-primary-container: #404848;
  --mat-sys-primary-fixed: #dae5e4;
  --mat-sys-primary-fixed-dim: #bec9c8;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #bec9c8;
  --mat-sys-secondary-container: #404848;
  --mat-sys-secondary-fixed: #dae5e4;
  --mat-sys-secondary-fixed-dim: #bec9c8;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #101414;
  --mat-sys-surface-bright: #363939;
  --mat-sys-surface-container: #1c2020;
  --mat-sys-surface-container-high: #272a2a;
  --mat-sys-surface-container-highest: #313535;
  --mat-sys-surface-container-low: #181c1c;
  --mat-sys-surface-container-lowest: #0b0f0f;
  --mat-sys-surface-dim: #101414;
  --mat-sys-surface-tint: #bec9c8;
  --mat-sys-surface-variant: #404848;
  --mat-sys-tertiary: #bec9c8;
  --mat-sys-tertiary-container: #404848;
  --mat-sys-tertiary-fixed: #dae5e4;
  --mat-sys-tertiary-fixed-dim: #bec9c8;
  --mat-sys-neutral-variant20: #293131;
  --mat-sys-neutral10: #181c1c;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}
:root {
  --brand-primary: #979ca1;
  --brand-teal: #04a1a0;
  --brand-orange: #ee8010;
  --brand-neutral: #58585a;
  --color-success: #2e7d32;
  --icon-edit-color: #c96800;
  --icon-delete-color: #c62828;
  --icon-export-color: #2e7d32;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;
  --sidebar-width: 15rem;
  --sidebar-collapsed-width: 4rem;
  --sidebar-logo-height: 5rem;
  --topbar-height: 3rem;
  --glass-blur: 1rem;
  --z-sidebar: 100;
  --z-topbar: 99;
  --z-modal: 200;
}
:root {
  --app-bg-gradient:
    linear-gradient(
      
      145deg,
      #dce8f5 0%,
      #f0ddf0 35%,
      #fce8d5 65%,
      #d5eeee 100% );
  --glass-blur: 1rem;
  --glass-bg: rgba(255, 255, 255, 0.65);
  --glass-bg-hover: rgba(255, 255, 255, 0.8);
  --glass-bg-active: rgba(255, 255, 255, 0.9);
  --glass-border: 1px solid rgba(255, 255, 255, 0.6);
  --glass-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.1);
  --glass-logo-bg: rgba(255, 255, 255, 0.75);
  --glass-footer-bg: rgba(45, 42, 42, 0.75);
  --color-bg: transparent;
  --color-surface: rgba(255, 255, 255, 0.72);
  --color-surface-raised: rgba(255, 255, 255, 0.88);
  --color-surface-variant: rgba(255, 255, 255, 0.45);
  --mat-sys-surface-variant: var(--color-surface-variant);
  --color-text: #1e293b;
  --color-text-muted: #64748b;
  --color-text-disabled: #a0aec0;
  --color-text-on-brand: #ffffff;
  --color-border: rgba(255, 255, 255, 0.55);
  --color-border-strong: rgba(200, 210, 230, 0.8);
  --color-primary: #2d2a2a;
  --color-primary-subtle: rgba(45, 42, 42, 0.1);
  --color-teal: var(--brand-teal);
  --color-teal-subtle: rgba(4, 161, 160, 0.1);
  --color-success: #4caf50;
  --color-success-subtle: rgba(76, 175, 80, 0.12);
  --color-error: #f44336;
  --color-error-subtle: rgba(244, 67, 54, 0.12);
  --color-info: #2196f3;
  --color-info-subtle: rgba(33, 150, 243, 0.12);
  --color-warn: var(--brand-orange);
  --color-warn-subtle: rgba(238, 128, 16, 0.12);
  --color-sidebar-bg: rgba(255, 255, 255, 0.65);
  --shadow-sm: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.06);
  --shadow-md: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.09);
  --shadow-lg: 0 0.5rem 2rem rgba(0, 0, 0, 0.14);
  --shadow-card: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.08);
}
body.dark-theme {
  --app-bg-gradient:
    linear-gradient(
      
      145deg,
      #0d1b2a 0%,
      #1a0d2e 35%,
      #2a1a0d 65%,
      #0d2a2a 100% );
  --glass-blur: 1rem;
  --glass-bg: rgba(15, 25, 40, 0.6);
  --glass-bg-hover: rgba(30, 45, 65, 0.7);
  --glass-bg-active: rgba(40, 60, 85, 0.8);
  --glass-border: 1px solid rgba(255, 255, 255, 0.08);
  --glass-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.45);
  --glass-logo-bg: rgba(10, 18, 30, 0.7);
  --glass-footer-bg: rgba(45, 42, 42, 0.75);
  --color-bg: transparent;
  --color-surface: rgba(20, 32, 48, 0.75);
  --color-surface-raised: rgba(28, 42, 62, 0.85);
  --color-surface-variant: rgba(255, 255, 255, 0.05);
  --mat-sys-surface-variant: var(--color-surface-variant);
}
body.dark-theme .nav-item[ng-reflect-router-link="/dashboard"]:hover,
body.dark-theme .nav-item[routerLink="/dashboard"]:hover {
  color: rgb(205.8, 132.6, 184.8) !important;
  background: rgba(173, 51, 138, 0.18) !important;
  border-left-color: rgba(173, 51, 138, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/time-tracking"]:hover,
body.dark-theme .nav-item[routerLink="/time-tracking"]:hover {
  color: rgb(229.2, 116.4, 163.8) !important;
  background: rgba(212, 24, 103, 0.18) !important;
  border-left-color: rgba(212, 24, 103, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/sessions"]:hover,
body.dark-theme .nav-item[routerLink="/sessions"]:hover {
  color: rgb(229.2, 116.4, 163.8) !important;
  background: rgba(212, 24, 103, 0.18) !important;
  border-left-color: rgba(212, 24, 103, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/admin/lieux"]:hover,
body.dark-theme .nav-item[routerLink="/admin/lieux"]:hover {
  color: rgb(251.4, 164.4, 147.6) !important;
  background: rgba(249, 104, 76, 0.18) !important;
  border-left-color: rgba(249, 104, 76, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/admin/activites"]:hover,
body.dark-theme .nav-item[routerLink="/admin/activites"]:hover {
  color: rgb(229.2, 202.8, 126.6) !important;
  background: rgba(212, 168, 41, 0.18) !important;
  border-left-color: rgba(212, 168, 41, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/admin/dispositifs"]:hover,
body.dark-theme .nav-item[routerLink="/admin/dispositifs"]:hover {
  color: rgb(201.6, 220.8, 151.8) !important;
  background: rgba(166, 198, 83, 0.18) !important;
  border-left-color: rgba(166, 198, 83, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/admin/users"]:hover,
body.dark-theme .nav-item[routerLink="/admin/users"]:hover {
  color: rgb(179.4, 216, 173.4) !important;
  background: rgba(129, 190, 119, 0.18) !important;
  border-left-color: rgba(129, 190, 119, 0.6) !important;
}
body.dark-theme .nav-item[ng-reflect-router-link="/participants"]:hover,
body.dark-theme .nav-item[routerLink="/participants"]:hover {
  color: rgb(140.4, 201.6, 193.2) !important;
  background: rgba(64, 166, 152, 0.18) !important;
  border-left-color: rgba(64, 166, 152, 0.6) !important;
}
body.dark-theme {
  --color-text: #f1f5f9;
  --color-text-muted: #94a3b8;
  --color-text-disabled: #64748b;
  --color-text-on-brand: #ffffff;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-border-strong: rgba(255, 255, 255, 0.15);
  --color-primary: var(--brand-primary);
  --color-primary-subtle: rgba(181, 51, 135, 0.18);
  --color-teal: var(--brand-teal);
  --color-teal-subtle: rgba(4, 161, 160, 0.18);
  --color-success: #66bb6a;
  --color-success-subtle: rgba(102, 187, 106, 0.18);
  --color-error: #ef5350;
  --color-error-subtle: rgba(239, 83, 80, 0.18);
  --color-info: #42a5f5;
  --color-info-subtle: rgba(66, 165, 245, 0.18);
  --color-warn: var(--brand-orange);
  --color-warn-subtle: rgba(238, 128, 16, 0.18);
  --color-sidebar-bg: rgba(15, 25, 40, 0.6);
  --shadow-sm: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.35);
  --shadow-md: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 0.5rem 2rem rgba(0, 0, 0, 0.6);
  --shadow-card: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.4);
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  font-family:
    Roboto,
    "Helvetica Neue",
    sans-serif;
  font-size: var(--text-base);
  color: var(--color-text);
  background: var(--app-bg-gradient);
  background-attachment: fixed;
  min-height: 100vh;
}
.page-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: var(--space-4);
}
mat-card {
  box-shadow: var(--shadow-card) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  width: 100%;
  margin: var(--space-6) auto;
  box-sizing: border-box;
  background: var(--color-surface) !important;
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: var(--glass-border) !important;
  display: flex !important;
  flex-direction: column !important;
}
mat-card-header {
  background: var(--color-surface-variant) !important;
  padding: var(--space-3) var(--space-6) !important;
  border-bottom: var(--glass-border) !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: var(--space-3) !important;
}
mat-card-title {
  font-size: var(--text-xl) !important;
  font-weight: var(--font-medium) !important;
  color: var(--color-primary) !important;
  margin: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
mat-card-content {
  padding: var(--space-6) !important;
}
mat-table {
  width: 100% !important;
  background: transparent !important;
}
mat-table .mat-mdc-cell,
mat-table .mat-mdc-header-cell {
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}
mat-table .mat-mdc-cell:last-child,
mat-table .mat-mdc-header-cell:last-child {
  border-right: none;
}
.mat-paginator,
mat-paginator {
  background: transparent !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  box-shadow: none !important;
}
.mat-mdc-header-row {
  background: color-mix(in srgb, var(--section-color, var(--color-primary)) 85%, #000) !important;
  --mat-table-header-headline-color: #ffffff !important;
}
.mat-mdc-header-row .mat-sort-header-arrow {
  color: rgba(255, 255, 255, 0.7);
}
.user-active {
  color: var(--icon-export-color) !important;
  font-size: 1.25rem !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  vertical-align: middle;
}
.user-inactive {
  color: var(--icon-delete-color) !important;
  font-size: 1.25rem !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  vertical-align: middle;
}
.mat-dialog-container,
.mdc-dialog__container,
.mat-mdc-dialog-container {
  --mat-dialog-container-shape: 1rem !important;
  border-radius: 1rem !important;
  box-shadow: var(--glass-shadow) !important;
  overflow: hidden;
  outline: none;
}
[mat-dialog-title] {
  display: flex !important;
  align-items: center !important;
  gap: 0.625rem !important;
  margin: 0 !important;
  padding: 0.875rem 1.5rem !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  text-align: left !important;
  background: color-mix(in srgb, var(--section-color, var(--color-primary)) 82%, #000) !important;
  color: #ffffff !important;
  letter-spacing: 0.01em;
}
[mat-dialog-title] mat-icon {
  color: #ffffff !important;
  font-size: 1.4rem !important;
  width: 1.4rem !important;
  height: 1.4rem !important;
  flex-shrink: 0;
}
mat-dialog-content {
  background: var(--color-surface, #fff);
  padding: 1.5rem !important;
}
mat-dialog-actions {
  background: color-mix(in srgb, var(--section-color, var(--color-primary)) 6%, var(--color-surface, #fff)) !important;
  border-top: 1px solid color-mix(in srgb, var(--section-color, var(--color-primary)) 20%, transparent) !important;
  padding: 0.75rem 1.5rem !important;
  gap: 0.5rem !important;
  justify-content: flex-end !important;
}
.mat-mdc-raised-button,
.mat-mdc-unelevated-button {
  --mat-button-filled-container-shape: var(--radius-md);
  --mat-button-protected-container-shape: var(--radius-md);
  border-radius: var(--radius-md) !important;
}
.mat-mdc-outlined-button {
  --mat-button-outlined-container-shape: var(--radius-md);
  border-radius: var(--radius-md) !important;
}
.mat-mdc-button {
  --mat-button-text-container-shape: var(--radius-md);
  border-radius: var(--radius-md) !important;
}
.mdc-icon-button {
  --mat-icon-button-icon-color: var(--color-text-muted) !important;
}
.toast-success {
  background-color: var(--color-success);
  color: #fff;
}
.toast-error {
  background-color: var(--color-error);
  color: #fff;
}
.toast-info {
  background-color: var(--color-info);
  color: #fff;
}
.password-tooltip {
  text-align: left !important;
  white-space: pre-line !important;
}
.mat-mdc-tooltip .mdc-tooltip__surface {
  text-align: left !important;
}
.btn-primary {
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    filter 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}
.btn-primary:not(:disabled):hover {
  transform: scale(1.04);
  box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.22);
}
.btn-primary:not(:disabled):active {
  transform: scale(0.97);
  box-shadow: none;
}
.btn-primary {
  --mat-button-filled-container-color: var(--section-color, var(--color-primary)) !important;
  --mat-button-protected-container-color: var(--section-color, var(--color-primary)) !important;
  --mat-button-filled-label-text-color: #ffffff !important;
  --mat-button-protected-label-text-color: #ffffff !important;
  box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--section-color, var(--color-primary)) 40%, transparent) !important;
}
.btn-primary:not(:disabled):hover {
  filter: brightness(1.1);
}
.btn-primary:disabled {
  opacity: 0.45;
  filter: none;
  box-shadow: none !important;
}
.btn-primary mat-icon {
  color: #ffffff !important;
}
.btn-secondary {
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    filter 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}
.btn-secondary:not(:disabled):hover {
  transform: scale(1.04);
  box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.22);
}
.btn-secondary:not(:disabled):active {
  transform: scale(0.97);
  box-shadow: none;
}
.btn-secondary {
  --mat-button-outlined-outline-color: var(--section-color, var(--color-primary)) !important;
  --mat-button-outlined-label-text-color: var(--section-color, var(--color-primary)) !important;
}
.btn-secondary:not(:disabled):hover {
  background: white !important;
}
.btn-secondary:disabled {
  opacity: 0.45;
  box-shadow: none !important;
}
.btn-secondary mat-icon {
  color: var(--section-color, var(--color-primary)) !important;
}
.btn-danger {
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    filter 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}
.btn-danger:not(:disabled):hover {
  transform: scale(1.04);
  box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.22);
}
.btn-danger:not(:disabled):active {
  transform: scale(0.97);
  box-shadow: none;
}
.btn-danger {
  --mat-button-filled-container-color: var(--color-error) !important;
  --mat-button-protected-container-color: var(--color-error) !important;
  --mat-button-filled-label-text-color: #ffffff !important;
  --mat-button-protected-label-text-color: #ffffff !important;
  box-shadow: 0 0.25rem 0.75rem rgba(211, 47, 47, 0.3) !important;
}
.btn-danger:not(:disabled):hover {
  filter: brightness(1.08);
}
.btn-danger:disabled {
  opacity: 0.45;
  box-shadow: none !important;
}
.btn-danger mat-icon {
  color: #ffffff !important;
}
.btn-ghost {
  transition: background 0.15s ease, color 0.15s ease;
  --mat-button-text-label-text-color: var(--color-text-muted) !important;
}
.btn-ghost:not(:disabled):hover {
  background: var(--glass-bg-hover) !important;
  --mat-button-text-label-text-color: var(--color-text) !important;
}
.btn-ghost:disabled {
  opacity: 0.4;
}
.btn-ghost mat-icon {
  color: var(--color-text-muted) !important;
}
.btn-icon-edit {
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-icon-edit mat-icon {
  color: var(--icon-edit-color) !important;
  transition: color 0.15s ease;
}
.btn-icon-edit:not(:disabled):hover {
  transform: scale(1.18);
  background: color-mix(in srgb, var(--icon-edit-color) 14%, transparent) !important;
}
.btn-icon-edit:not(:disabled):hover mat-icon {
  filter: brightness(1.15);
}
.btn-icon-edit:disabled mat-icon {
  color: var(--color-text-muted) !important;
}
.btn-icon-delete {
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-icon-delete mat-icon {
  color: var(--icon-delete-color) !important;
  transition: color 0.15s ease;
}
.btn-icon-delete:not(:disabled):hover {
  transform: scale(1.18);
  background: color-mix(in srgb, var(--icon-delete-color) 12%, transparent) !important;
}
.btn-icon-delete:not(:disabled):hover mat-icon {
  filter: brightness(1.12);
}
.btn-icon-delete:disabled mat-icon {
  color: var(--color-text-muted) !important;
}
.btn-icon-export {
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-icon-export mat-icon {
  color: var(--icon-export-color) !important;
  transition: color 0.15s ease;
}
.btn-icon-export:not(:disabled):hover {
  transform: scale(1.18);
  background: color-mix(in srgb, var(--icon-export-color) 14%, transparent) !important;
}
.btn-icon-export:not(:disabled):hover mat-icon {
  filter: brightness(1.15);
}
.btn-icon-export:disabled mat-icon {
  color: var(--color-text-muted) !important;
}
.btn-icon-deactivate {
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-icon-deactivate mat-icon {
  color: var(--color-error, #d32f2f) !important;
  transition: color 0.15s ease;
}
.btn-icon-deactivate:not(:disabled):hover {
  transform: scale(1.18);
  background: color-mix(in srgb, var(--color-error, #d32f2f) 12%, transparent) !important;
}
.btn-icon-deactivate:not(:disabled):hover mat-icon {
  filter: brightness(1.12);
}
.btn-icon-activate {
  transition: transform 0.15s ease, background 0.15s ease;
}
.btn-icon-activate mat-icon {
  color: var(--color-success, #388e3c) !important;
  transition: color 0.15s ease;
}
.btn-icon-activate:not(:disabled):hover {
  transform: scale(1.18);
  background: color-mix(in srgb, var(--color-success, #388e3c) 12%, transparent) !important;
}
.btn-icon-activate:not(:disabled):hover mat-icon {
  filter: brightness(1.12);
}
body.dark-theme .btn-ghost {
  --mat-button-text-label-text-color: rgba(255, 255, 255, 0.65) !important;
}
body.dark-theme .btn-ghost:not(:disabled):hover {
  --mat-button-text-label-text-color: rgba(255, 255, 255, 0.95) !important;
}
body.dark-theme .btn-secondary {
  --mat-button-outlined-outline-color: var(--section-color, var(--color-primary)) !important;
  --mat-button-outlined-label-text-color: var(--section-color, var(--color-primary)) !important;
}
body.dark-theme {
  --fc-neutral-text-color: #f1f5f9;
  --fc-border-color: rgba(255, 255, 255, 0.12);
  --fc-page-bg-color: #1c2a3e;
  --fc-today-bg-color: rgba(255, 255, 255, 0.06);
}
.fc .fc-button-group {
  display: inline-flex;
  gap: var(--space-4);
}
.fc .fc-timegrid-axis-cushion {
  max-width: 9.375rem !important;
}
.fc-direction-ltr .fc-timegrid-slot-label-frame {
  text-align: center;
}
.fc-event-main {
  position: relative;
  display: block;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
}
.fc-event-delete-btn {
  position: absolute;
  top: var(--space-1);
  right: var(--space-1);
  background: transparent;
  border: none;
  cursor: pointer;
  color: white;
  font-size: var(--text-xs);
  line-height: 1;
  padding: 0;
  z-index: 2;
  transition: color 0.2s ease;
}
.fc-event-main:hover .fc-event-delete-btn {
  opacity: 1;
  color: var(--color-error);
}
.fc-event-title {
  padding-right: var(--space-4);
  display: block;
}
.fc-event-inactive {
  opacity: 0.45;
  border-style: dashed !important;
}
.fc-direction-ltr .fc-timegrid-col-events {
  margin: 0 !important;
}
@media (max-width: 48rem) {
  .time-entry-container {
    padding: var(--space-3);
  }
  form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }
  form label {
    font-size: var(--text-sm);
  }
  form input,
  form select,
  form button {
    width: 100%;
    font-size: var(--text-sm);
  }
  .table-container {
    overflow-x: auto;
  }
  table {
    font-size: var(--text-xs);
  }
  .pagination {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }
}
body {
  transition: 0.6s ease;
}
body.section-dashboard {
  --section-color: #571b46;
  --app-bg-gradient: radial-gradient(#571b46 0%, #f6f5f5 100%);
}
body.section-time-tracking {
  --section-color: #b51558;
  --app-bg-gradient: radial-gradient(#b51558 0%, #f6f5f5 100%);
}
body.section-sessions {
  --section-color: #b51558;
  --app-bg-gradient: radial-gradient(#b51558 0%, #f6f5f5 100%);
}
body.section-lieux {
  --section-color: #b84d39;
  --app-bg-gradient: radial-gradient(#b84d39 0%, #f6f5f5 100%);
}
body.section-activites {
  --section-color: #9e7d1f;
  --app-bg-gradient: radial-gradient(#9e7d1f 0%, #f6f5f5 100%);
}
body.section-dispositifs {
  --section-color: #a6c653;
  --app-bg-gradient: radial-gradient(#a6c653 0%, #f6f5f5 100%);
}
body.section-users {
  --section-color: #81be77;
  --app-bg-gradient: radial-gradient(#81be77 0%, #f6f5f5 100%);
}
body.section-participants {
  --section-color: #2a6e65;
  --app-bg-gradient: radial-gradient(#2a6e65 0%, #f6f5f5 100%);
}
body.section-login {
  --login-gradient:
    linear-gradient(
      
      135deg,
      rgb(103.8, 49.8, 88.5) 0%,
      rgb(195.8, 67.8, 121.4) 20%,
      rgb(199, 107.3, 120.6) 40%,
      rgb(212.4, 148.2, 136.2) 55%,
      rgb(206.5, 190, 143) 70%,
      rgb(180.45, 204.25, 201.1) 85%, );
}
body.dark-theme.section-dashboard {
  --section-color: #ad338a;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #180a20 0%,
      #2d1040 50%,
      #ad338a 100%);
}
body.dark-theme.section-time-tracking {
  --section-color: #d41867;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #200810 0%,
      #450015 50%,
      #d41867 100%);
}
body.dark-theme.section-sessions {
  --section-color: #d41867;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #200810 0%,
      #450015 50%,
      #d41867 100%);
}
body.dark-theme.section-lieux {
  --section-color: #f9684c;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #27100b 0%,
      #65281c 50%,
      #f9684c 100%);
}
body.dark-theme.section-activites {
  --section-color: #d4a829;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #1a1500 0%,
      #352800 50%,
      #d4a829 100%);
}
body.dark-theme.section-dispositifs {
  --section-color: #a6c653;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #041510 0%,
      #082a1a 50%,
      #a6c653 100%);
}
body.dark-theme.section-users {
  --section-color: #81be77;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #131d05 0%,
      #253500 50%,
      #81be77 100%);
}
body.dark-theme.section-participants {
  --section-color: #40a698;
  --app-bg-gradient:
    linear-gradient(
      145deg,
      #051e1e 0%,
      #083838 50%,
      #40a698 100%);
}
body.dark-theme.section-login {
  --section-color: #ad338a;
  --app-bg-gradient:
    linear-gradient(
      160deg,
      #0f0a1a 0%,
      #1a0a2e 50%,
      #120e28 100%);
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
