@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Inter:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&family=Overpass+Mono:wght@400;500;600;700&family=PT+Sans:wght@400;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body{
    overscroll-behavior: none;
    background-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --text-family: var(--font-outfit), sans-serif;
}
/* Theme presets */
[data-theme-preset="underground"] {
    --base-50: oklch(0.984 0.0022 247.84);
    --base-100: oklch(0.9687 0.0051 247.88);
    --base-200: oklch(0.929 0.0095 255.53);
    --base-300: oklch(0.869 0.016 252.91);
    --base-400: oklch(0.704 0.0291 256.81);
    --base-500: oklch(0.554 0.0335 257.44);
    --base-600: oklch(0.446 0.0313 257.3);
    --base-700: oklch(0.372 0.0321 257.31);
    --base-800: oklch(0.279 0.0299 260.05);
    --base-900: oklch(0.208 0.0306 265.77);
    --base-950: oklch(0.129 0.0306 264.71);
    --base-1000: oklch(0.078 0.0306 264.02);

    --primary-50: oklch(0.9797 0.0095 159.88);
    --primary-100: oklch(0.9564 0.0234 159.23);
    --primary-200: oklch(0.9164 0.0434 159.21);
    --primary-300: oklch(0.8603 0.0731 158.6);
    --primary-400: oklch(0.781 0.0975 156.24);
    --primary-500: oklch(0.7122 0.0991 154.66);
    --primary-600: oklch(0.6147 0.0867 154.73);
    --primary-700: oklch(0.5315 0.0694 156.19);
    --primary-800: oklch(0.4416 0.0544 157.47);
    --primary-900: oklch(0.387 0.0436 159);
    --primary-950: oklch(0.2643 0.0295 160.27);
    --primary-1000: oklch(0.1845 0.0202 160.95);

    --secondary-50: oklch(0.9755 0.0049 330.01);
    --secondary-100: oklch(0.9512 0.0104 328.92);
    --secondary-200: oklch(0.902 0.0219 329.77);
    --secondary-300: oklch(0.8292 0.0422 332);
    --secondary-400: oklch(0.7308 0.07 333.6);
    --secondary-500: oklch(0.6624 0.0855 334.26);
    --secondary-600: oklch(0.5748 0.0862 336.52);
    --secondary-700: oklch(0.5211 0.0755 338.14);
    --secondary-800: oklch(0.4552 0.0631 338.88);
    --secondary-900: oklch(0.4042 0.0512 339.72);
    --secondary-950: oklch(0.2893 0.0391 340.38);
    --secondary-1000: oklch(0.2146 0.0313 340.82);

    --background: var(--base-50);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-700);
    --primary-foreground: var(--color-white);
    --secondary: var(--secondary-600);
    --secondary-foreground: var(--color-white);
    --muted: var(--base-100);
    --muted-foreground: var(--base-600);
    --accent: var(--base-200);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-700);
    --chart-1: var(--primary-700);
    --chart-2: var(--secondary-600);
    --chart-3: var(--primary-300);
    --chart-4: var(--secondary-300);
    --chart-5: var(--primary-100);
    --radius: 0.5rem;
    --sidebar: var(--color-white);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-700);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: var(--primary);
    --sidebar-accent-foreground: var(--color-white);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-700);

    --display-family: var(--font-hedvig-letters-serif), sans-serif;
    --display-weight: 800;
    --text-family: var(--font-kumbh-sans), sans-serif;

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-900);
        --card-foreground: var(--base-200);
        --popover: var(--base-900);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-700);
        --primary-foreground: var(--color-white);
        --secondary: var(--secondary-600);
        --secondary-foreground: var(--color-white);
        --muted: var(--base-800);
        --muted-foreground: var(--base-300);
        --accent: var(--base-800);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-700);
        --chart-1: var(--primary-700);
        --chart-2: var(--secondary-600);
        --chart-3: var(--primary-300);
        --chart-4: var(--secondary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-900);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-700);
        --sidebar-primary-foreground: var(--color-white);
        --sidebar-accent: var(--primary);
        --sidebar-accent-foreground: var(--base-200);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-700);
    }
}
[data-theme-preset="rose-garden"] {
    --base-50: oklch(0.9851 0.001 33.69);
    --base-100: oklch(0.9567 0.0021 34.31);
    --base-200: oklch(0.9227 0.0029 34.49);
    --base-300: oklch(0.8696 0.0034 34.89);
    --base-400: oklch(0.7088 0.0038 34.83);
    --base-500: oklch(0.5543 0.0041 35.95);
    --base-600: oklch(0.4423 0.004 36.92);
    --base-700: oklch(0.3731 0.0037 36.25);
    --base-800: oklch(0.2686 0.0032 34.85);
    --base-900: oklch(0.212 0.0029 34.69);
    --base-950: oklch(0.1463 0.0027 33.58);
    --base-1000: oklch(0.1036 0.0021 33.95);

    --primary-50: oklch(0.9698 0.0142 5.62);
    --primary-100: oklch(0.9429 0.0283 5.52);
    --primary-200: oklch(0.8938 0.0563 3.77);
    --primary-300: oklch(0.8131 0.1129 5.67);
    --primary-400: oklch(0.7135 0.1879 7.69);
    --primary-500: oklch(0.6476 0.2348 10.36);
    --primary-600: oklch(0.5827 0.2418 12.23);
    --primary-700: oklch(0.5166 0.2131 12.28);
    --primary-800: oklch(0.4559 0.1801 10);
    --primary-900: oklch(0.4096 0.1512 7.52);
    --primary-950: oklch(0.2741 0.1016 9.26);
    --primary-1000: oklch(0.1861 0.0693 10.39);

    --background: var(--color-white);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-600);
    --primary-foreground: var(--color-white);
    --secondary: var(--primary-300);
    --secondary-foreground: var(--base-800);
    --muted: var(--base-200);
    --muted-foreground: var(--base-600);
    --accent: var(--base-100);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-600);
    --chart-1: var(--primary-600);
    --chart-2: var(--primary-200);
    --chart-3: var(--primary-400);
    --chart-4: var(--primary-300);
    --chart-5: var(--primary-100);
    --radius: 1rem;
    --sidebar: var(--base-100);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: var(--primary-600);
    --sidebar-accent-foreground: var(--color-white);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-600);

    --text-family: var(--font-poppins), sans-serif;
    --display-weight: 600;

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-950);
        --card-foreground: var(--base-200);
        --popover: var(--base-950);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-600);
        --primary-foreground: var(--color-white);
        --secondary: var(--primary-300);
        --secondary-foreground: var(--base-200);
        --muted: var(--base-900);
        --muted-foreground: var(--base-400);
        --accent: var(--base-900);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-600);
        --chart-1: var(--primary-600);
        --chart-2: var(--primary-200);
        --chart-3: var(--primary-400);
        --chart-4: var(--primary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-800);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-600);
        --sidebar-primary-foreground: var(--color-white);
        --sidebar-accent: var(--primary-600);
        --sidebar-accent-foreground: var(--base-200);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-600);
    }
}
[data-theme-preset="lake-view"] {
    --base-50: oklch(0.9849 0.0024 160.68);
    --base-100: oklch(0.9692 0.005 161.7);
    --base-200: oklch(0.9263 0.0099 162.17);
    --base-300: oklch(0.8504 0.0147 163.22);
    --base-400: oklch(0.7064 0.0222 164.73);
    --base-500: oklch(0.5537 0.0287 165.9);
    --base-600: oklch(0.4453 0.0279 166.55);
    --base-700: oklch(0.3731 0.0248 166.06);
    --base-800: oklch(0.2742 0.0208 165.96);
    --base-900: oklch(0.2119 0.0173 166.78);
    --base-950: oklch(0.1374 0.0152 166.46);
    --base-1000: oklch(0.0891 0.0136 166.9);

    --primary-50: oklch(0.979 0.021 166.11);
    --primary-100: oklch(0.95 0.052 163.05);
    --primary-200: oklch(0.905 0.093 164.15);
    --primary-300: oklch(0.845 0.143 164.98);
    --primary-400: oklch(0.765 0.177 163.22);
    --primary-500: oklch(0.696 0.17 162.48);
    --primary-600: oklch(0.596 0.145 163.22);
    --primary-700: oklch(0.508 0.118 165.61);
    --primary-800: oklch(0.432 0.095 166.91);
    --primary-900: oklch(0.378 0.077 168.94);
    --primary-950: oklch(0.262 0.051 171.55);
    --primary-1000: oklch(0.187 0.034 172.89);

    --secondary-50: oklch(0.9808 0.0145 191.25);
    --secondary-100: oklch(0.9516 0.0437 191.52);
    --secondary-200: oklch(0.9108 0.0804 191.57);
    --secondary-300: oklch(0.8576 0.1202 192.38);
    --secondary-400: oklch(0.7809 0.1376 194.73);
    --secondary-500: oklch(0.7079 0.1273 196.21);
    --secondary-600: oklch(0.6035 0.1094 198.95);
    --secondary-700: oklch(0.551 0.0899 200.52);
    --secondary-800: oklch(0.4422 0.0729 202.06);
    --secondary-900: oklch(0.3906 0.0594 203.06);
    --secondary-950: oklch(0.2871 0.0452 205.42);
    --secondary-1000: oklch(0.2198 0.036 206.01);

    --background: var(--base-50);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-400);
    --primary-foreground: var(--color-black);
    --secondary: var(--secondary-700);
    --secondary-foreground: var(--color-white);
    --muted: var(--base-100);
    --muted-foreground: var(--base-600);
    --accent: var(--base-100);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-400);
    --chart-1: var(--primary-400);
    --chart-2: var(--secondary-700);
    --chart-3: var(--primary-300);
    --chart-4: var(--secondary-300);
    --chart-5: var(--primary-100);
    --radius: 0.75rem;
    --sidebar: var(--color-white);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-400);
    --sidebar-primary-foreground: var(--color-black);
    --sidebar-accent: var(--primary);
    --sidebar-accent-foreground: var(--base-800);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-400);

    --display-weight: 800;
    --text-family: var(--font-pt-sans), sans-serif;

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-900);
        --card-foreground: var(--base-200);
        --popover: var(--base-900);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-400);
        --primary-foreground: var(--color-black);
        --secondary: var(--secondary-700);
        --secondary-foreground: var(--color-white);
        --muted: var(--base-800);
        --muted-foreground: var(--base-300);
        --accent: var(--base-800);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-400);
        --chart-1: var(--primary-400);
        --chart-2: var(--secondary-700);
        --chart-3: var(--primary-300);
        --chart-4: var(--secondary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-900);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-400);
        --sidebar-primary-foreground: var(--color-black);
        --sidebar-accent: var(--primary);
        --sidebar-accent-foreground: var(--color-black);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-400);
    }
}
[data-theme-preset="sunset-glow"] {
    --base-50: oklch(0.9853 0.0041 157.18);
    --base-100: oklch(0.969 0.0045 158.2);
    --base-200: oklch(0.9261 0.0057 158.66);
    --base-300: oklch(0.869 0.0066 159.7);
    --base-400: oklch(0.7064 0.0074 161.16);
    --base-500: oklch(0.5535 0.008 162.35);
    --base-600: oklch(0.445 0.0078 163.03);
    --base-700: oklch(0.373 0.0072 162.52);
    --base-800: oklch(0.2738 0.0062 162.35);
    --base-900: oklch(0.2118 0.0057 163.13);
    --base-950: oklch(0.1376 0.0053 162.77);
    --base-1000: oklch(0.0894 0.0049 163.21);

    --primary-50: oklch(0.9719 0.0102 16.36);
    --primary-100: oklch(0.9381 0.0241 16.66);
    --primary-200: oklch(0.8872 0.0467 16.63);
    --primary-300: oklch(0.809 0.0875 17.95);
    --primary-400: oklch(0.7059 0.1462 20.42);
    --primary-500: oklch(0.6387 0.1822 23.51);
    --primary-600: oklch(0.5591 0.1882 25.33);
    --primary-700: oklch(0.5069 0.1639 25.35);
    --primary-800: oklch(0.4465 0.1368 24.19);
    --primary-900: oklch(0.3992 0.1104 22.56);
    --primary-950: oklch(0.2609 0.0723 23.19);
    --primary-1000: oklch(0.1709 0.0473 23.59);

    --secondary-50: oklch(0.9781 0.0149 45.53);
    --secondary-100: oklch(0.9491 0.0351 44.57);
    --secondary-200: oklch(0.8964 0.0724 43.73);
    --secondary-300: oklch(0.7938 0.1248 42.42);
    --secondary-400: oklch(0.7363 0.1869 41.57);
    --secondary-500: oklch(0.6849 0.222 40.89);
    --secondary-600: oklch(0.6257 0.2229 39.75);
    --secondary-700: oklch(0.5391 0.1994 37.91);
    --secondary-800: oklch(0.4628 0.1643 36.26);
    --secondary-900: oklch(0.4051 0.1294 35.11);
    --secondary-950: oklch(0.2641 0.0836 34.57);
    --secondary-1000: oklch(0.1726 0.0534 33.77);

    --background: var(--color-white);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-600);
    --primary-foreground: var(--color-white);
    --secondary: var(--secondary-300);
    --secondary-foreground: var(--color-black);
    --muted: var(--base-50);
    --muted-foreground: var(--base-600);
    --accent: var(--primary-100);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-600);
    --chart-1: var(--primary-600);
    --chart-2: var(--secondary-300);
    --chart-3: var(--primary-300);
    --chart-4: var(--secondary-300);
    --chart-5: var(--primary-100);
    --radius: 1rem;
    --sidebar: var(--base-100);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: var(--primary);
    --sidebar-accent-foreground: var(--color-white);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-600);

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-950);
        --card-foreground: var(--base-200);
        --popover: var(--base-950);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-600);
        --primary-foreground: var(--color-white);
        --secondary: var(--secondary-300);
        --secondary-foreground: var(--color-black);
        --muted: var(--base-900);
        --muted-foreground: var(--base-400);
        --accent: var(--base-900);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-600);
        --chart-1: var(--primary-600);
        --chart-2: var(--secondary-300);
        --chart-3: var(--primary-300);
        --chart-4: var(--secondary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-900);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-600);
        --sidebar-primary-foreground: var(--color-white);
        --sidebar-accent: var(--primary);
        --sidebar-accent-foreground: var(--color-white);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-600);
    }
}
[data-theme-preset="forest-whisper"] {
    --base-50: oklch(0.9843 0.0035 287.12);
    --base-100: oklch(0.9665 0.007 286.66);
    --base-200: oklch(0.9197 0.014 286.6);
    --base-300: oklch(0.8708 0.021 286.57);
    --base-400: oklch(0.7244 0.0315 286.35);
    --base-500: oklch(0.5519 0.042 286.22);
    --base-600: oklch(0.4418 0.0385 286.07);
    --base-700: oklch(0.3698 0.0315 286.09);
    --base-800: oklch(0.2738 0.021 286.32);
    --base-900: oklch(0.2098 0.014 286.17);
    --base-950: oklch(0.1408 0.0105 286.11);
    --base-1000: oklch(0.0959 0.007 286.07);

    --primary-50: oklch(0.9815 0.0164 177.79);
    --primary-100: oklch(0.9511 0.0547 177.24);
    --primary-200: oklch(0.908 0.1019 177.16);
    --primary-300: oklch(0.8522 0.1484 177.84);
    --primary-400: oklch(0.7741 0.1676 178.16);
    --primary-500: oklch(0.7021 0.1559 178.48);
    --primary-600: oklch(0.5991 0.1318 180.39);
    --primary-700: oklch(0.5276 0.1072 182.22);
    --primary-800: oklch(0.4359 0.0869 183.94);
    --primary-900: oklch(0.3842 0.0703 184.51);
    --primary-950: oklch(0.2738 0.0502 187.51);
    --primary-1000: oklch(0.202 0.0372 188.32);

    --secondary-50: oklch(0.977 0.0034 244.64);
    --secondary-100: oklch(0.945 0.0074 245.19);
    --secondary-200: oklch(0.8944 0.015 243.47);
    --secondary-300: oklch(0.8208 0.0278 242.12);
    --secondary-400: oklch(0.7294 0.0416 244.67);
    --secondary-500: oklch(0.6578 0.0485 247.35);
    --secondary-600: oklch(0.5236 0.0505 250.18);
    --secondary-700: oklch(0.495 0.0469 251.28);
    --secondary-800: oklch(0.435 0.0384 252.42);
    --secondary-900: oklch(0.3863 0.0295 252.97);
    --secondary-950: oklch(0.2887 0.0198 254.2);
    --secondary-1000: oklch(0.2251 0.0134 255.72);

    --background: var(--base-50);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-700);
    --primary-foreground: var(--color-white);
    --secondary: var(--secondary-600);
    --secondary-foreground: var(--color-white);
    --muted: var(--base-100);
    --muted-foreground: var(--base-600);
    --accent: var(--base-100);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-700);
    --chart-1: var(--primary-700);
    --chart-2: var(--secondary-600);
    --chart-3: var(--primary-300);
    --chart-4: var(--secondary-300);
    --chart-5: var(--primary-100);
    --radius: 0.5rem;
    --sidebar: var(--color-white);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-700);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: var(--primary);
    --sidebar-accent-foreground: var(--color-white);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-700);

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-900);
        --card-foreground: var(--base-200);
        --popover: var(--base-900);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-700);
        --primary-foreground: var(--color-white);
        --secondary: var(--secondary-600);
        --secondary-foreground: var(--color-white);
        --muted: var(--base-800);
        --muted-foreground: var(--base-300);
        --accent: var(--base-800);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-700);
        --chart-1: var(--primary-700);
        --chart-2: var(--secondary-600);
        --chart-3: var(--primary-300);
        --chart-4: var(--secondary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-900);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-700);
        --sidebar-primary-foreground: var(--color-white);
        --sidebar-accent: var(--primary);
        --sidebar-accent-foreground: var(--color-white);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-700);
    }
}
[data-theme-preset="ocean-breeze"] {
    --base-50: oklch(0.99 0.0053 106.5);
    --base-100: oklch(0.9695 0.0058 107.51);
    --base-200: oklch(0.9245 0.0074 107.89);
    --base-300: oklch(0.8689 0.0085 108.73);
    --base-400: oklch(0.7076 0.0095 109.42);
    --base-500: oklch(0.5532 0.0103 110.92);
    --base-600: oklch(0.4444 0.0101 112.04);
    --base-700: oklch(0.3734 0.0093 111.24);
    --base-800: oklch(0.2708 0.008 110.04);
    --base-900: oklch(0.2138 0.0074 110.31);
    --base-950: oklch(0.1421 0.0069 109.25);
    --base-1000: oklch(0.0956 0.0064 109.76);

    --primary-50: oklch(0.97 0.0123 254.6);
    --primary-100: oklch(0.932 0.0281 255.58);
    --primary-200: oklch(0.882 0.0518 254.13);
    --primary-300: oklch(0.809 0.0922 251.81);
    --primary-400: oklch(0.707 0.1449 254.62);
    --primary-500: oklch(0.623 0.188 259.81);
    --primary-600: oklch(0.5461 0.2152 262.88);
    --primary-700: oklch(0.488 0.2134 264.37);
    --primary-800: oklch(0.424 0.1748 265.64);
    --primary-900: oklch(0.379 0.1282 265.52);
    --primary-950: oklch(0.282 0.0799 267.93);
    --primary-1000: oklch(0.219 0.0483 269.5);

    --secondary-50: oklch(0.962 0.0158 272.32);
    --secondary-100: oklch(0.93 0.0298 272.79);
    --secondary-200: oklch(0.87 0.0569 274.04);
    --secondary-300: oklch(0.785 0.1007 274.72);
    --secondary-400: oklch(0.673 0.1594 276.94);
    --secondary-500: oklch(0.5854 0.2041 277.12);
    --secondary-600: oklch(0.511 0.2295 276.97);
    --secondary-700: oklch(0.457 0.2102 277.03);
    --secondary-800: oklch(0.398 0.1708 277.37);
    --secondary-900: oklch(0.359 0.1261 278.7);
    --secondary-950: oklch(0.257 0.0788 281.29);
    --secondary-1000: oklch(0.191 0.0482 282.97);

    --background: var(--color-white);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-600);
    --primary-foreground: var(--color-white);
    --secondary: var(--secondary-500);
    --secondary-foreground: var(--color-white);
    --muted: var(--base-50);
    --muted-foreground: var(--base-600);
    --accent: var(--base-100);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-600);
    --chart-1: var(--primary-600);
    --chart-2: var(--secondary-500);
    --chart-3: var(--primary-300);
    --chart-4: var(--secondary-300);
    --chart-5: var(--primary-100);
    --radius: 0.3rem;
    --sidebar: var(--base-100);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: var(--primary);
    --sidebar-accent-foreground: var(--color-white);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-600);

    --text-family: var(--font-plus-jakarta-sans), sans-serif;
    --display-weight: 800;

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-950);
        --card-foreground: var(--base-200);
        --popover: var(--base-950);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-600);
        --primary-foreground: var(--color-white);
        --secondary: var(--secondary-500);
        --secondary-foreground: var(--color-black);
        --muted: var(--base-900);
        --muted-foreground: var(--base-400);
        --accent: var(--base-900);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-600);
        --chart-1: var(--primary-600);
        --chart-2: var(--secondary-500);
        --chart-3: var(--primary-300);
        --chart-4: var(--secondary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-900);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-600);
        --sidebar-primary-foreground: var(--color-white);
        --sidebar-accent: var(--primary);
        --sidebar-accent-foreground: var(--color-white);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-600);
    }
}
[data-theme-preset="lavender-dream"] {
    --base-50: oklch(0.9868 0.0029 259.84);
    --base-100: oklch(0.9692 0.0058 262.54);
    --base-200: oklch(0.9253 0.0117 262.53);
    --base-300: oklch(0.8692 0.0175 260.34);
    --base-400: oklch(0.707 0.0262 261.33);
    --base-500: oklch(0.551 0.035 262.36);
    --base-600: oklch(0.446 0.0335 258.8);
    --base-700: oklch(0.373 0.0306 259.73);
    --base-800: oklch(0.278 0.0277 258.85);
    --base-900: oklch(0.21 0.024 262.66);
    --base-950: oklch(0.13 0.0219 261.69);
    --base-1000: oklch(0.078 0.0204 259.76);

    --primary-50: oklch(0.9766 0.0092 310.91);
    --primary-100: oklch(0.947 0.0212 309.77);
    --primary-200: oklch(0.902 0.0412 309.57);
    --primary-300: oklch(0.8281 0.078 309.73);
    --primary-400: oklch(0.7197 0.1318 309.2);
    --primary-500: oklch(0.6359 0.1699 307.95);
    --primary-600: oklch(0.5709 0.1808 306.89);
    --primary-700: oklch(0.5009 0.164 306.81);
    --primary-800: oklch(0.441 0.1353 308.36);
    --primary-900: oklch(0.3853 0.1093 309.57);
    --primary-950: oklch(0.2913 0.0914 307.81);
    --primary-1000: oklch(0.2229 0.0786 306.49);

    --secondary-50: oklch(0.9831 0.0066 196.52);
    --secondary-100: oklch(0.9543 0.0181 196.87);
    --secondary-200: oklch(0.914 0.033 197.14);
    --secondary-300: oklch(0.8611 0.0504 198.03);
    --secondary-400: oklch(0.811 0.0589 201.14);
    --secondary-500: oklch(0.7107 0.0545 203.05);
    --secondary-600: oklch(0.6054 0.0473 206.07);
    --secondary-700: oklch(0.5164 0.0391 207.58);
    --secondary-800: oklch(0.4448 0.0317 208.98);
    --secondary-900: oklch(0.3931 0.0259 210.38);
    --secondary-950: oklch(0.2923 0.0201 212.36);
    --secondary-1000: oklch(0.227 0.0163 212.92);

    --background: var(--base-50);
    --foreground: var(--base-800);
    --card: var(--color-white);
    --card-foreground: var(--base-800);
    --popover: var(--color-white);
    --popover-foreground: var(--base-800);
    --primary: var(--primary-600);
    --primary-foreground: var(--color-white);
    --secondary: var(--secondary-400);
    --secondary-foreground: var(--color-black);
    --muted: var(--base-100);
    --muted-foreground: var(--base-600);
    --accent: var(--base-200);
    --accent-foreground: var(--base-800);
    --destructive: oklch(0.577 0.245 27.325);
    --border: var(--base-200);
    --input: var(--base-300);
    --ring: var(--primary-600);
    --chart-1: var(--primary-600);
    --chart-2: var(--secondary-400);
    --chart-3: var(--primary-300);
    --chart-4: var(--secondary-300);
    --chart-5: var(--primary-100);
    --radius: 1rem;
    --sidebar: var(--color-white);
    --sidebar-foreground: var(--base-800);
    --sidebar-primary: var(--primary-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: var(--primary);
    --sidebar-accent-foreground: var(--color-white);
    --sidebar-border: var(--base-200);
    --sidebar-ring: var(--primary-600);
    --display-family: var(--font-hedvig-letters-serif), sans-serif;

    @variant dark {
        --background: var(--base-950);
        --foreground: var(--base-200);
        --card: var(--base-900);
        --card-foreground: var(--base-200);
        --popover: var(--base-900);
        --popover-foreground: var(--base-200);
        --primary: var(--primary-600);
        --primary-foreground: var(--color-white);
        --secondary: var(--secondary-400);
        --secondary-foreground: var(--color-black);
        --muted: var(--base-800);
        --muted-foreground: var(--base-300);
        --accent: var(--base-800);
        --accent-foreground: var(--base-200);
        --destructive: oklch(0.704 0.191 22.216);
        --border: var(--base-800);
        --input: var(--base-700);
        --ring: var(--primary-600);
        --chart-1: var(--primary-600);
        --chart-2: var(--secondary-400);
        --chart-3: var(--primary-300);
        --chart-4: var(--secondary-300);
        --chart-5: var(--primary-100);
        --sidebar: var(--base-900);
        --sidebar-foreground: var(--base-200);
        --sidebar-primary: var(--primary-600);
        --sidebar-primary-foreground: var(--color-white);
        --sidebar-accent: var(--primary);
        --sidebar-accent-foreground: var(--color-white);
        --sidebar-border: var(--base-800);
        --sidebar-ring: var(--primary-600);
    }
}
/* Theme presets */
/* Theme colors */
[data-theme-color="red"] {
    --primary: var(--color-red-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-red-600);
    --sidebar-primary: var(--color-red-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-red-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-red-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="orange"] {
    --primary: var(--color-orange-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-orange-600);
    --sidebar-primary: var(--color-orange-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-orange-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-orange-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="amber"] {
    --primary: var(--color-amber-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-amber-600);
    --sidebar-primary: var(--color-amber-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-amber-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-amber-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="yellow"] {
    --primary: var(--color-yellow-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-yellow-600);
    --sidebar-primary: var(--color-yellow-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-yellow-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-yellow-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="lime"] {
    --primary: var(--color-lime-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-lime-600);
    --sidebar-primary: var(--color-lime-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-lime-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-lime-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="green"] {
    --primary: var(--color-green-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-green-600);
    --sidebar-primary: var(--color-green-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-green-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-green-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="emerald"] {
    --primary: var(--color-emerald-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-emerald-600);
    --sidebar-primary: var(--color-emerald-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-emerald-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-emerald-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="teal"] {
    --primary: var(--color-teal-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-teal-600);
    --sidebar-primary: var(--color-teal-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-teal-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-teal-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="cyan"] {
    --primary: var(--color-cyan-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-cyan-600);
    --sidebar-primary: var(--color-cyan-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-cyan-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-cyan-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="sky"] {
    --primary: var(--color-sky-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-sky-600);
    --sidebar-primary: var(--color-sky-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-sky-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-sky-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="blue"] {
    --primary: var(--color-blue-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-blue-600);
    --sidebar-primary: var(--color-blue-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-blue-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-blue-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="indigo"] {
    --primary: var(--color-indigo-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-indigo-600);
    --sidebar-primary: var(--color-indigo-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-indigo-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-indigo-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="violet"] {
    --primary: var(--color-violet-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-violet-600);
    --sidebar-primary: var(--color-violet-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-violet-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-violet-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="purple"] {
    --primary: var(--color-purple-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-purple-600);
    --sidebar-primary: var(--color-purple-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-purple-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-purple-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="fuchsia"] {
    --primary: var(--color-fuchsia-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-fuchsia-600);
    --sidebar-primary: var(--color-fuchsia-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-fuchsia-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-fuchsia-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="pink"] {
    --primary: var(--color-pink-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-pink-600);
    --sidebar-primary: var(--color-pink-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-pink-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-pink-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
[data-theme-color="rose"] {
    --primary: var(--color-rose-600);
    --primary-foreground: var(--color-white);
    --ring: var(--color-rose-600);
    --sidebar-primary: var(--color-rose-600);
    --sidebar-primary-foreground: var(--color-white);
    --sidebar-accent: color-mix(in oklab, var(--color-rose-600) 15%, transparent);
    --sidebar-accent-foreground: var(--color-black);
    --sidebar-ring: var(--color-rose-600);

    @variant dark {
        --sidebar-accent-foreground: var(--color-white);
    }
}
/* Theme colors */
/* Chart presets */
[data-theme-chart-preset="red"] {
    --chart-1: var(--color-red-600);
    --chart-2: var(--color-red-500);
    --chart-3: var(--color-red-400);
    --chart-4: var(--color-red-300);
    --chart-5: var(--color-red-200);
}
[data-theme-chart-preset="orange"] {
    --chart-1: var(--color-orange-600);
    --chart-2: var(--color-orange-500);
    --chart-3: var(--color-orange-400);
    --chart-4: var(--color-orange-300);
    --chart-5: var(--color-orange-200);
}
[data-theme-chart-preset="amber"] {
    --chart-1: var(--color-amber-600);
    --chart-2: var(--color-amber-500);
    --chart-3: var(--color-amber-400);
    --chart-4: var(--color-amber-300);
    --chart-5: var(--color-amber-200);
}
[data-theme-chart-preset="yellow"] {
    --chart-1: var(--color-yellow-600);
    --chart-2: var(--color-yellow-500);
    --chart-3: var(--color-yellow-400);
    --chart-4: var(--color-yellow-300);
    --chart-5: var(--color-yellow-200);
}
[data-theme-chart-preset="lime"] {
    --chart-1: var(--color-lime-600);
    --chart-2: var(--color-lime-500);
    --chart-3: var(--color-lime-400);
    --chart-4: var(--color-lime-300);
    --chart-5: var(--color-lime-200);
}
[data-theme-chart-preset="green"] {
    --chart-1: var(--color-green-600);
    --chart-2: var(--color-green-500);
    --chart-3: var(--color-green-400);
    --chart-4: var(--color-green-300);
    --chart-5: var(--color-green-200);
}
[data-theme-chart-preset="emerald"] {
    --chart-1: var(--color-emerald-600);
    --chart-2: var(--color-emerald-500);
    --chart-3: var(--color-emerald-400);
    --chart-4: var(--color-emerald-300);
    --chart-5: var(--color-emerald-200);
}
[data-theme-chart-preset="teal"] {
    --chart-1: var(--color-teal-600);
    --chart-2: var(--color-teal-500);
    --chart-3: var(--color-teal-400);
    --chart-4: var(--color-teal-300);
    --chart-5: var(--color-teal-200);
}
[data-theme-chart-preset="cyan"] {
    --chart-1: var(--color-cyan-600);
    --chart-2: var(--color-cyan-500);
    --chart-3: var(--color-cyan-400);
    --chart-4: var(--color-cyan-300);
    --chart-5: var(--color-cyan-200);
}
[data-theme-chart-preset="sky"] {
    --chart-1: var(--color-sky-600);
    --chart-2: var(--color-sky-500);
    --chart-3: var(--color-sky-400);
    --chart-4: var(--color-sky-300);
    --chart-5: var(--color-sky-200);
}
[data-theme-chart-preset="blue"] {
    --chart-1: var(--color-blue-600);
    --chart-2: var(--color-blue-500);
    --chart-3: var(--color-blue-400);
    --chart-4: var(--color-blue-300);
    --chart-5: var(--color-blue-200);
}
[data-theme-chart-preset="indigo"] {
    --chart-1: var(--color-indigo-600);
    --chart-2: var(--color-indigo-500);
    --chart-3: var(--color-indigo-400);
    --chart-4: var(--color-indigo-300);
    --chart-5: var(--color-indigo-200);
}
[data-theme-chart-preset="violet"] {
    --chart-1: var(--color-violet-600);
    --chart-2: var(--color-violet-500);
    --chart-3: var(--color-violet-400);
    --chart-4: var(--color-violet-300);
    --chart-5: var(--color-violet-200);
}
[data-theme-chart-preset="purple"] {
    --chart-1: var(--color-purple-600);
    --chart-2: var(--color-purple-500);
    --chart-3: var(--color-purple-400);
    --chart-4: var(--color-purple-300);
    --chart-5: var(--color-purple-200);
}
[data-theme-chart-preset="fuchsia"] {
    --chart-1: var(--color-fuchsia-600);
    --chart-2: var(--color-fuchsia-500);
    --chart-3: var(--color-fuchsia-400);
    --chart-4: var(--color-fuchsia-300);
    --chart-5: var(--color-fuchsia-200);
}
[data-theme-chart-preset="pink"] {
    --chart-1: var(--color-pink-600);
    --chart-2: var(--color-pink-500);
    --chart-3: var(--color-pink-400);
    --chart-4: var(--color-pink-300);
    --chart-5: var(--color-pink-200);
}
[data-theme-chart-preset="rose"] {
    --chart-1: var(--color-rose-600);
    --chart-2: var(--color-rose-500);
    --chart-3: var(--color-rose-400);
    --chart-4: var(--color-rose-300);
    --chart-5: var(--color-rose-200);
}
/* Chart presets */
/* Radius */
[data-theme-radius="none"] {
    --radius: 0rem;
}
[data-theme-radius="sm"] {
    --radius: .3rem;
}
[data-theme-radius="md"] {
    --radius: .5rem;
}
[data-theme-radius="lg"] {
    --radius: 1rem;
}
[data-theme-radius="xl"] {
    --radius: 1.5rem;
}
/* Radius */
/* Scale */
[data-theme-scale="sm"] {
    --text-lg: 1.05rem;
    --text-base: 0.85rem;
    --text-sm: 0.75rem;
    --spacing: 0.222222rem;
}
[data-theme-scale="lg"] {
    --text-lg: 1.55rem;
    --text-base: 1.35rem;
    --text-sm: 1rem;
    --spacing: 0.262222rem;
}
/* Scale */
/* Font */
[data-theme-font="inter"] {
    --font-sans: var(--font-inter);
}
[data-theme-font="roboto"] {
    --font-sans: var(--font-roboto);
}
[data-theme-font="poppins"] {
    --font-sans: var(--font-poppins);
}
[data-theme-font="montserrat"] {
    --font-sans: var(--font-montserrat);
}
[data-theme-font="pt-sans"] {
    --font-sans: var(--font-pt-sans);
}
[data-theme-font="overpass-mono"] {
    --font-sans: var(--font-overpass-mono);
    letter-spacing: -.05em;
}
/* Font */
/* Display font */
[data-theme-display-font="geist"] {
    --display-family: var(--font-geist);
}
[data-theme-display-font="montserrat"] {
    --display-family: var(--font-montserrat);
}
[data-theme-display-font="poppins"] {
    --display-family: var(--font-poppins);
}
[data-theme-display-font="plus-jakarta-sans"] {
    --display-family: var(--font-plus-jakarta-sans);
}
[data-theme-display-font="outfit"] {
    --display-family: var(--font-outfit);
}
[data-theme-display-font="kumbh-sans"] {
    --display-family: var(--font-kumbh-sans);
}
[data-theme-display-font="hedvig-letters-serif"] {
    --display-family: var(--font-hedvig-letters-serif);
}
/* Display font */
*, ::before, ::after{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(147 197 253 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(147 197 253 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-sans), "DM Sans", Inter, Roboto, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
*{
    scrollbar-color: initial;
    scrollbar-width: initial;
}
:root{
    --color-inherit: inherit;
    --color-current: currentColor;
    --color-transparent: transparent;
    --color-black: #000;
    --color-white: #fff;
    --color-slate-50: #f8fafc;
    --color-slate-100: #f1f5f9;
    --color-slate-200: #e2e8f0;
    --color-slate-300: #cbd5e1;
    --color-slate-400: #94a3b8;
    --color-slate-500: #64748b;
    --color-slate-600: #475569;
    --color-slate-700: #334155;
    --color-slate-800: #1e293b;
    --color-slate-900: #0f172a;
    --color-slate-950: #020617;
    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5db;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;
    --color-gray-950: #030712;
    --color-zinc-50: #fafafa;
    --color-zinc-100: #f4f4f5;
    --color-zinc-200: #e4e4e7;
    --color-zinc-300: #d4d4d8;
    --color-zinc-400: #a1a1aa;
    --color-zinc-500: #71717a;
    --color-zinc-600: #52525b;
    --color-zinc-700: #3f3f46;
    --color-zinc-800: #27272a;
    --color-zinc-900: #18181b;
    --color-zinc-950: #09090b;
    --color-neutral-50: #fafafa;
    --color-neutral-100: #f5f5f5;
    --color-neutral-200: #e5e5e5;
    --color-neutral-300: #d4d4d4;
    --color-neutral-400: #a3a3a3;
    --color-neutral-500: #737373;
    --color-neutral-600: #525252;
    --color-neutral-700: #404040;
    --color-neutral-800: #262626;
    --color-neutral-900: #171717;
    --color-neutral-950: #0a0a0a;
    --color-stone-50: #fafaf9;
    --color-stone-100: #f5f5f4;
    --color-stone-200: #e7e5e4;
    --color-stone-300: #d6d3d1;
    --color-stone-400: #a8a29e;
    --color-stone-500: #78716c;
    --color-stone-600: #57534e;
    --color-stone-700: #44403c;
    --color-stone-800: #292524;
    --color-stone-900: #1c1917;
    --color-stone-950: #0c0a09;
    --color-red-50: #fef2f2;
    --color-red-100: #fee2e2;
    --color-red-200: #fecaca;
    --color-red-300: #fca5a5;
    --color-red-400: #f87171;
    --color-red-500: #ef4444;
    --color-red-600: #dc2626;
    --color-red-700: #b91c1c;
    --color-red-800: #991b1b;
    --color-red-900: #7f1d1d;
    --color-red-950: #450a0a;
    --color-orange-50: #fff7ed;
    --color-orange-100: #ffedd5;
    --color-orange-200: #fed7aa;
    --color-orange-300: #fdba74;
    --color-orange-400: #fb923c;
    --color-orange-500: #f97316;
    --color-orange-600: #ea580c;
    --color-orange-700: #c2410c;
    --color-orange-800: #9a3412;
    --color-orange-900: #7c2d12;
    --color-orange-950: #431407;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c7;
    --color-amber-200: #fde68a;
    --color-amber-300: #fcd34d;
    --color-amber-400: #fbbf24;
    --color-amber-500: #f59e0b;
    --color-amber-600: #d97706;
    --color-amber-700: #b45309;
    --color-amber-800: #92400e;
    --color-amber-900: #78350f;
    --color-amber-950: #451a03;
    --color-yellow-50: #fefce8;
    --color-yellow-100: #fef9c3;
    --color-yellow-200: #fef08a;
    --color-yellow-300: #fde047;
    --color-yellow-400: #facc15;
    --color-yellow-500: #eab308;
    --color-yellow-600: #ca8a04;
    --color-yellow-700: #a16207;
    --color-yellow-800: #854d0e;
    --color-yellow-900: #713f12;
    --color-yellow-950: #422006;
    --color-lime-50: #f7fee7;
    --color-lime-100: #ecfccb;
    --color-lime-200: #d9f99d;
    --color-lime-300: #bef264;
    --color-lime-400: #a3e635;
    --color-lime-500: #84cc16;
    --color-lime-600: #65a30d;
    --color-lime-700: #4d7c0f;
    --color-lime-800: #3f6212;
    --color-lime-900: #365314;
    --color-lime-950: #1a2e05;
    --color-green-50: #f0fdf4;
    --color-green-100: #dcfce7;
    --color-green-200: #bbf7d0;
    --color-green-300: #86efac;
    --color-green-400: #4ade80;
    --color-green-500: #22c55e;
    --color-green-600: #16a34a;
    --color-green-700: #15803d;
    --color-green-800: #166534;
    --color-green-900: #14532d;
    --color-green-950: #052e16;
    --color-emerald-50: #ecfdf5;
    --color-emerald-100: #d1fae5;
    --color-emerald-200: #a7f3d0;
    --color-emerald-300: #6ee7b7;
    --color-emerald-400: #34d399;
    --color-emerald-500: #10b981;
    --color-emerald-600: #059669;
    --color-emerald-700: #047857;
    --color-emerald-800: #065f46;
    --color-emerald-900: #064e3b;
    --color-emerald-950: #022c22;
    --color-teal-50: #f0fdfa;
    --color-teal-100: #ccfbf1;
    --color-teal-200: #99f6e4;
    --color-teal-300: #5eead4;
    --color-teal-400: #2dd4bf;
    --color-teal-500: #14b8a6;
    --color-teal-600: #0d9488;
    --color-teal-700: #0f766e;
    --color-teal-800: #115e59;
    --color-teal-900: #134e4a;
    --color-teal-950: #042f2e;
    --color-cyan-50: #ecfeff;
    --color-cyan-100: #cffafe;
    --color-cyan-200: #a5f3fc;
    --color-cyan-300: #67e8f9;
    --color-cyan-400: #22d3ee;
    --color-cyan-500: #06b6d4;
    --color-cyan-600: #0891b2;
    --color-cyan-700: #0e7490;
    --color-cyan-800: #155e75;
    --color-cyan-900: #164e63;
    --color-cyan-950: #083344;
    --color-sky-50: #f0f9ff;
    --color-sky-100: #e0f2fe;
    --color-sky-200: #bae6fd;
    --color-sky-300: #7dd3fc;
    --color-sky-400: #38bdf8;
    --color-sky-500: #0ea5e9;
    --color-sky-600: #0284c7;
    --color-sky-700: #0369a1;
    --color-sky-800: #075985;
    --color-sky-900: #0c4a6e;
    --color-sky-950: #082f49;
    --color-blue-50: #eff6ff;
    --color-blue-100: #dbeafe;
    --color-blue-200: #bfdbfe;
    --color-blue-300: #93c5fd;
    --color-blue-400: #60a5fa;
    --color-blue-500: #3b82f6;
    --color-blue-600: #2563eb;
    --color-blue-700: #1d4ed8;
    --color-blue-800: #1e40af;
    --color-blue-900: #1e3a8a;
    --color-blue-950: #172554;
    --color-indigo-50: #eef2ff;
    --color-indigo-100: #e0e7ff;
    --color-indigo-200: #c7d2fe;
    --color-indigo-300: #a5b4fc;
    --color-indigo-400: #818cf8;
    --color-indigo-500: #6366f1;
    --color-indigo-600: #4f46e5;
    --color-indigo-700: #4338ca;
    --color-indigo-800: #3730a3;
    --color-indigo-900: #312e81;
    --color-indigo-950: #1e1b4b;
    --color-violet-50: #f5f3ff;
    --color-violet-100: #ede9fe;
    --color-violet-200: #ddd6fe;
    --color-violet-300: #c4b5fd;
    --color-violet-400: #a78bfa;
    --color-violet-500: #8b5cf6;
    --color-violet-600: #7c3aed;
    --color-violet-700: #6d28d9;
    --color-violet-800: #5b21b6;
    --color-violet-900: #4c1d95;
    --color-violet-950: #2e1065;
    --color-purple-50: #faf5ff;
    --color-purple-100: #f3e8ff;
    --color-purple-200: #e9d5ff;
    --color-purple-300: #d8b4fe;
    --color-purple-400: #c084fc;
    --color-purple-500: #a855f7;
    --color-purple-600: #9333ea;
    --color-purple-700: #7e22ce;
    --color-purple-800: #6b21a8;
    --color-purple-900: #581c87;
    --color-purple-950: #3b0764;
    --color-fuchsia-50: #fdf4ff;
    --color-fuchsia-100: #fae8ff;
    --color-fuchsia-200: #f5d0fe;
    --color-fuchsia-300: #f0abfc;
    --color-fuchsia-400: #e879f9;
    --color-fuchsia-500: #d946ef;
    --color-fuchsia-600: #c026d3;
    --color-fuchsia-700: #a21caf;
    --color-fuchsia-800: #86198f;
    --color-fuchsia-900: #701a75;
    --color-fuchsia-950: #4a044e;
    --color-pink-50: #fdf2f8;
    --color-pink-100: #fce7f3;
    --color-pink-200: #fbcfe8;
    --color-pink-300: #f9a8d4;
    --color-pink-400: #f472b6;
    --color-pink-500: #ec4899;
    --color-pink-600: #db2777;
    --color-pink-700: #be185d;
    --color-pink-800: #9d174d;
    --color-pink-900: #831843;
    --color-pink-950: #500724;
    --color-rose-50: #fff1f2;
    --color-rose-100: #ffe4e6;
    --color-rose-200: #fecdd3;
    --color-rose-300: #fda4af;
    --color-rose-400: #fb7185;
    --color-rose-500: #f43f5e;
    --color-rose-600: #e11d48;
    --color-rose-700: #be123c;
    --color-rose-800: #9f1239;
    --color-rose-900: #881337;
    --color-rose-950: #4c0519;
}
a {
    color: inherit;
    text-decoration: none;
  }
input,
  textarea,
  select {
    font-family: inherit;
    font-size: inherit;
  }
.\!container{
    width: 100% !important;
}
.container{
    width: 100%;
}
@media (min-width: 640px){
    .\!container{
        max-width: 640px !important;
    }
    .container{
        max-width: 640px;
    }
}
@media (min-width: 768px){
    .\!container{
        max-width: 768px !important;
    }
    .container{
        max-width: 768px;
    }
}
@media (min-width: 1024px){
    .\!container{
        max-width: 1024px !important;
    }
    .container{
        max-width: 1024px;
    }
}
@media (min-width: 1280px){
    .\!container{
        max-width: 1280px !important;
    }
    .container{
        max-width: 1280px;
    }
}
@media (min-width: 1536px){
    .\!container{
        max-width: 1536px !important;
    }
    .container{
        max-width: 1536px;
    }
}
.sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none{
    pointer-events: none;
}
.pointer-events-auto{
    pointer-events: auto;
}
.visible{
    visibility: visible;
}
.invisible{
    visibility: hidden;
}
.collapse{
    visibility: collapse;
}
.static{
    position: static;
}
.fixed{
    position: fixed;
}
.absolute{
    position: absolute;
}
.relative{
    position: relative;
}
.sticky{
    position: sticky;
}
.-inset-2{
    inset: -0.5rem;
}
.inset-0{
    inset: 0px;
}
.inset-x-0{
    left: 0px;
    right: 0px;
}
.inset-x-\[calc\(var\(--cascader-list-pad\2c 4px\)\*-1\)\]{
    left: calc(var(--cascader-list-pad,4px) * -1);
    right: calc(var(--cascader-list-pad,4px) * -1);
}
.inset-y-0{
    top: 0px;
    bottom: 0px;
}
.\!bottom-\[10\%\]{
    bottom: 10% !important;
}
.\!right-\[10\%\]{
    right: 10% !important;
}
.-end-1{
    inset-inline-end: -0.25rem;
}
.-end-1\.5{
    inset-inline-end: -0.375rem;
}
.-start-11{
    inset-inline-start: -2.75rem;
}
.-top-1{
    top: -0.25rem;
}
.-top-1\.5{
    top: -0.375rem;
}
.bottom-0{
    bottom: 0px;
}
.bottom-2{
    bottom: 0.5rem;
}
.end-0{
    inset-inline-end: 0px;
}
.end-0\.5{
    inset-inline-end: 0.125rem;
}
.end-1{
    inset-inline-end: 0.25rem;
}
.end-2{
    inset-inline-end: 0.5rem;
}
.end-4{
    inset-inline-end: 1rem;
}
.end-\[var\(--cascader-row-inset\2c 8px\)\]{
    inset-inline-end: var(--cascader-row-inset,8px);
}
.left-0{
    left: 0px;
}
.left-1\/2{
    left: 50%;
}
.left-2{
    left: 0.5rem;
}
.left-2\.5{
    left: 0.625rem;
}
.left-3{
    left: 0.75rem;
}
.left-full{
    left: 100%;
}
.right-0{
    right: 0px;
}
.right-1{
    right: 0.25rem;
}
.right-2{
    right: 0.5rem;
}
.right-3{
    right: 0.75rem;
}
.right-4{
    right: 1rem;
}
.right-auto{
    right: auto;
}
.start-2\.5{
    inset-inline-start: 0.625rem;
}
.start-4{
    inset-inline-start: 1rem;
}
.top-0{
    top: 0px;
}
.top-0\.5{
    top: 0.125rem;
}
.top-1\.5{
    top: 0.375rem;
}
.top-1\/2{
    top: 50%;
}
.top-1\/3{
    top: 33.333333%;
}
.top-2{
    top: 0.5rem;
}
.top-2\.5{
    top: 0.625rem;
}
.top-3{
    top: 0.75rem;
}
.top-3\.5{
    top: 0.875rem;
}
.top-4{
    top: 1rem;
}
.isolate{
    isolation: isolate;
}
.z-0{
    z-index: 0;
}
.z-10{
    z-index: 10;
}
.z-20{
    z-index: 20;
}
.z-50{
    z-index: 50;
}
.z-\[100\]{
    z-index: 100;
}
.order-first{
    order: -9999;
}
.order-last{
    order: 9999;
}
.col-span-2{
    grid-column: span 2 / span 2;
}
.col-span-8{
    grid-column: span 8 / span 8;
}
.col-span-full{
    grid-column: 1 / -1;
}
.col-start-2{
    grid-column-start: 2;
}
.row-start-1{
    grid-row-start: 1;
}
.-m-2{
    margin: -0.5rem;
}
.m-0{
    margin: 0px;
}
.m-auto{
    margin: auto;
}
.-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
.-mx-2{
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}
.-mx-4{
    margin-left: -1rem;
    margin-right: -1rem;
}
.mx-0{
    margin-left: 0px;
    margin-right: 0px;
}
.mx-0\.5{
    margin-left: 0.125rem;
    margin-right: 0.125rem;
}
.mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-3\.5{
    margin-left: 0.875rem;
    margin-right: 0.875rem;
}
.mx-\[3px\]{
    margin-left: 3px;
    margin-right: 3px;
}
.mx-\[calc\(var\(--cascader-list-pad\2c 4px\)\*-1\)\]{
    margin-left: calc(var(--cascader-list-pad,4px) * -1);
    margin-right: calc(var(--cascader-list-pad,4px) * -1);
}
.mx-auto{
    margin-left: auto;
    margin-right: auto;
}
.my-0\.5{
    margin-top: 0.125rem;
    margin-bottom: 0.125rem;
}
.my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.my-2{
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.my-3{
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}
.my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.-mb-4{
    margin-bottom: -1rem;
}
.-me-0\.5{
    margin-inline-end: -0.125rem;
}
.-ml-1{
    margin-left: -0.25rem;
}
.-ml-2{
    margin-left: -0.5rem;
}
.-ms-0\.5{
    margin-inline-start: -0.125rem;
}
.-ms-2\.5{
    margin-inline-start: -0.625rem;
}
.-mt-0\.5{
    margin-top: -0.125rem;
}
.-mt-3{
    margin-top: -0.75rem;
}
.mb-1{
    margin-bottom: 0.25rem;
}
.mb-1\.5{
    margin-bottom: 0.375rem;
}
.mb-2{
    margin-bottom: 0.5rem;
}
.mb-2\.5{
    margin-bottom: 0.625rem;
}
.mb-3{
    margin-bottom: 0.75rem;
}
.mb-4{
    margin-bottom: 1rem;
}
.mb-5{
    margin-bottom: 1.25rem;
}
.mb-6{
    margin-bottom: 1.5rem;
}
.mb-8{
    margin-bottom: 2rem;
}
.me-1\.5{
    margin-inline-end: 0.375rem;
}
.ml-1{
    margin-left: 0.25rem;
}
.ml-2{
    margin-left: 0.5rem;
}
.ml-auto{
    margin-left: auto;
}
.mr-1{
    margin-right: 0.25rem;
}
.mr-1\.5{
    margin-right: 0.375rem;
}
.mr-2{
    margin-right: 0.5rem;
}
.mr-4{
    margin-right: 1rem;
}
.ms-1{
    margin-inline-start: 0.25rem;
}
.ms-11{
    margin-inline-start: 2.75rem;
}
.ms-2{
    margin-inline-start: 0.5rem;
}
.ms-3{
    margin-inline-start: 0.75rem;
}
.ms-4{
    margin-inline-start: 1rem;
}
.ms-8{
    margin-inline-start: 2rem;
}
.ms-auto{
    margin-inline-start: auto;
}
.mt-0\.5{
    margin-top: 0.125rem;
}
.mt-1{
    margin-top: 0.25rem;
}
.mt-1\.5{
    margin-top: 0.375rem;
}
.mt-2{
    margin-top: 0.5rem;
}
.mt-3{
    margin-top: 0.75rem;
}
.mt-4{
    margin-top: 1rem;
}
.mt-5{
    margin-top: 1.25rem;
}
.mt-6{
    margin-top: 1.5rem;
}
.mt-8{
    margin-top: 2rem;
}
.mt-\[1px\]{
    margin-top: 1px;
}
.mt-auto{
    margin-top: auto;
}
.line-clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.block{
    display: block;
}
.inline-block{
    display: inline-block;
}
.\!inline{
    display: inline !important;
}
.inline{
    display: inline;
}
.flex{
    display: flex;
}
.inline-flex{
    display: inline-flex;
}
.\!table{
    display: table !important;
}
.table{
    display: table;
}
.table-caption{
    display: table-caption;
}
.table-cell{
    display: table-cell;
}
.table-row{
    display: table-row;
}
.grid{
    display: grid;
}
.contents{
    display: contents;
}
.hidden{
    display: none;
}
.aspect-square{
    aspect-ratio: 1 / 1;
}
.aspect-video{
    aspect-ratio: 16 / 9;
}
.\!size-3{
    width: 0.75rem !important;
    height: 0.75rem !important;
}
.\!size-5{
    width: 1.25rem !important;
    height: 1.25rem !important;
}
.size-1\.5{
    width: 0.375rem;
    height: 0.375rem;
}
.size-10{
    width: 2.5rem;
    height: 2.5rem;
}
.size-11{
    width: 2.75rem;
    height: 2.75rem;
}
.size-12{
    width: 3rem;
    height: 3rem;
}
.size-14{
    width: 3.5rem;
    height: 3.5rem;
}
.size-16{
    width: 4rem;
    height: 4rem;
}
.size-2{
    width: 0.5rem;
    height: 0.5rem;
}
.size-2\.5{
    width: 0.625rem;
    height: 0.625rem;
}
.size-20{
    width: 5rem;
    height: 5rem;
}
.size-24{
    width: 6rem;
    height: 6rem;
}
.size-3{
    width: 0.75rem;
    height: 0.75rem;
}
.size-3\.5{
    width: 0.875rem;
    height: 0.875rem;
}
.size-4{
    width: 1rem;
    height: 1rem;
}
.size-4\.5{
    width: 1.125rem;
    height: 1.125rem;
}
.size-5{
    width: 1.25rem;
    height: 1.25rem;
}
.size-6{
    width: 1.5rem;
    height: 1.5rem;
}
.size-7{
    width: 1.75rem;
    height: 1.75rem;
}
.size-8{
    width: 2rem;
    height: 2rem;
}
.size-9{
    width: 2.25rem;
    height: 2.25rem;
}
.size-\[var\(--cell-size\)\]{
    width: var(--cell-size);
    height: var(--cell-size);
}
.size-auto{
    width: auto;
    height: auto;
}
.size-full{
    width: 100%;
    height: 100%;
}
.\!h-8{
    height: 2rem !important;
}
.h-0\.5{
    height: 0.125rem;
}
.h-1{
    height: 0.25rem;
}
.h-1\.5{
    height: 0.375rem;
}
.h-10{
    height: 2.5rem;
}
.h-12{
    height: 3rem;
}
.h-14{
    height: 3.5rem;
}
.h-16{
    height: 4rem;
}
.h-2{
    height: 0.5rem;
}
.h-2\.5{
    height: 0.625rem;
}
.h-20{
    height: 5rem;
}
.h-24{
    height: 6rem;
}
.h-28{
    height: 7rem;
}
.h-3{
    height: 0.75rem;
}
.h-3\.5{
    height: 0.875rem;
}
.h-32{
    height: 8rem;
}
.h-4{
    height: 1rem;
}
.h-48{
    height: 12rem;
}
.h-5{
    height: 1.25rem;
}
.h-6{
    height: 1.5rem;
}
.h-7{
    height: 1.75rem;
}
.h-8{
    height: 2rem;
}
.h-80{
    height: 20rem;
}
.h-9{
    height: 2.25rem;
}
.h-\[104px\]{
    height: 104px;
}
.h-\[18px\]{
    height: 18px;
}
.h-\[20px\]{
    height: 20px;
}
.h-\[380px\]{
    height: 380px;
}
.h-\[400px\]{
    height: 400px;
}
.h-\[70px\]{
    height: 70px;
}
.h-\[96px\]{
    height: 96px;
}
.h-\[calc\(--spacing\(5\.25\)\)\]{
    height: calc(--spacing(5.25));
}
.h-\[calc\(100\%-1px\)\]{
    height: calc(100% - 1px);
}
.h-\[var\(--cell-size\)\]{
    height: var(--cell-size);
}
.h-\[var\(--content-full-height\)\]{
    height: var(--content-full-height);
}
.h-auto{
    height: auto;
}
.h-dvh{
    height: 100dvh;
}
.h-fit{
    height: -moz-fit-content;
    height: fit-content;
}
.h-full{
    height: 100%;
}
.h-px{
    height: 1px;
}
.h-screen{
    height: 100vh;
}
.h-svh{
    height: 100svh;
}
.max-h-40{
    max-height: 10rem;
}
.max-h-48{
    max-height: 12rem;
}
.max-h-56{
    max-height: 14rem;
}
.max-h-72{
    max-height: 18rem;
}
.max-h-80{
    max-height: 20rem;
}
.max-h-\[--radix-popover-content-available-height\]{
    max-height: var(--radix-popover-content-available-height);
}
.max-h-\[200px\]{
    max-height: 200px;
}
.max-h-\[300px\]{
    max-height: 300px;
}
.max-h-\[330px\]{
    max-height: 330px;
}
.max-h-\[60vh\]{
    max-height: 60vh;
}
.max-h-\[90vh\]{
    max-height: 90vh;
}
.max-h-\[calc\(100dvh-2rem\)\]{
    max-height: calc(100dvh - 2rem);
}
.max-h-\[calc\(100dvh-6rem\)\]{
    max-height: calc(100dvh - 6rem);
}
.max-h-\[calc\(100vh-140px\)\]{
    max-height: calc(100vh - 140px);
}
.max-h-\[calc\(100vh-180px\)\]{
    max-height: calc(100vh - 180px);
}
.max-h-\[min\(var\(--available-height\2c 100vh\)\2c var\(--cascader-max-height\2c 24rem\)\)\]{
    max-height: min(var(--available-height,100vh), var(--cascader-max-height,24rem));
}
.max-h-\[var\(--available-height\)\]{
    max-height: var(--available-height);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{
    max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-\[var\(--radix-select-content-available-height\)\]{
    max-height: var(--radix-select-content-available-height);
}
.max-h-full{
    max-height: 100%;
}
.max-h-none{
    max-height: none;
}
.min-h-0{
    min-height: 0px;
}
.min-h-10{
    min-height: 2.5rem;
}
.min-h-13{
    min-height: 3.25rem;
}
.min-h-14{
    min-height: 3.5rem;
}
.min-h-16{
    min-height: 4rem;
}
.min-h-60{
    min-height: 15rem;
}
.min-h-8{
    min-height: 2rem;
}
.min-h-9{
    min-height: 2.25rem;
}
.min-h-\[100px\]{
    min-height: 100px;
}
.min-h-\[120px\]{
    min-height: 120px;
}
.min-h-\[400px\]{
    min-height: 400px;
}
.min-h-\[50vh\]{
    min-height: 50vh;
}
.min-h-\[80px\]{
    min-height: 80px;
}
.min-h-svh{
    min-height: 100svh;
}
.w-0{
    width: 0px;
}
.w-1{
    width: 0.25rem;
}
.w-1\.5{
    width: 0.375rem;
}
.w-10{
    width: 2.5rem;
}
.w-14{
    width: 3.5rem;
}
.w-16{
    width: 4rem;
}
.w-2{
    width: 0.5rem;
}
.w-2\.5{
    width: 0.625rem;
}
.w-20{
    width: 5rem;
}
.w-24{
    width: 6rem;
}
.w-28{
    width: 7rem;
}
.w-3{
    width: 0.75rem;
}
.w-3\.5{
    width: 0.875rem;
}
.w-32{
    width: 8rem;
}
.w-36{
    width: 9rem;
}
.w-4{
    width: 1rem;
}
.w-40{
    width: 10rem;
}
.w-44{
    width: 11rem;
}
.w-48{
    width: 12rem;
}
.w-5{
    width: 1.25rem;
}
.w-56{
    width: 14rem;
}
.w-6{
    width: 1.5rem;
}
.w-60{
    width: 15rem;
}
.w-64{
    width: 16rem;
}
.w-7{
    width: 1.75rem;
}
.w-72{
    width: 18rem;
}
.w-8{
    width: 2rem;
}
.w-80{
    width: 20rem;
}
.w-9{
    width: 2.25rem;
}
.w-\[--radix-popover-trigger-width\]{
    width: var(--radix-popover-trigger-width);
}
.w-\[100px\]{
    width: 100px;
}
.w-\[104px\]{
    width: 104px;
}
.w-\[120px\]{
    width: 120px;
}
.w-\[150px\]{
    width: 150px;
}
.w-\[160px\]{
    width: 160px;
}
.w-\[18px\]{
    width: 18px;
}
.w-\[20\%\]{
    width: 20%;
}
.w-\[200px\]{
    width: 200px;
}
.w-\[220px\]{
    width: 220px;
}
.w-\[250px\]{
    width: 250px;
}
.w-\[25px\]{
    width: 25px;
}
.w-\[300px\]{
    width: 300px;
}
.w-\[320px\]{
    width: 320px;
}
.w-\[40\%\]{
    width: 40%;
}
.w-\[400px\]{
    width: 400px;
}
.w-\[42rem\]{
    width: 42rem;
}
.w-\[70px\]{
    width: 70px;
}
.w-\[80px\]{
    width: 80px;
}
.w-\[96px\]{
    width: 96px;
}
.w-\[var\(--cascader-column-width\)\]{
    width: var(--cascader-column-width);
}
.w-\[var\(--cell-size\)\]{
    width: var(--cell-size);
}
.w-\[var\(--radix-popover-trigger-width\)\]{
    width: var(--radix-popover-trigger-width);
}
.w-\[var\(--sidebar-width\)\]{
    width: var(--sidebar-width);
}
.w-auto{
    width: auto;
}
.w-fit{
    width: -moz-fit-content;
    width: fit-content;
}
.w-full{
    width: 100%;
}
.w-max{
    width: -moz-max-content;
    width: max-content;
}
.w-screen{
    width: 100vw;
}
.min-w-0{
    min-width: 0px;
}
.min-w-24{
    min-width: 6rem;
}
.min-w-32{
    min-width: 8rem;
}
.min-w-36{
    min-width: 9rem;
}
.min-w-40{
    min-width: 10rem;
}
.min-w-48{
    min-width: 12rem;
}
.min-w-5{
    min-width: 1.25rem;
}
.min-w-52{
    min-width: 13rem;
}
.min-w-56{
    min-width: 14rem;
}
.min-w-7{
    min-width: 1.75rem;
}
.min-w-8{
    min-width: 2rem;
}
.min-w-9{
    min-width: 2.25rem;
}
.min-w-\[120px\]{
    min-width: 120px;
}
.min-w-\[70px\]{
    min-width: 70px;
}
.min-w-\[96px\]{
    min-width: 96px;
}
.min-w-\[var\(--anchor-width\)\]{
    min-width: var(--anchor-width);
}
.min-w-\[var\(--cell-size\)\]{
    min-width: var(--cell-size);
}
.min-w-full{
    min-width: 100%;
}
.min-w-max{
    min-width: -moz-max-content;
    min-width: max-content;
}
.max-w-2xl{
    max-width: 42rem;
}
.max-w-32{
    max-width: 8rem;
}
.max-w-4xl{
    max-width: 56rem;
}
.max-w-5xl{
    max-width: 64rem;
}
.max-w-\[120px\]{
    max-width: 120px;
}
.max-w-\[150px\]{
    max-width: 150px;
}
.max-w-\[200px\]{
    max-width: 200px;
}
.max-w-\[320px\]{
    max-width: 320px;
}
.max-w-\[500px\]{
    max-width: 500px;
}
.max-w-\[75\%\]{
    max-width: 75%;
}
.max-w-\[80\%\]{
    max-width: 80%;
}
.max-w-\[95vw\]{
    max-width: 95vw;
}
.max-w-\[calc\(100\%-2rem\)\]{
    max-width: calc(100% - 2rem);
}
.max-w-\[calc\(100vw-2rem\)\]{
    max-width: calc(100vw - 2rem);
}
.max-w-\[min\(24rem\2c calc\(100vw-2rem\)\)\]{
    max-width: min(24rem, calc(100vw - 2rem));
}
.max-w-\[var\(--available-width\)\]{
    max-width: var(--available-width);
}
.max-w-\[var\(--skeleton-width\)\]{
    max-width: var(--skeleton-width);
}
.max-w-full{
    max-width: 100%;
}
.max-w-lg{
    max-width: 32rem;
}
.max-w-md{
    max-width: 28rem;
}
.max-w-none{
    max-width: none;
}
.max-w-sm{
    max-width: 24rem;
}
.max-w-xs{
    max-width: 20rem;
}
.flex-1{
    flex: 1 1 0%;
}
.flex-none{
    flex: none;
}
.shrink{
    flex-shrink: 1;
}
.shrink-0{
    flex-shrink: 0;
}
.grow{
    flex-grow: 1;
}
.grow-0{
    flex-grow: 0;
}
.basis-\[var\(--filter-field-width\2c 11rem\)\]{
    flex-basis: var(--filter-field-width,11rem);
}
.basis-\[var\(--filter-operator-width\2c 9rem\)\]{
    flex-basis: var(--filter-operator-width,9rem);
}
.basis-\[var\(--filter-value-width\2c 12rem\)\]{
    flex-basis: var(--filter-value-width,12rem);
}
.caption-bottom{
    caption-side: bottom;
}
.border-collapse{
    border-collapse: collapse;
}
.origin-\[var\(--radix-dropdown-menu-content-transform-origin\)\]{
    transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[var\(--radix-select-content-transform-origin\)\]{
    transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[var\(--radix-tooltip-content-transform-origin\)\]{
    transform-origin: var(--radix-tooltip-content-transform-origin);
}
.origin-\[var\(--transform-origin\)\]{
    transform-origin: var(--transform-origin);
}
.origin-center{
    transform-origin: center;
}
.-translate-x-1\/2{
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full{
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-px{
    --tw-translate-x: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-3\/4{
    --tw-translate-y: -75%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px{
    --tw-translate-x: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-3\/4{
    --tw-translate-y: 75%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[calc\(-50\%_-_2px\)\]{
    --tw-translate-y: calc(-50% - 2px);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-0{
    --tw-rotate: 0deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180{
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45{
    --tw-rotate: 45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90{
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-0{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes ping{
    75%, 100%{
        transform: scale(2);
        opacity: 0;
    }
}
.animate-ping{
    animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse{
    50%{
        opacity: .5;
    }
}
.animate-pulse{
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin{
    to{
        transform: rotate(360deg);
    }
}
.animate-spin{
    animation: spin 1s linear infinite;
}
.cursor-col-resize{
    cursor: col-resize;
}
.cursor-default{
    cursor: default;
}
.cursor-grab{
    cursor: grab;
}
.cursor-grabbing{
    cursor: grabbing;
}
.cursor-move{
    cursor: move;
}
.cursor-not-allowed{
    cursor: not-allowed;
}
.cursor-pointer{
    cursor: pointer;
}
.cursor-text{
    cursor: text;
}
.touch-none{
    touch-action: none;
}
.touch-manipulation{
    touch-action: manipulation;
}
.select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize-none{
    resize: none;
}
.resize{
    resize: both;
}
.scroll-my-1{
    scroll-margin-top: 0.25rem;
    scroll-margin-bottom: 0.25rem;
}
.scroll-py-1{
    scroll-padding-top: 0.25rem;
    scroll-padding-bottom: 0.25rem;
}
.list-inside{
    list-style-position: inside;
}
.list-decimal{
    list-style-type: decimal;
}
.list-disc{
    list-style-type: disc;
}
.appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.auto-rows-min{
    grid-auto-rows: min-content;
}
.grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-\[repeat\(auto-fill\2c minmax\(200px\2c 1fr\)\)\]{
    grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
}
.flex-row{
    flex-direction: row;
}
.flex-row-reverse{
    flex-direction: row-reverse;
}
.flex-col{
    flex-direction: column;
}
.flex-col-reverse{
    flex-direction: column-reverse;
}
.flex-wrap{
    flex-wrap: wrap;
}
.flex-nowrap{
    flex-wrap: nowrap;
}
.place-content-center{
    place-content: center;
}
.content-center{
    align-content: center;
}
.items-start{
    align-items: flex-start;
}
.items-end{
    align-items: flex-end;
}
.items-center{
    align-items: center;
}
.items-baseline{
    align-items: baseline;
}
.items-stretch{
    align-items: stretch;
}
.justify-start{
    justify-content: flex-start;
}
.justify-end{
    justify-content: flex-end;
}
.justify-center{
    justify-content: center;
}
.justify-between{
    justify-content: space-between;
}
.gap-0{
    gap: 0px;
}
.gap-0\.5{
    gap: 0.125rem;
}
.gap-1{
    gap: 0.25rem;
}
.gap-1\.5{
    gap: 0.375rem;
}
.gap-16{
    gap: 4rem;
}
.gap-2{
    gap: 0.5rem;
}
.gap-2\.5{
    gap: 0.625rem;
}
.gap-3{
    gap: 0.75rem;
}
.gap-4{
    gap: 1rem;
}
.gap-5{
    gap: 1.25rem;
}
.gap-6{
    gap: 1.5rem;
}
.gap-\[var\(--gap\)\]{
    gap: var(--gap);
}
.gap-y-4{
    row-gap: 1rem;
}
.-space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.self-start{
    align-self: flex-start;
}
.self-end{
    align-self: flex-end;
}
.self-center{
    align-self: center;
}
.self-stretch{
    align-self: stretch;
}
.justify-self-end{
    justify-self: end;
}
.overflow-auto{
    overflow: auto;
}
.overflow-hidden{
    overflow: hidden;
}
.overflow-visible{
    overflow: visible;
}
.overflow-x-auto{
    overflow-x: auto;
}
.overflow-y-auto{
    overflow-y: auto;
}
.overflow-x-hidden{
    overflow-x: hidden;
}
.overflow-y-scroll{
    overflow-y: scroll;
}
.overscroll-contain{
    overscroll-behavior: contain;
}
.overscroll-x-contain{
    overscroll-behavior-x: contain;
}
.truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.whitespace-nowrap{
    white-space: nowrap;
}
.whitespace-pre-line{
    white-space: pre-line;
}
.whitespace-pre-wrap{
    white-space: pre-wrap;
}
.text-balance{
    text-wrap: balance;
}
.break-words{
    overflow-wrap: break-word;
}
.\!rounded-lg{
    border-radius: var(--radius-lg) !important;
}
.\!rounded-xl{
    border-radius: var(--radius-xl) !important;
}
.rounded{
    border-radius: var(--radius);
}
.rounded-2xl{
    border-radius: calc(var(--radius) * 1.8);
}
.rounded-4xl{
    border-radius: calc(var(--radius) * 2.6);
}
.rounded-\[1\.25rem\]{
    border-radius: 1.25rem;
}
.rounded-\[2px\]{
    border-radius: 2px;
}
.rounded-\[4px\]{
    border-radius: 4px;
}
.rounded-\[6px\]{
    border-radius: 6px;
}
.rounded-\[calc\(var\(--radius\)-3px\)\]{
    border-radius: calc(var(--radius) - 3px);
}
.rounded-\[inherit\]{
    border-radius: inherit;
}
.rounded-\[min\(var\(--radius-md\)\2c 10px\)\]{
    border-radius: min(var(--radius-md), 10px);
}
.rounded-\[min\(var\(--radius-md\)\2c 12px\)\]{
    border-radius: min(var(--radius-md), 12px);
}
.rounded-\[var\(--cell-radius\)\]{
    border-radius: var(--cell-radius);
}
.rounded-full{
    border-radius: 9999px;
}
.rounded-lg{
    border-radius: var(--radius-lg);
}
.rounded-md{
    border-radius: var(--radius-md);
}
.rounded-none{
    border-radius: 0px;
}
.rounded-sm{
    border-radius: var(--radius-sm);
}
.rounded-xl{
    border-radius: var(--radius-xl);
}
.rounded-b-none{
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}
.rounded-b-xl{
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
}
.rounded-l-2xl{
    border-top-left-radius: calc(var(--radius) * 1.8);
    border-bottom-left-radius: calc(var(--radius) * 1.8);
}
.rounded-l-\[var\(--cell-radius\)\]{
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
}
.rounded-r-\[var\(--cell-radius\)\]{
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
}
.rounded-t-2xl{
    border-top-left-radius: calc(var(--radius) * 1.8);
    border-top-right-radius: calc(var(--radius) * 1.8);
}
.border{
    border-width: 1px;
}
.border-0{
    border-width: 0px;
}
.border-2{
    border-width: 2px;
}
.border-4{
    border-width: 4px;
}
.border-\[1\.5px\]{
    border-width: 1.5px;
}
.border-y{
    border-top-width: 1px;
    border-bottom-width: 1px;
}
.border-b{
    border-bottom-width: 1px;
}
.border-l{
    border-left-width: 1px;
}
.border-s{
    border-inline-start-width: 1px;
}
.border-t{
    border-top-width: 1px;
}
.border-t-4{
    border-top-width: 4px;
}
.border-solid{
    border-style: solid;
}
.border-dashed{
    border-style: dashed;
}
.border-none{
    border-style: none;
}
.border-\[var\(--color-border\)\]{
    border-color: var(--color-border);
}
.border-amber-200{
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-background{
    border-color: var(--background);
}
.border-blue-200{
    border-color: var(--blue-soft);
}
.border-blue-300{
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-500{
    border-color: var(--blue);
}
.border-border{
    border-color: var(--border);
}
.border-destructive{
    border-color: var(--destructive);
}
.border-gray-100{
    --tw-border-opacity: 1;
    border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200{
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300{
    --tw-border-opacity: 1;
    border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-400{
    --tw-border-opacity: 1;
    border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.border-green-400{
    border-color: var(--green);
}
.border-input{
    border-color: var(--input);
}
.border-muted{
    border-color: var(--muted);
}
.border-orange-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-pink-300{
    --tw-border-opacity: 1;
    border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.border-primary{
    border-color: var(--primary);
}
.border-sidebar-border{
    border-color: var(--sidebar-border);
}
.border-slate-200{
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300{
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-transparent{
    border-color: transparent;
}
.border-violet-200{
    --tw-border-opacity: 1;
    border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.border-white{
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-b-input{
    border-bottom-color: var(--input);
}
.border-t-primary{
    border-top-color: var(--primary);
}
.\!bg-gray-200{
    --tw-bg-opacity: 1 !important;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1)) !important;
}
.bg-\[\#111827\]{
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ecedef\]{
    --tw-bg-opacity: 1;
    background-color: rgb(236 237 239 / var(--tw-bg-opacity, 1));
}
.bg-\[rgba\(0\2c 0\2c 0\2c 0\.65\)\]{
    background-color: rgba(0,0,0,0.65);
}
.bg-\[var\(--color-bg\)\]{
    background-color: var(--color-bg);
}
.bg-accent{
    background-color: var(--accent);
}
.bg-amber-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-400{
    --tw-bg-opacity: 1;
    background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-500{
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-background{
    background-color: var(--background);
}
.bg-black{
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/10{
    background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/20{
    background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30{
    background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40{
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50{
    background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60{
    background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/95{
    background-color: rgb(0 0 0 / 0.95);
}
.bg-blue-100{
    background-color: var(--blue-soft);
}
.bg-blue-500{
    background-color: var(--blue);
}
.bg-border{
    background-color: var(--border);
}
.bg-card{
    background-color: var(--card);
}
.bg-current{
    background-color: currentColor;
}
.bg-cyan-100{
    background-color: var(--green-soft);
}
.bg-destructive{
    background-color: var(--destructive);
}
.bg-emerald-100{
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50{
    background-color: var(--green-soft);
}
.bg-emerald-500{
    background-color: var(--green);
}
.bg-emerald-600{
    background-color: var(--green-dark);
}
.bg-foreground{
    background-color: var(--foreground);
}
.bg-gray-300{
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-50{
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-500{
    --tw-bg-opacity: 1;
    background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
    background-color: var(--green-soft);
}
.bg-green-500{
    background-color: var(--green);
}
.bg-green-600{
    background-color: var(--green-dark);
}
.bg-input{
    background-color: var(--input);
}
.bg-muted{
    background-color: var(--muted);
}
.bg-muted-foreground{
    background-color: var(--muted-foreground);
}
.bg-orange-100{
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-500{
    --tw-bg-opacity: 1;
    background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-pink-100{
    --tw-bg-opacity: 1;
    background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-popover{
    background-color: var(--popover);
}
.bg-primary{
    background-color: var(--primary);
}
.bg-primary-foreground{
    background-color: var(--primary-foreground);
}
.bg-purple-100{
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-500{
    --tw-bg-opacity: 1;
    background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-red-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-400{
    --tw-bg-opacity: 1;
    background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-50{
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500{
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10{
    background-color: rgb(239 68 68 / 0.1);
}
.bg-red-600{
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-secondary{
    background-color: var(--secondary);
}
.bg-sidebar{
    background-color: var(--sidebar);
}
.bg-sidebar-border{
    background-color: var(--sidebar-border);
}
.bg-sky-500\/10{
    background-color: rgb(14 165 233 / 0.1);
}
.bg-sky-500\/20{
    background-color: rgb(14 165 233 / 0.2);
}
.bg-slate-100{
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200{
    --tw-bg-opacity: 1;
    background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-200\/60{
    background-color: rgb(226 232 240 / 0.6);
}
.bg-slate-300{
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-400{
    --tw-bg-opacity: 1;
    background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-50{
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/50{
    background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-50\/70{
    background-color: rgb(248 250 252 / 0.7);
}
.bg-slate-500{
    --tw-bg-opacity: 1;
    background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-800{
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-950{
    --tw-bg-opacity: 1;
    background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-transparent{
    background-color: transparent;
}
.bg-violet-100{
    --tw-bg-opacity: 1;
    background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10{
    background-color: rgb(255 255 255 / 0.1);
}
.bg-yellow-200{
    --tw-bg-opacity: 1;
    background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500{
    --tw-bg-opacity: 1;
    background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.from-amber-400{
    --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-200{
    --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted{
    --tw-gradient-from: var(--muted) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-400{
    --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500{
    --tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-50\%{
    --tw-gradient-from-position: 50%;
}
.to-blue-600{
    --tw-gradient-to: var(--blue) var(--tw-gradient-to-position);
}
.to-orange-600{
    --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-purple-700{
    --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}
.bg-clip-padding{
    background-clip: padding-box;
}
.fill-foreground{
    fill: var(--foreground);
}
.fill-slate-200{
    fill: #e2e8f0;
}
.fill-yellow-400{
    fill: #facc15;
}
.stroke-\[2\.5\]{
    stroke-width: 2.5;
}
.object-contain{
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover{
    -o-object-fit: cover;
       object-fit: cover;
}
.object-center{
    -o-object-position: center;
       object-position: center;
}
.p-0{
    padding: 0px;
}
.p-1{
    padding: 0.25rem;
}
.p-1\.5{
    padding: 0.375rem;
}
.p-2{
    padding: 0.5rem;
}
.p-2\.5{
    padding: 0.625rem;
}
.p-3{
    padding: 0.75rem;
}
.p-4{
    padding: 1rem;
}
.p-5{
    padding: 1.25rem;
}
.p-6{
    padding: 1.5rem;
}
.p-8{
    padding: 2rem;
}
.p-\[3px\]{
    padding: 3px;
}
.p-\[var\(--card-spacing\)\]{
    padding: var(--card-spacing);
}
.p-\[var\(--cascader-list-pad\2c 4px\)\]{
    padding: var(--cascader-list-pad,4px);
}
.p-px{
    padding: 1px;
}
.px-0{
    padding-left: 0px;
    padding-right: 0px;
}
.px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5{
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-4{
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-\[var\(--card-spacing\)\]{
    padding-left: var(--card-spacing);
    padding-right: var(--card-spacing);
}
.px-\[var\(--cell-size\)\]{
    padding-left: var(--cell-size);
    padding-right: var(--cell-size);
}
.px-\[var\(--filter-panel-pad\)\]{
    padding-left: var(--filter-panel-pad);
    padding-right: var(--filter-panel-pad);
}
.py-0{
    padding-top: 0px;
    padding-bottom: 0px;
}
.py-0\.5{
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.py-\[var\(--filter-panel-pad\)\]{
    padding-top: var(--filter-panel-pad);
    padding-bottom: var(--filter-panel-pad);
}
.py-px{
    padding-top: 1px;
    padding-bottom: 1px;
}
.pb-0{
    padding-bottom: 0px;
}
.pb-0\.5{
    padding-bottom: 0.125rem;
}
.pb-1{
    padding-bottom: 0.25rem;
}
.pb-10{
    padding-bottom: 2.5rem;
}
.pb-2{
    padding-bottom: 0.5rem;
}
.pb-2\.5{
    padding-bottom: 0.625rem;
}
.pb-3{
    padding-bottom: 0.75rem;
}
.pb-4{
    padding-bottom: 1rem;
}
.pb-6{
    padding-bottom: 1.5rem;
}
.pb-8{
    padding-bottom: 2rem;
}
.pe-0{
    padding-inline-end: 0px;
}
.pe-1{
    padding-inline-end: 0.25rem;
}
.pe-7{
    padding-inline-end: 1.75rem;
}
.pe-\[calc\(var\(--cascader-row-inset\2c 8px\)\*2_\+_16px\)\]{
    padding-inline-end: calc(var(--cascader-row-inset,8px) * 2 + 16px);
}
.pe-\[calc\(var\(--filter-panel-pad\)\+4px\)\]{
    padding-inline-end: calc(var(--filter-panel-pad) + 4px);
}
.pe-\[var\(--cascader-row-inset\2c 8px\)\]{
    padding-inline-end: var(--cascader-row-inset,8px);
}
.pl-1\.5{
    padding-left: 0.375rem;
}
.pl-2{
    padding-left: 0.5rem;
}
.pl-2\.5{
    padding-left: 0.625rem;
}
.pl-3{
    padding-left: 0.75rem;
}
.pl-8{
    padding-left: 2rem;
}
.pl-9{
    padding-left: 2.25rem;
}
.pr-2{
    padding-right: 0.5rem;
}
.pr-3{
    padding-right: 0.75rem;
}
.pr-4{
    padding-right: 1rem;
}
.pr-5{
    padding-right: 1.25rem;
}
.pr-6{
    padding-right: 1.5rem;
}
.pr-8{
    padding-right: 2rem;
}
.ps-0{
    padding-inline-start: 0px;
}
.ps-2{
    padding-inline-start: 0.5rem;
}
.ps-8{
    padding-inline-start: 2rem;
}
.ps-\[calc\(var\(--cascader-row-inset\2c 8px\)_\+_var\(--cascader-indent\2c 0px\)\)\]{
    padding-inline-start: calc(var(--cascader-row-inset,8px) + var(--cascader-indent,0px));
}
.ps-\[var\(--cascader-row-inset\2c 8px\)\]{
    padding-inline-start: var(--cascader-row-inset,8px);
}
.pt-0{
    padding-top: 0px;
}
.pt-1{
    padding-top: 0.25rem;
}
.pt-1\.5{
    padding-top: 0.375rem;
}
.pt-2{
    padding-top: 0.5rem;
}
.pt-2\.5{
    padding-top: 0.625rem;
}
.pt-3{
    padding-top: 0.75rem;
}
.pt-4{
    padding-top: 1rem;
}
.pt-5{
    padding-top: 1.25rem;
}
.pt-6{
    padding-top: 1.5rem;
}
.pt-8{
    padding-top: 2rem;
}
.text-left{
    text-align: left;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.text-start{
    text-align: start;
}
.align-top{
    vertical-align: top;
}
.align-middle{
    vertical-align: middle;
}
.align-\[calc\(0\.3635em_-_0\.375rem\)\]{
    vertical-align: calc(0.3635em - 0.375rem);
}
.font-heading{
    font-family: var(--font-heading, var(--font-sans)), "DM Sans", Inter, sans-serif;
}
.font-mono{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans{
    font-family: var(--font-sans), "DM Sans", Inter, Roboto, sans-serif;
}
.text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-\[0\.8rem\]{
    font-size: 0.8rem;
}
.text-\[10px\]{
    font-size: 10px;
}
.text-\[11px\]{
    font-size: 11px;
}
.text-\[12px\]{
    font-size: 12px;
}
.text-\[13px\]{
    font-size: 13px;
}
.text-\[15px\]{
    font-size: 15px;
}
.text-\[22px\]{
    font-size: 22px;
}
.text-\[28px\]{
    font-size: 28px;
}
.text-base{
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-sm\/relaxed{
    font-size: 0.875rem;
    line-height: 1.625;
}
.text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-bold{
    font-weight: 700;
}
.font-medium{
    font-weight: 500;
}
.font-normal{
    font-weight: 400;
}
.font-semibold{
    font-weight: 600;
}
.uppercase{
    text-transform: uppercase;
}
.capitalize{
    text-transform: capitalize;
}
.italic{
    font-style: italic;
}
.tabular-nums{
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-none{
    line-height: 1;
}
.leading-relaxed{
    line-height: 1.625;
}
.leading-snug{
    line-height: 1.375;
}
.leading-tight{
    line-height: 1.25;
}
.tracking-tight{
    letter-spacing: -0.025em;
}
.tracking-wide{
    letter-spacing: 0.025em;
}
.tracking-wider{
    letter-spacing: 0.05em;
}
.tracking-widest{
    letter-spacing: 0.1em;
}
.\!text-foreground{
    color: var(--foreground) !important;
}
.\!text-primary{
    color: var(--primary) !important;
}
.\!text-primary-foreground{
    color: var(--primary-foreground) !important;
}
.text-\[\#0F172A\]{
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-accent-foreground{
    color: var(--accent-foreground);
}
.text-amber-500{
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600{
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700{
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-background{
    color: var(--background);
}
.text-blue-500{
    color: var(--blue);
}
.text-blue-600{
    color: var(--blue);
}
.text-blue-700{
    color: var(--blue);
}
.text-card-foreground{
    color: var(--card-foreground);
}
.text-current{
    color: currentColor;
}
.text-destructive{
    color: var(--destructive);
}
.text-emerald-500{
    color: var(--green);
}
.text-emerald-600{
    color: var(--green-dark);
}
.text-emerald-700{
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-foreground{
    color: var(--foreground);
}
.text-gray-400{
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500{
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-700{
    --tw-text-opacity: 1;
    color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900{
    --tw-text-opacity: 1;
    color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green{
    color: var(--green);
}
.text-green-500{
    color: var(--green);
}
.text-green-600{
    color: var(--green-dark);
}
.text-green-700{
    color: var(--green-dark);
}
.text-muted-foreground{
    color: var(--muted-foreground);
}
.text-orange-600{
    --tw-text-opacity: 1;
    color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700{
    --tw-text-opacity: 1;
    color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-pink-500{
    --tw-text-opacity: 1;
    color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-popover-foreground{
    color: var(--popover-foreground);
}
.text-primary{
    color: var(--primary);
}
.text-primary-foreground{
    color: var(--primary-foreground);
}
.text-red-500{
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600{
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700{
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground{
    color: var(--secondary-foreground);
}
.text-sidebar-foreground{
    color: var(--sidebar-foreground);
}
.text-slate-200{
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-400{
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500{
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600{
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700{
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800{
    --tw-text-opacity: 1;
    color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900{
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-violet-600{
    --tw-text-opacity: 1;
    color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-400{
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-600{
    --tw-text-opacity: 1;
    color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.underline{
    text-decoration-line: underline;
}
.underline-offset-4{
    text-underline-offset: 4px;
}
.accent-primary{
    accent-color: var(--primary);
}
.opacity-0{
    opacity: 0;
}
.opacity-100{
    opacity: 1;
}
.opacity-20{
    opacity: 0.2;
}
.opacity-45{
    opacity: 0.45;
}
.opacity-50{
    opacity: 0.5;
}
.opacity-60{
    opacity: 0.6;
}
.opacity-70{
    opacity: 0.7;
}
.opacity-75{
    opacity: 0.75;
}
.opacity-95{
    opacity: 0.95;
}
.bg-blend-color{
    background-blend-mode: color;
}
.\!shadow-none{
    --tw-shadow: 0 0 #0000 !important;
    --tw-shadow-colored: 0 0 #0000 !important;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.shadow{
    --tw-shadow: var(--shadow);
    --tw-shadow-colored: var(--shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xs{
    --tw-shadow: 0 1px 2px rgba(0,0,0,0.04);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{
    --tw-shadow: 0 0 0 1px var(--sidebar-border);
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.02\)\]{
    --tw-shadow: 0 1px 2px rgba(0,0,0,0.02);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none{
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
    --tw-shadow: var(--shadow-sm);
    --tw-shadow-colored: var(--shadow-sm);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-muted{
    --tw-shadow-color: var(--muted);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline{
    outline-style: solid;
}
.\!ring-4{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}
.ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-inset{
    --tw-ring-inset: inset;
}
.ring-background{
    --tw-ring-color: var(--background);
}
.ring-card{
    --tw-ring-color: var(--card);
}
.ring-primary{
    --tw-ring-color: var(--primary);
}
.ring-red-600\/20{
    --tw-ring-color: rgb(220 38 38 / 0.2);
}
.ring-sidebar-ring{
    --tw-ring-color: var(--sidebar-ring);
}
.ring-offset-2{
    --tw-ring-offset-width: 2px;
}
.ring-offset-background{
    --tw-ring-offset-color: var(--background);
}
.blur{
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[1px\]{
    --tw-blur: blur(1px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow{
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur{
    --tw-backdrop-blur: blur(8px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md{
    --tw-backdrop-blur: blur(12px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[background-color\2c box-shadow\2c color\]{
    transition-property: background-color,box-shadow,color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[color\2c background-color\2c border-color\2c box-shadow\]{
    transition-property: color,background-color,border-color,box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[color\2c box-shadow\]{
    transition-property: color,box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[left\2c right\2c width\]{
    transition-property: left,right,width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[margin\2c opacity\]{
    transition-property: margin,opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\]{
    transition-property: width,height,padding;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[width\2c height\]{
    transition-property: width,height;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[width\]{
    transition-property: width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-none{
    transition-property: none;
}
.transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.duration-0{
    transition-duration: 0s;
}
.duration-100{
    transition-duration: 100ms;
}
.duration-1000{
    transition-duration: 1000ms;
}
.duration-200{
    transition-duration: 200ms;
}
.ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
    transition-timing-function: linear;
}
.ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.will-change-transform{
    will-change: transform;
}
.scrollbar::-webkit-scrollbar-track{
    background-color: var(--scrollbar-track);
    border-radius: var(--scrollbar-track-radius);
}
.scrollbar::-webkit-scrollbar-track:hover{
    background-color: var(--scrollbar-track-hover, var(--scrollbar-track));
}
.scrollbar::-webkit-scrollbar-track:active{
    background-color: var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)));
}
.scrollbar::-webkit-scrollbar-thumb{
    background-color: var(--scrollbar-thumb);
    border-radius: var(--scrollbar-thumb-radius);
}
.scrollbar::-webkit-scrollbar-thumb:hover{
    background-color: var(--scrollbar-thumb-hover, var(--scrollbar-thumb));
}
.scrollbar::-webkit-scrollbar-thumb:active{
    background-color: var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)));
}
.scrollbar::-webkit-scrollbar-corner{
    background-color: var(--scrollbar-corner);
    border-radius: var(--scrollbar-corner-radius);
}
.scrollbar::-webkit-scrollbar-corner:hover{
    background-color: var(--scrollbar-corner-hover, var(--scrollbar-corner));
}
.scrollbar::-webkit-scrollbar-corner:active{
    background-color: var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)));
}
.scrollbar{
    scrollbar-width: auto;
    scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial);
}
.scrollbar::-webkit-scrollbar{
    display: block;
    width: var(--scrollbar-width, 16px);
    height: var(--scrollbar-height, 16px);
}
.scrollbar-thin::-webkit-scrollbar-track{
    background-color: var(--scrollbar-track);
    border-radius: var(--scrollbar-track-radius);
}
.scrollbar-thin::-webkit-scrollbar-track:hover{
    background-color: var(--scrollbar-track-hover, var(--scrollbar-track));
}
.scrollbar-thin::-webkit-scrollbar-track:active{
    background-color: var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)));
}
.scrollbar-thin::-webkit-scrollbar-thumb{
    background-color: var(--scrollbar-thumb);
    border-radius: var(--scrollbar-thumb-radius);
}
.scrollbar-thin::-webkit-scrollbar-thumb:hover{
    background-color: var(--scrollbar-thumb-hover, var(--scrollbar-thumb));
}
.scrollbar-thin::-webkit-scrollbar-thumb:active{
    background-color: var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)));
}
.scrollbar-thin::-webkit-scrollbar-corner{
    background-color: var(--scrollbar-corner);
    border-radius: var(--scrollbar-corner-radius);
}
.scrollbar-thin::-webkit-scrollbar-corner:hover{
    background-color: var(--scrollbar-corner-hover, var(--scrollbar-corner));
}
.scrollbar-thin::-webkit-scrollbar-corner:active{
    background-color: var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)));
}
.scrollbar-thin{
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb, initial) var(--scrollbar-track, initial);
}
.scrollbar-thin::-webkit-scrollbar{
    display: block;
    width: 8px;
    height: 8px;
}
.scrollbar-track-transparent{
    --scrollbar-track: transparent !important;
}
.scrollbar-thumb-border{
    --scrollbar-thumb: var(--border) !important;
}
.\@container\/card{
    container-type: inline-size;
    container-name: card;
}
.\@container\/card-header{
    container-type: inline-size;
    container-name: card-header;
}
.\@container\/cell{
    container-type: inline-size;
    container-name: cell;
}
.\@container\/main{
    container-type: inline-size;
    container-name: main;
}
.\@container\/track{
    container-type: inline-size;
    container-name: track;
}
@keyframes enter{
    from{
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}
@keyframes exit{
    to{
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}
.fade-in{
    --tw-enter-opacity: 0;
}
.duration-0{
    animation-duration: 0s;
}
.duration-100{
    animation-duration: 100ms;
}
.duration-1000{
    animation-duration: 1000ms;
}
.duration-200{
    animation-duration: 200ms;
}
.ease-in-out{
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
    animation-timing-function: linear;
}
.ease-out{
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running{
    animation-play-state: running;
}
.paused{
    animation-play-state: paused;
}
.no-scrollbar{
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.no-scrollbar::-webkit-scrollbar{
    display: none;
}
.font-display{
    font-family: var(--display-family, var(--font-sans, "DM Sans", Inter, sans-serif));
    font-weight: var(--display-weight, 700);
}
.ring-3{
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}
.\!size-3.\35{
    width: 0.875rem !important;
    height: 0.875rem !important;
}
.size-3.5{
    width: 0.875rem;
    height: 0.875rem;
}
.\[--card-spacing\:1rem\]{
    --card-spacing: 1rem;
}
.\[--cascader-list-pad\:4px\]{
    --cascader-list-pad: 4px;
}
.\[--cascader-max-height\:16rem\]{
    --cascader-max-height: 16rem;
}
.\[--cascader-row-inset\:6px\]{
    --cascader-row-inset: 6px;
}
.\[--cell-radius\:var\(--radius-md\)\]{
    --cell-radius: var(--radius-md);
}
.\[--cell-size\:1\.75rem\]{
    --cell-size: 1.75rem;
}
.\[--filter-field-width\:14rem\]{
    --filter-field-width: 14rem;
}
.\[--filter-operator-width\:7rem\]{
    --filter-operator-width: 7rem;
}
.\[--filter-value-width\:16rem\]{
    --filter-value-width: 16rem;
}
:root {
  /* ============================================
     Sprintly App Tokens (Mapped to Shadcn colors)
     ============================================ */
  --bg: var(--background);
  --surface: var(--card);
  --surface-hover: var(--accent);
  --border-strong: var(--border);
  --border-light: var(--border);

  /* Font variables matching Next.js next/font definitions used in themes.css */
  --font-inter: 'Inter', sans-serif;
  --font-roboto: 'Roboto', sans-serif;
  --font-poppins: 'Poppins', sans-serif;
  --font-montserrat: 'Montserrat', sans-serif;
  --font-pt-sans: 'PT Sans', sans-serif;
  --font-overpass-mono: 'Overpass Mono', monospace;
  --font-geist: 'Geist', 'Inter', sans-serif;
  --font-plus-jakarta-sans: 'Plus Jakarta Sans', 'Inter', sans-serif;
  --font-outfit: 'Outfit', 'Inter', sans-serif;
  --font-kumbh-sans: 'Kumbh Sans', 'Inter', sans-serif;
  --font-hedvig-letters-serif: 'Hedvig Letters Serif', serif;

  --text: var(--foreground);
  --text-secondary: var(--muted-foreground);
  --text-muted: var(--muted-foreground);
  --text-subtle: var(--muted-foreground);

  --green: #22C55E;
  --green-dark: #16A34A;
  --green-soft: #E7F8EE;
  --green-ink: #15803D;

  --red: #EF4444;
  --red-soft: #FEE2E2;
  --yellow: #F59E0B;
  --yellow-soft: #FEF3C7;
  --blue: #3B82F6;
  --blue-soft: #DBEAFE;
  --violet: #8B5CF6;
  --violet-soft: #EDE9FE;

  /* Radii - Mapped to Shadcn dynamic radiuses to enable scaling throughout the page */
  --r-sm: var(--radius-sm);
  --r: var(--radius-md);
  --r-lg: var(--radius-lg);

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.03);

  /* Spacing */
  --sidebar-w: 220px;
  --sidebar-collapsed: 48px;
  --topbar-h: 64px;

  /* ============================================
     Shadcn UI Design System (exact copy from globals.css)
     ============================================ */
  --background: #ffffff;
  --foreground: #09090b;
  --card: #ffffff;
  --card-foreground: #09090b;
  --popover: #ffffff;
  --popover-foreground: #09090b;
  --primary: #18181b;
  --primary-foreground: #fafafa;
  --secondary: #f4f4f5;
  --secondary-foreground: #18181b;
  --muted: #f4f4f5;
  --muted-foreground: #71717a;
  --accent: #f4f4f5;
  --accent-foreground: #18181b;
  --destructive: #ef4444;
  --border: #e4e4e7;
  --input: #e4e4e7;
  --ring: #a1a1aa;
  --radius: 0.625rem;

  /* Shadcn UI Sidebar Colors */
  --sidebar: #f9f9fb;
  --sidebar-foreground: #737373;
  --sidebar-primary: #18181b;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f4f4f5;
  --sidebar-accent-foreground: #09090b;
  --sidebar-border: #e4e4e7;
  --sidebar-ring: #a1a1aa;



  /* Spacing base unit (matches Tailwind's default: 1 unit = 0.25rem = 4px) */
  --spacing: 0.25rem;

  /* Display font weight */
  --display-weight: 700;
}
body {
  /* Derived radius values - Capped to emulate Shadcn v4 min() limits */
  --radius-sm: min(var(--radius) - 4px, 6px);
  --radius-md: min(var(--radius) - 2px, 10px);
  --radius-lg: min(var(--radius), 12px);
  --radius-xl: calc(var(--radius) + 4px);
}
/* Dark Mode Overrides */
html.dark {
  --green-soft: rgba(34, 197, 94, 0.1);
  --red-soft: rgba(239, 68, 68, 0.1);
  --yellow-soft: rgba(245, 158, 11, 0.1);
  --blue-soft: rgba(59, 130, 246, 0.1);
  --violet-soft: rgba(139, 92, 246, 0.1);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);

  /* Shadcn UI Design System - Dark Mode (exact copy from globals.css) */
  --background: #09090b;
  --foreground: #fafafa;
  --card: #09090b;
  --card-foreground: #fafafa;
  --popover: #09090b;
  --popover-foreground: #fafafa;
  --primary: #fafafa;
  --primary-foreground: #18181b;
  --secondary: #27272a;
  --secondary-foreground: #fafafa;
  --muted: #27272a;
  --muted-foreground: #a1a1aa;
  --accent: #27272a;
  --accent-foreground: #fafafa;
  --destructive: #7f1d1d;
  --border: rgba(255, 255, 255, 0.1);
  --input: rgba(255, 255, 255, 0.15);
  --ring: #71717a;

  /* Sidebar Colors (Dark) */
  --sidebar: #09090b;
  --sidebar-foreground: #d4d4d4;
  --sidebar-primary: #3b82f6;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #262626;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: rgba(255, 255, 255, 0.1);
  --sidebar-ring: #71717a;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
input[type="checkbox"],
input[type="radio"] {
  accent-color: #16a34a;
}
html,
body {
  /* DM Sans is the font used by the Shadcn UI Kit sidebar design system.
     The sidebar components use rem-based sizing which requires 16px base. */
  font-family: 'DM Sans', 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 16px;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.5;
  transition: background 0.3s ease, color 0.3s ease;
  overflow: hidden;
  height: 100%;
}
#root {
  height: 100%;
  overflow: hidden;
}
/* =============================================
   Tailwind v4 → v3 Compatibility Shims
   These replace v4 @theme inline utilities
   ============================================= */
/* Chart color CSS vars (shadcn uses --chart-N in recharts config) */
:root {
  --chart-1: oklch(0.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
}
html.dark {
  --chart-1: oklch(0.87 0 0);
  --chart-2: oklch(0.556 0 0);
  --chart-3: oklch(0.439 0 0);
  --chart-4: oklch(0.371 0 0);
  --chart-5: oklch(0.269 0 0);
}
/* cursor-pointer for all interactive shadcn slots */
[data-slot="button"],
[data-slot="dialog-trigger"],
[data-slot="dropdown-menu-item"],
[data-slot="command-item"],
[data-slot="toggle-group-item"],
[data-slot="dropdown-menu-trigger"],
[data-slot="popover-trigger"],
[data-slot="tooltip-trigger"],
[data-slot="sheet-trigger"],
[data-slot="tabs-trigger"],
[data-slot="collapsible-trigger"] {
  cursor: pointer;
}
/* has-disabled: parent has disabled child — polyfill for v4 */
.has-disabled {
  opacity: 0.5;
  pointer-events: none;
}
/* Scrollbar global styles matching shadcn globals.css */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
/* border-border default for all elements (shadcn @layer base) */
*,
::before,
::after {
  border-color: var(--border);
  outline-color: color-mix(in oklch, var(--ring) 50%, transparent);
}
/* =============================================
   Layout shell
   ============================================= */
.app {
  display: flex;
  min-height: 100vh;
}
/* ---------- Sidebar ---------- */
.sidebar {
  width: var(--sidebar-w);
  background: var(--surface);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-logo {
  padding: 20px 22px 18px;
  border-bottom: 1px solid var(--border-light);
  display: flex;
  align-items: center;
  gap: 10px;
}
.sidebar-logo .mark {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-md);
  background: var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 14px;
}
.sidebar-logo .name {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.org-switcher {
  margin: 14px 14px 6px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--r);
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  background: var(--surface);
}
.org-switcher:hover {
  background: var(--surface-hover);
}
.org-switcher .avatar {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-md);
  background: var(--green-soft);
  color: var(--green-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 12px;
}
.org-switcher .meta {
  flex: 1;
  min-width: 0;
}
.org-switcher .meta .org {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
.org-switcher .meta .label {
  font-size: 11px;
  color: var(--text-muted);
}
.org-switcher .chev {
  color: var(--text-subtle);
}
.side-section {
  padding: 16px 14px 6px;
}
.side-section .title {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--text-subtle);
  padding: 0 10px 8px;
  font-weight: 600;
}
.nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-radius: var(--r-sm);
  font-size: 13.5px;
  color: var(--text-secondary);
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
}
.nav-item:hover {
  background: var(--surface-hover);
  color: var(--text);
}
.nav-item.active {
  background: var(--green-soft);
  color: var(--green-ink);
  font-weight: 600;
}
.nav-item .icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.nav-item .badge {
  margin-left: auto;
  background: var(--border-light);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: var(--radius-md);
}
.nav-item.active .badge {
  background: var(--green);
  color: white;
}
.side-user {
  margin-top: auto;
  padding: 14px;
  border-top: 1px solid var(--border-light);
  display: flex;
  align-items: center;
  gap: 10px;
}
.side-user .avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, #64748B, #334155);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 12px;
}
.side-user .meta {
  flex: 1;
  min-width: 0;
}
.side-user .meta .name {
  font-size: 13px;
  font-weight: 600;
}
.side-user .meta .role {
  font-size: 11px;
  color: var(--text-muted);
}
.side-user .more {
  color: var(--text-subtle);
  padding: 4px;
}
/* ---------- Main ---------- */
.main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.topbar {
  height: var(--topbar-h);
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  padding: 0 28px;
  display: flex;
  align-items: center;
  gap: 18px;
  position: fixed;
  top: 0;
  z-index: 100;
}
.search {
  flex: 1;
  max-width: 420px;
  position: relative;
}
.search input {
  width: 100%;
  padding: 9px 14px 9px 38px;
  border: 1px solid var(--border);
  border-radius: var(--r);
  background: var(--bg);
  outline: none;
  font-size: 13px;
  color: var(--text);
}
.search input:focus {
  border-color: var(--green);
  background: var(--surface);
}
.search .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-subtle);
  pointer-events: none;
}
.topbar-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}
.icon-btn {
  width: 36px;
  height: 36px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  position: relative;
}
.icon-btn:hover {
  background: var(--surface-hover);
  color: var(--text);
}
.icon-btn .dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--red);
  border: 2px solid var(--surface);
}
.icon-btn .badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 16px;
  height: 16px;
  border-radius: var(--radius-md);
  background: var(--red);
  color: white;
  font-size: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid var(--surface);
  line-height: 1;
}
.avatar-row {
  display: flex;
  align-items: center;
  margin-right: 4px;
  padding-left: 10px;
}
.avatar-row .avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid var(--surface);
  background: var(--border-light);
  margin-left: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  color: white;
  position: relative;
  overflow: hidden;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.avatar-row .avatar:first-child {
  margin-left: -8px;
}
.avatar-row .avatar.a1,
.ava-1 {
  background: #E0F2FE !important;
  color: #0369A1 !important;
}
.avatar-row .avatar.a2,
.ava-2 {
  background: #FEF3C7 !important;
  color: #B45309 !important;
}
.avatar-row .avatar.a3,
.ava-3 {
  background: #DCFCE7 !important;
  color: #15803D !important;
}
.avatar-row .avatar.a4,
.ava-4 {
  background: #EDE9FE !important;
  color: #6D28D9 !important;
}
.avatar-row .avatar.more {
  background: #F1F5F9;
  color: #475569;
  font-size: 9px;
  margin-left: -8px;
  z-index: 5;
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: var(--r);
  font-size: 12px;
  font-weight: 600;
  transition: all 0.15s;
  white-space: nowrap;
}
.btn-primary {
  background: var(--green);
  color: white;
}
.btn-primary:hover {
  background: var(--green-dark);
}
.btn-secondary {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
}
.btn-secondary:hover {
  background: var(--surface-hover);
}
.btn-ghost {
  color: var(--text-secondary);
}
.btn-ghost:hover {
  background: var(--surface-hover);
  color: var(--text);
}
/* ---------- Content ---------- */
.content {
  padding: 28px;
  flex: 1;
}
.page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 20px;
}
.page-head h1 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text);
}
.page-head .sub {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 4px;
}
.page-head .actions {
  display: flex;
  gap: 8px;
}
/* ---------- Card ---------- */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.card-head h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.005em;
}
.card-head .link {
  font-size: 12px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}
.card-head .link:hover {
  color: var(--green);
}
/* Stat card */
.stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 18px 20px;
  position: relative;
  box-shadow: var(--shadow-sm);
}
.stat-card .label {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}
.stat-card .label .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}
.stat-card .value {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
  line-height: 1;
}
.stat-card .trend {
  margin-top: 8px;
  font-size: 11px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}
.stat-card .trend.up {
  color: var(--green-ink);
}
.stat-card .trend.down {
  color: var(--red);
}
.stat-card .open {
  position: absolute;
  top: 16px;
  right: 16px;
  color: var(--text-subtle);
  width: 20px;
  height: 20px;
}
.stat-card:hover .open {
  color: var(--green);
}
/* Priority badges */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: var(--radius-xl);
  font-size: 11px;
  font-weight: 600;
}
.pill-green {
  background: var(--green-soft);
  color: var(--green-ink);
}
.pill-red {
  background: var(--red-soft);
  color: #B91C1C;
}
/* changes by sharan */
.pill-critical {
  background: #FFE4E6;
  color: #7F1D1D;
}
.pill-yellow {
  background: var(--yellow-soft);
  color: #B45309;
}
.pill-blue {
  background: var(--blue-soft);
  color: #1D4ED8;
}
.pill-violet {
  background: var(--violet-soft);
  color: #6D28D9;
}
.pill-gray {
  background: var(--border-light);
  color: var(--text-muted);
}
/* Progress bar */
.bar {
  height: 6px;
  background: var(--border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.bar .fill {
  height: 100%;
  background: var(--green);
  border-radius: var(--radius-md);
}
/* Scrollbars Overrides - Hidden globally except for custom styled ones */
:not(.gantt-scroll-container):not(.custom-scrollbar):not(.custom-sidebar-activity):not(.project-completion-scroll)::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
*:not(.gantt-scroll-container):not(.custom-scrollbar):not(.custom-sidebar-activity):not(.project-completion-scroll) {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
/* changes by sharan - Gantt chart scrollbar & custom-scrollbar */
.gantt-scroll-container::-webkit-scrollbar, .custom-scrollbar::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
  display: block !important;
}
.gantt-scroll-container::-webkit-scrollbar-track, .custom-scrollbar::-webkit-scrollbar-track {
  background: #f1f5f9 !important;
  border-radius: 4px !important;
}
.dark .gantt-scroll-container::-webkit-scrollbar-track, .dark .custom-scrollbar::-webkit-scrollbar-track {
  background: #1e293b !important;
}
.gantt-scroll-container::-webkit-scrollbar-thumb, .custom-scrollbar::-webkit-scrollbar-thumb {
  background: #cbd5e1 !important;
  border-radius: 4px !important;
}
.dark .gantt-scroll-container::-webkit-scrollbar-thumb, .dark .custom-scrollbar::-webkit-scrollbar-thumb {
  background: #475569 !important;
}
.gantt-scroll-container::-webkit-scrollbar-thumb:hover, .custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #94a3b8 !important;
}
.dark .gantt-scroll-container::-webkit-scrollbar-thumb:hover, .dark .custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #64748b !important;
}
.gantt-scroll-container, .custom-scrollbar {
  -ms-overflow-style: auto !important;
  scrollbar-width: auto !important;
  scrollbar-color: #cbd5e1 #f1f5f9 !important;
  overflow: scroll !important;
  /* changes by sharan */
}
.dark .gantt-scroll-container, .dark .custom-scrollbar {
  scrollbar-color: #475569 #1e293b !important;
}
/* end changes by sharan */
/* Preserve Third-party Component Overrides */
.rbc-month-view .rbc-date-cell {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-weight: 500;
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-fadeIn {
  animation: fadeIn 0.5s ease-out forwards;
}
@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-8px);
  }
}
.animate-float {
  animation: float 3s ease-in-out infinite;
}
/* ---------- Workforce Overhaul ---------- */
.stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
.stat-mini {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 16px 20px;
}
.stat-mini .t {
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 700;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.stat-mini .v {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text);
  line-height: 1;
}
.stat-mini .delta {
  font-size: 11px;
  margin-top: 10px;
  font-weight: 600;
}
.stat-mini .delta.up {
  color: var(--green-ink);
}
.stat-mini .delta.down {
  color: var(--red);
}
/* Change by ujwala */
.team-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  align-items: flex-start;
}
/* Change by ujwala */
.member-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 24px;
  transition: all 0.2s ease;
}
.member-card:hover {
  border-color: var(--green);
  box-shadow: var(--shadow-xl);
  transform: translateY(-4px);
}
.member-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 24px;
}
.member-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.member-top .avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  flex-shrink: 0;
  position: relative;
}
.member-top .avatar .status-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--surface);
  background: var(--green);
}
.member-top .avatar .status-dot.away {
  background: var(--yellow);
}
.member-top .avatar .status-dot.off {
  background: var(--red);
}
.member-top .meta .name {
  font-size: 15px;
  font-weight: 650;
  color: var(--text);
}
.member-top .meta .role {
  font-size: 12px;
  color: var(--text-muted);
}
.member-top .menu {
  margin-left: auto;
  color: var(--text-subtle);
  padding: 4px;
  cursor: pointer;
}
.member-stats {
  display: flex;
  gap: 12px;
  margin: 16px 0;
}
.member-stats .m {
  flex: 1;
}
.member-stats .m .l {
  font-size: 11px;
  color: var(--text-muted);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.member-stats .m .v {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
}
.member-workload {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border-light);
}
.member-workload .label {
  font-size: 11px;
  color: var(--text-muted);
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-weight: 600;
}
.member-workload .bar-bg {
  height: 6px;
  background: var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.member-workload .bar-fill {
  height: 100%;
  border-radius: var(--radius-md);
  transition: width 0.4s ease-out;
}
.member-actions {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}
.dept-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border-light);
}
.dept-bar:last-child {
  border-bottom: none;
}
.dept-bar .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.dept-bar .name {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
}
.dept-bar .count {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 600;
  background: var(--bg);
  padding: 2px 8px;
  border-radius: var(--radius-md);
}
/* Member List (Table) View */
.member-table-container {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 4px 20px -5px rgba(0, 0, 0, 0.05);
}
.member-table {
  border-collapse: collapse;
}
.member-table th {
  padding: 14px 24px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
}
.member-table td {
  padding: 12px 24px;
  border-bottom: 1px solid var(--border-light);
  vertical-align: middle;
  transition: background 0.2s ease;
}
.member-table tr:hover td {
  background: var(--surface-hover);
}
.member-table tr:last-child td {
  border-bottom: none;
}
.status-dot-mini {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--surface);
  background: var(--green);
}
.status-dot-mini.off {
  background: var(--red);
}
.status-dot-mini.away {
  background: #F59E0B;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: var(--radius-xl);
  font-size: 10px;
  font-weight: 700;
  background: var(--green-soft);
  color: var(--green-ink);
}
.status-badge.off {
  background: #F1F5F9;
  color: #64748B;
}
.status-badge.away {
  background: #FEF3C7;
  color: #B45309;
}
.member-cell {
  min-width: 240px;
}
/* =============================================
   Company Management Redesign
   ============================================= */
/* Breadcrumb */
.crumbs {
  font-size: 12.5px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px;
}
.crumbs a {
  color: var(--text-muted);
}
.crumbs a:hover {
  color: var(--green-ink);
}
.crumbs .sep {
  color: var(--text-subtle);
}
.crumbs .current {
  color: var(--text);
  font-weight: 600;
}
/* Company hero */
.cm-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  border-bottom: none;
  padding: 24px 28px;
  margin-bottom: 0;
}
.cm-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--green);
  color: white;
  font-size: 22px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cm-info h1 {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 10px;
}
.cm-info h1 .role-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: var(--radius-sm);
  background: #EDE9FE;
  color: #6D28D9;
}
.cm-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--text-muted);
}
.cm-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.cm-meta svg {
  color: var(--text-subtle);
}
/* Tabs */
.cm-tabs {
  display: flex;
  gap: 0;
  border: 1px solid var(--border);
  border-top: none;
  margin-bottom: 24px;
  background: var(--surface);
  border-radius: 0 0 var(--r-lg) var(--r-lg);
  overflow: hidden;
}
.cm-tab {
  padding: 13px 22px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
  white-space: nowrap;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: pointer;
}
.cm-tab:hover {
  color: var(--text);
}
.cm-tab.active {
  color: var(--green-ink);
  border-bottom-color: var(--green);
  font-weight: 600;
}
/* Access banner */
.cm-access-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  background: var(--yellow-soft);
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-radius: var(--r);
  margin-bottom: 20px;
  font-size: 13px;
  color: var(--text-secondary);
}
.cm-access-banner svg {
  color: #B45309;
  flex-shrink: 0;
}
.cm-access-banner div {
  flex: 1;
}
.cm-access-banner strong {
  color: #B45309;
}
.cm-access-banner .role-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  text-transform: uppercase;
}
.cm-access-banner .role-badge.admin {
  background: #EDE9FE;
  color: #6D28D9;
}
/* Custom Date/Time input overrides to hide native browser indicator icons */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
  opacity: 1;
  cursor: pointer;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  z-index: 10;
}
.dark input[type="date"]::-webkit-calendar-picker-indicator,
.dark input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
}
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-clear-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-clear-button {
  display: none;
  -webkit-appearance: none;
}
input[type="date"],
input[type="time"] {
  position: relative;
}
/* Removed legacy font-family override to allow theme customizer fonts to inherit properly */
@media print {

  nav,
  header,
  .fixed.top-0,
  .sidebar,
  .NavBar {
    display: none !important;
  }

  .main-content-scroll,
  main {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .flex.flex-col.lg\:flex-row.bg-bg.relative {
    padding-top: 0 !important;
  }
  .topbar {
    display: none !important;
  }
}
body {
    font-family: inherit;
/* Removed legacy font-family override to allow theme customizer fonts to inherit properly */
}
.\*\:shrink-0 > *{
    flex-shrink: 0;
}
.\*\:py-2 > *{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.file\:mr-2::file-selector-button{
    margin-right: 0.5rem;
}
.file\:inline-flex::file-selector-button{
    display: inline-flex;
}
.file\:h-6::file-selector-button{
    height: 1.5rem;
}
.file\:h-full::file-selector-button{
    height: 100%;
}
.file\:border-0::file-selector-button{
    border-width: 0px;
}
.file\:bg-muted::file-selector-button{
    background-color: var(--muted);
}
.file\:bg-transparent::file-selector-button{
    background-color: transparent;
}
.file\:text-sm::file-selector-button{
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.file\:font-medium::file-selector-button{
    font-weight: 500;
}
.file\:text-foreground::file-selector-button{
    color: var(--foreground);
}
.placeholder\:text-muted-foreground::-moz-placeholder{
    color: var(--muted-foreground);
}
.placeholder\:text-muted-foreground::placeholder{
    color: var(--muted-foreground);
}
.after\:absolute::after{
    content: var(--tw-content);
    position: absolute;
}
.after\:-inset-2::after{
    content: var(--tw-content);
    inset: -0.5rem;
}
.after\:inset-0::after{
    content: var(--tw-content);
    inset: 0px;
}
.after\:-inset-x-3::after{
    content: var(--tw-content);
    left: -0.75rem;
    right: -0.75rem;
}
.after\:-inset-y-2::after{
    content: var(--tw-content);
    top: -0.5rem;
    bottom: -0.5rem;
}
.after\:inset-y-0::after{
    content: var(--tw-content);
    top: 0px;
    bottom: 0px;
}
.after\:left-0::after{
    content: var(--tw-content);
    left: 0px;
}
.after\:right-0::after{
    content: var(--tw-content);
    right: 0px;
}
.after\:start-1\/2::after{
    content: var(--tw-content);
    inset-inline-start: 50%;
}
.after\:w-4::after{
    content: var(--tw-content);
    width: 1rem;
}
.after\:w-\[2px\]::after{
    content: var(--tw-content);
    width: 2px;
}
.after\:rounded-full::after{
    content: var(--tw-content);
    border-radius: 9999px;
}
.after\:border::after{
    content: var(--tw-content);
    border-width: 1px;
}
.after\:border-border::after{
    content: var(--tw-content);
    border-color: var(--border);
}
.after\:bg-foreground::after{
    content: var(--tw-content);
    background-color: var(--foreground);
}
.after\:bg-muted::after{
    content: var(--tw-content);
    background-color: var(--muted);
}
.after\:opacity-0::after{
    content: var(--tw-content);
    opacity: 0;
}
.after\:mix-blend-darken::after{
    content: var(--tw-content);
    mix-blend-mode: darken;
}
.after\:transition-opacity::after{
    content: var(--tw-content);
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.first\:ml-0:first-child{
    margin-left: 0px;
}
.focus-within\:border-ring:focus-within{
    border-color: var(--ring);
}
.focus-within\:ring-3:focus-within{
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}
.group\/timeline-item:last-child .group-last\/timeline-item\:hidden{
    display: none;
}
.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{
    opacity: 1;
}
.group:hover .group-hover\:bg-accent{
    background-color: var(--accent);
}
.group\/collapsible:hover .group-hover\/collapsible\:opacity-100{
    opacity: 1;
}
.group\/combinator:hover .group-hover\/combinator\:opacity-60{
    opacity: 0.6;
}
.group\/item:hover .group-hover\/item\:opacity-100{
    opacity: 1;
}
.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{
    opacity: 1;
}
.group\/pin:hover .group-hover\/pin\:opacity-100{
    opacity: 1;
}
.group\/sub:hover .group-hover\/sub\:opacity-100{
    opacity: 1;
}
.group:hover .group-hover\:opacity-100{
    opacity: 1;
}
.group:hover .group-hover\:shadow-md{
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group\/dropdown-menu-item:focus .group-focus\/dropdown-menu-item\:text-accent-foreground{
    color: var(--accent-foreground);
}
.group\/combinator:focus-visible .group-focus-visible\/combinator\:opacity-60{
    opacity: 0.6;
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-foreground{
    color: var(--foreground);
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-green-600{
    color: var(--green-dark);
}
.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground{
    color: var(--sidebar-accent-foreground);
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed{
    cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-50{
    opacity: 0.5;
}
.peer:disabled ~ .peer-disabled\:opacity-70{
    opacity: 0.7;
}
.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){
    margin-left: -0.3rem;
}
.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){
    margin-right: -0.3rem;
}
.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){
    margin-left: -0.15rem;
}
.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){
    margin-right: -0.15rem;
}
.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){
    height: auto;
}
.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){
    height: auto;
}
.has-\[\>textarea\]\:h-auto:has(>textarea){
    height: auto;
}
.has-\[\[data-slot\=card-action\]\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){
    grid-template-columns: 1fr auto;
}
.has-\[\[data-slot\=card-description\]\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){
    grid-template-rows: auto auto;
}
.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){
    flex-direction: column;
}
.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){
    flex-direction: column;
}
.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){
    gap: 0.5rem;
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){
    border-color: var(--ring);
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){
    border-color: var(--destructive);
}
.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){
    background-color: var(--sidebar);
}
.has-\[\>svg\]\:p-0:has(>svg){
    padding: 0px;
}
.has-\[button\]\:p-0:has(button){
    padding: 0px;
}
.has-\[\[data-slot\=combobox-chip\]\]\:px-1:has([data-slot=combobox-chip]){
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.has-\[\[data-icon\=inline-end\]\]\:pr-1:has([data-icon=inline-end]){
    padding-right: 0.25rem;
}
.has-\[\[data-icon\=inline-end\]\]\:pr-1\.5:has([data-icon=inline-end]){
    padding-right: 0.375rem;
}
.has-\[\[data-icon\=inline-end\]\]\:pr-2:has([data-icon=inline-end]){
    padding-right: 0.5rem;
}
.has-\[\[data-icon\=inline-start\]\]\:pl-1:has([data-icon=inline-start]){
    padding-left: 0.25rem;
}
.has-\[\[data-icon\=inline-start\]\]\:pl-1\.5:has([data-icon=inline-start]){
    padding-left: 0.375rem;
}
.has-\[\[data-icon\=inline-start\]\]\:pl-2:has([data-icon=inline-start]){
    padding-left: 0.5rem;
}
.has-\[\[data-slot\=combobox-chip-remove\]\]\:pr-0:has([data-slot=combobox-chip-remove]){
    padding-right: 0px;
}
.has-\[\[data-slot\=kbd\]\]\:pr-1\.5:has([data-slot=kbd]){
    padding-right: 0.375rem;
}
.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]:focus-visible){
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}
.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid=true]){
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}
.group\/card-header:has([data-slot=card-description]) .group-has-\[\[data-slot\=card-description\]\]\/card-header\:row-end-3{
    grid-row-end: 3;
}
.group\/command-item:has([data-slot=command-shortcut]) .group-has-\[\[data-slot\=command-shortcut\]\]\/command-item\:hidden{
    display: none;
}
.group\/avatar-group:has([data-size=lg]) .group-has-\[\[data-size\=lg\]\]\/avatar-group\:size-10{
    width: 2.5rem;
    height: 2.5rem;
}
.group\/avatar-group:has([data-size=sm]) .group-has-\[\[data-size\=sm\]\]\/avatar-group\:size-6{
    width: 1.5rem;
    height: 1.5rem;
}
.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2{
    padding-bottom: 0.5rem;
}
.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2{
    padding-top: 0.5rem;
}
.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{
    padding-right: 2rem;
}
.aria-disabled\:pointer-events-none[aria-disabled="true"]{
    pointer-events: none;
}
.aria-disabled\:opacity-50[aria-disabled="true"]{
    opacity: 0.5;
}
.aria-expanded\:bg-accent[aria-expanded="true"]{
    background-color: var(--accent);
}
.aria-expanded\:bg-muted[aria-expanded="true"]{
    background-color: var(--muted);
}
.aria-expanded\:bg-secondary[aria-expanded="true"]{
    background-color: var(--secondary);
}
.aria-expanded\:text-accent-foreground[aria-expanded="true"]{
    color: var(--accent-foreground);
}
.aria-expanded\:text-foreground[aria-expanded="true"]{
    color: var(--foreground);
}
.aria-expanded\:text-secondary-foreground[aria-expanded="true"]{
    color: var(--secondary-foreground);
}
.aria-expanded\:opacity-100[aria-expanded="true"]{
    opacity: 1;
}
.aria-pressed\:bg-muted[aria-pressed="true"]{
    background-color: var(--muted);
}
.aria-selected\:bg-accent[aria-selected="true"]{
    background-color: var(--accent);
}
.aria-selected\:text-accent-foreground[aria-selected="true"]{
    color: var(--accent-foreground);
}
.aria-selected\:text-muted-foreground[aria-selected="true"]{
    color: var(--muted-foreground);
}
.group\/command-item[aria-selected="true"] .group-aria-selected\/command-item\:text-accent-foreground{
    color: var(--accent-foreground);
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"]{
    pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled]{
    pointer-events: none;
}
.data-\[side\=bottom\]\:inset-x-0[data-side="bottom"]{
    left: 0px;
    right: 0px;
}
.data-\[side\=left\]\:inset-y-0[data-side="left"]{
    top: 0px;
    bottom: 0px;
}
.data-\[side\=right\]\:inset-y-0[data-side="right"]{
    top: 0px;
    bottom: 0px;
}
.data-\[side\=top\]\:inset-x-0[data-side="top"]{
    left: 0px;
    right: 0px;
}
.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction="bottom"]{
    left: 0px;
    right: 0px;
}
.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction="left"]{
    top: 0px;
    bottom: 0px;
}
.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction="right"]{
    top: 0px;
    bottom: 0px;
}
.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction="top"]{
    left: 0px;
    right: 0px;
}
.data-\[side\=bottom\]\:bottom-0[data-side="bottom"]{
    bottom: 0px;
}
.data-\[side\=left\]\:left-0[data-side="left"]{
    left: 0px;
}
.data-\[side\=right\]\:right-0[data-side="right"]{
    right: 0px;
}
.data-\[side\=top\]\:top-0[data-side="top"]{
    top: 0px;
}
.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction="bottom"]{
    bottom: 0px;
}
.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction="left"]{
    left: 0px;
}
.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction="right"]{
    right: 0px;
}
.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction="top"]{
    top: 0px;
}
.data-\[orientation\=horizontal\]\:mx-px[data-orientation="horizontal"]{
    margin-left: 1px;
    margin-right: 1px;
}
.data-\[orientation\=vertical\]\:my-px[data-orientation="vertical"]{
    margin-top: 1px;
    margin-bottom: 1px;
}
.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction="bottom"]{
    margin-top: 6rem;
}
.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction="top"]{
    margin-bottom: 6rem;
}
.data-\[size\=lg\]\:size-10[data-size="lg"]{
    width: 2.5rem;
    height: 2.5rem;
}
.data-\[size\=sm\]\:size-6[data-size="sm"]{
    width: 1.5rem;
    height: 1.5rem;
}
.data-\[orientation\=horizontal\]\:h-2\.5[data-orientation="horizontal"]{
    height: 0.625rem;
}
.data-\[orientation\=horizontal\]\:h-px[data-orientation="horizontal"]{
    height: 1px;
}
.data-\[orientation\=vertical\]\:h-4[data-orientation="vertical"]{
    height: 1rem;
}
.data-\[orientation\=vertical\]\:h-auto[data-orientation="vertical"]{
    height: auto;
}
.data-\[orientation\=vertical\]\:h-full[data-orientation="vertical"]{
    height: 100%;
}
.data-\[position\=popper\]\:h-\[var\(--radix-select-trigger-height\)\][data-position="popper"]{
    height: var(--radix-select-trigger-height);
}
.data-\[side\=bottom\]\:h-auto[data-side="bottom"]{
    height: auto;
}
.data-\[side\=left\]\:h-full[data-side="left"]{
    height: 100%;
}
.data-\[side\=right\]\:h-full[data-side="right"]{
    height: 100%;
}
.data-\[side\=top\]\:h-auto[data-side="top"]{
    height: auto;
}
.data-\[size\=default\]\:h-8[data-size="default"]{
    height: 2rem;
}
.data-\[size\=default\]\:h-\[18\.4px\][data-size="default"]{
    height: 18.4px;
}
.data-\[size\=sm\]\:h-7[data-size="sm"]{
    height: 1.75rem;
}
.data-\[size\=sm\]\:h-\[14px\][data-size="sm"]{
    height: 14px;
}
.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction="bottom"]{
    max-height: 80vh;
}
.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction="top"]{
    max-height: 80vh;
}
.data-\[orientation\=horizontal\]\:w-auto[data-orientation="horizontal"]{
    width: auto;
}
.data-\[orientation\=horizontal\]\:w-full[data-orientation="horizontal"]{
    width: 100%;
}
.data-\[orientation\=vertical\]\:w-2\.5[data-orientation="vertical"]{
    width: 0.625rem;
}
.data-\[orientation\=vertical\]\:w-px[data-orientation="vertical"]{
    width: 1px;
}
.data-\[position\=popper\]\:w-full[data-position="popper"]{
    width: 100%;
}
.data-\[side\=left\]\:w-3\/4[data-side="left"]{
    width: 75%;
}
.data-\[side\=right\]\:w-3\/4[data-side="right"]{
    width: 75%;
}
.data-\[size\=default\]\:w-\[32px\][data-size="default"]{
    width: 32px;
}
.data-\[size\=sm\]\:w-\[24px\][data-size="sm"]{
    width: 24px;
}
.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction="left"]{
    width: 75%;
}
.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction="right"]{
    width: 75%;
}
.data-\[position\=popper\]\:min-w-\[var\(--radix-select-trigger-width\)\][data-position="popper"]{
    min-width: var(--radix-select-trigger-width);
}
.data-\[variant\=ghost\]\:max-w-full[data-variant="ghost"]{
    max-width: 100%;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"]{
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"]{
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"]{
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[align-trigger\=true\]\:animate-none[data-align-trigger="true"]{
    animation: none;
}
.data-\[state\=closed\]\:animate-none[data-state="closed"]{
    animation: none;
}
.data-\[disabled\]\:cursor-not-allowed[data-disabled]{
    cursor: not-allowed;
}
.data-\[orientation\=horizontal\]\:flex-row[data-orientation="horizontal"]{
    flex-direction: row;
}
.data-\[orientation\=horizontal\]\:flex-col[data-orientation="horizontal"]{
    flex-direction: column;
}
.data-\[orientation\=vertical\]\:flex-col[data-orientation="vertical"]{
    flex-direction: column;
}
.data-\[orientation\=vertical\]\:items-stretch[data-orientation="vertical"]{
    align-items: stretch;
}
.data-\[align\=end\]\:self-end[data-align="end"]{
    align-self: flex-end;
}
.data-\[orientation\=vertical\]\:self-center[data-orientation="vertical"]{
    align-self: center;
}
.data-\[orientation\=vertical\]\:self-stretch[data-orientation="vertical"]{
    align-self: stretch;
}
.data-\[state\=closed\]\:overflow-hidden[data-state="closed"]{
    overflow: hidden;
}
.data-\[range-end\=true\]\:rounded-\[var\(--cell-radius\)\][data-range-end="true"]{
    border-radius: var(--cell-radius);
}
.data-\[range-middle\=true\]\:rounded-none[data-range-middle="true"]{
    border-radius: 0px;
}
.data-\[range-start\=true\]\:rounded-\[var\(--cell-radius\)\][data-range-start="true"]{
    border-radius: var(--cell-radius);
}
.data-\[selected\=true\]\:rounded-none[data-selected="true"]{
    border-radius: 0px;
}
.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\2c 10px\)\][data-size="sm"]{
    border-radius: min(var(--radius-md), 10px);
}
.data-\[variant\=line\]\:rounded-none[data-variant="line"]{
    border-radius: 0px;
}
.data-\[range-end\=true\]\:rounded-r-\[var\(--cell-radius\)\][data-range-end="true"]{
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
}
.data-\[range-start\=true\]\:rounded-l-\[var\(--cell-radius\)\][data-range-start="true"]{
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
}
.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-xl[data-vaul-drawer-direction="bottom"]{
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
}
.data-\[vaul-drawer-direction\=left\]\:rounded-r-xl[data-vaul-drawer-direction="left"]{
    border-top-right-radius: var(--radius-xl);
    border-bottom-right-radius: var(--radius-xl);
}
.data-\[vaul-drawer-direction\=right\]\:rounded-l-xl[data-vaul-drawer-direction="right"]{
    border-top-left-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
}
.data-\[vaul-drawer-direction\=top\]\:rounded-b-xl[data-vaul-drawer-direction="top"]{
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
}
.data-\[orientation\=horizontal\]\:border-t[data-orientation="horizontal"]{
    border-top-width: 1px;
}
.data-\[orientation\=vertical\]\:border-l[data-orientation="vertical"]{
    border-left-width: 1px;
}
.data-\[side\=bottom\]\:border-t[data-side="bottom"]{
    border-top-width: 1px;
}
.data-\[side\=left\]\:border-r[data-side="left"]{
    border-right-width: 1px;
}
.data-\[side\=right\]\:border-l[data-side="right"]{
    border-left-width: 1px;
}
.data-\[side\=top\]\:border-b[data-side="top"]{
    border-bottom-width: 1px;
}
.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction="bottom"]{
    border-top-width: 1px;
}
.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction="left"]{
    border-right-width: 1px;
}
.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction="right"]{
    border-left-width: 1px;
}
.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction="top"]{
    border-bottom-width: 1px;
}
.data-\[state\=checked\]\:border-primary[data-state="checked"]{
    border-color: var(--primary);
}
.data-\[orientation\=horizontal\]\:border-t-transparent[data-orientation="horizontal"]{
    border-top-color: transparent;
}
.data-\[orientation\=vertical\]\:border-l-transparent[data-orientation="vertical"]{
    border-left-color: transparent;
}
.data-\[highlighted\]\:bg-accent[data-highlighted]{
    background-color: var(--accent);
}
.data-\[range-end\=true\]\:bg-primary[data-range-end="true"]{
    background-color: var(--primary);
}
.data-\[range-middle\=true\]\:bg-muted[data-range-middle="true"]{
    background-color: var(--muted);
}
.data-\[range-start\=true\]\:bg-primary[data-range-start="true"]{
    background-color: var(--primary);
}
.data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"]{
    background-color: var(--primary);
}
.data-\[state\=active\]\:bg-background[data-state="active"]{
    background-color: var(--background);
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
    background-color: var(--primary);
}
.data-\[state\=on\]\:bg-muted[data-state="on"]{
    background-color: var(--muted);
}
.data-\[state\=open\]\:bg-muted[data-state="open"]{
    background-color: var(--muted);
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
    background-color: var(--muted);
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
    background-color: var(--input);
}
.data-\[empty\]\:p-0[data-empty]{
    padding: 0px;
}
.data-\[size\=md\]\:text-sm[data-size="md"]{
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.data-\[size\=sm\]\:text-xs[data-size="sm"]{
    font-size: 0.75rem;
    line-height: 1rem;
}
.data-\[error\=true\]\:text-destructive[data-error="true"]{
    color: var(--destructive);
}
.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{
    color: var(--accent-foreground);
}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{
    color: var(--muted-foreground);
}
.data-\[range-end\=true\]\:text-primary-foreground[data-range-end="true"]{
    color: var(--primary-foreground);
}
.data-\[range-middle\=true\]\:text-foreground[data-range-middle="true"]{
    color: var(--foreground);
}
.data-\[range-start\=true\]\:text-primary-foreground[data-range-start="true"]{
    color: var(--primary-foreground);
}
.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single="true"]{
    color: var(--primary-foreground);
}
.data-\[state\=active\]\:text-foreground[data-state="active"]{
    color: var(--foreground);
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
    color: var(--primary-foreground);
}
.data-\[variant\=destructive\]\:text-destructive[data-variant="destructive"]{
    color: var(--destructive);
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
    opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled]{
    opacity: 0.5;
}
.data-\[dragging\]\:opacity-60[data-dragging]{
    opacity: 0.6;
}
.data-\[state\=open\]\:opacity-100[data-state="open"]{
    opacity: 1;
}
.data-\[invalid\]\:ring-1[data-invalid]{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.data-\[state\=closed\]\:transition-none[data-state="closed"]{
    transition-property: none;
}
.data-\[state\=delayed-open\]\:animate-in[data-state="delayed-open"]{
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.data-\[state\=open\]\:animate-in[data-state="open"]{
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"]{
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"]{
    --tw-exit-opacity: 0;
}
.data-\[state\=delayed-open\]\:fade-in-0[data-state="delayed-open"]{
    --tw-enter-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"]{
    --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"]{
    --tw-exit-scale: .95;
}
.data-\[state\=delayed-open\]\:zoom-in-95[data-state="delayed-open"]{
    --tw-enter-scale: .95;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"]{
    --tw-enter-scale: .95;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"]{
    --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side="inline-end"]{
    --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side="inline-start"]{
    --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"]{
    --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"]{
    --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"]{
    --tw-enter-translate-y: 0.5rem;
}
.data-\[size\=sm\]\:\[--card-spacing\:0\.75rem\][data-size="sm"]{
    --card-spacing: 0.75rem;
}
.\*\:data-\[slot\=avatar\]\:ring-2[data-slot="avatar"] > *{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.\*\:data-\[slot\=avatar\]\:ring-background[data-slot="avatar"] > *{
    --tw-ring-color: var(--background);
}
.data-\[drop-edge\=after\]\:after\:top-full[data-drop-edge="after"]::after{
    content: var(--tw-content);
    top: 100%;
}
.data-\[drop-edge\=before\]\:after\:bottom-full[data-drop-edge="before"]::after{
    content: var(--tw-content);
    bottom: 100%;
}
.data-\[drop-edge\=after\]\:after\:mt-\[5px\][data-drop-edge="after"]::after{
    content: var(--tw-content);
    margin-top: 5px;
}
.data-\[drop-edge\=before\]\:after\:mb-\[5px\][data-drop-edge="before"]::after{
    content: var(--tw-content);
    margin-bottom: 5px;
}
.group[data-disabled="true"] .group-data-\[disabled\=true\]\:pointer-events-none{
    pointer-events: none;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:relative{
    position: relative;
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:-top-6{
    top: -1.5rem;
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:left-0{
    left: 0px;
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:-left-6{
    left: -1.5rem;
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:top-0{
    top: 0px;
}
.group[data-side="left"] .group-data-\[side\=left\]\:-right-4{
    right: -1rem;
}
.group[data-side="right"] .group-data-\[side\=right\]\:left-0{
    left: 0px;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:z-10{
    z-index: 10;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8{
    margin-top: -2rem;
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:mt-8{
    margin-top: 2rem;
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:ms-8{
    margin-inline-start: 2rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:block{
    display: block;
}
.group\/drawer-content[data-vaul-drawer-direction="bottom"] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block{
    display: block;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:flex{
    display: flex;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden{
    display: none;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8{
    width: 2rem !important;
    height: 2rem !important;
}
.group\/avatar[data-size="default"] .group-data-\[size\=default\]\/avatar\:size-2\.5{
    width: 0.625rem;
    height: 0.625rem;
}
.group\/switch[data-size="default"] .group-data-\[size\=default\]\/switch\:size-4{
    width: 1rem;
    height: 1rem;
}
.group\/avatar[data-size="lg"] .group-data-\[size\=lg\]\/avatar\:size-3{
    width: 0.75rem;
    height: 0.75rem;
}
.group\/avatar[data-size="sm"] .group-data-\[size\=sm\]\/avatar\:size-2{
    width: 0.5rem;
    height: 0.5rem;
}
.group\/switch[data-size="sm"] .group-data-\[size\=sm\]\/switch\:size-3{
    width: 0.75rem;
    height: 0.75rem;
}
.group\/tabs[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/tabs\:h-8{
    height: 2rem;
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:h-0\.5{
    height: 0.125rem;
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:h-fit{
    height: -moz-fit-content;
    height: fit-content;
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:h-\[calc\(100\%-1rem-0\.25rem\)\]{
    height: calc(100% - 1rem - 0.25rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+1rem\)\]{
    width: calc(var(--sidebar-width-icon) + 1rem);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+1rem\+2px\)\]{
    width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]{
    width: var(--sidebar-width-icon);
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-auto{
    width: auto;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0{
    width: 0px;
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:w-\[calc\(100\%-1rem-0\.25rem\)\]{
    width: calc(100% - 1rem - 0.25rem);
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:w-full{
    width: 100%;
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:w-0\.5{
    width: 0.125rem;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:-translate-y-1\/2{
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:translate-x-4\.5{
    --tw-translate-x: 1.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:-translate-x-1\/2{
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:translate-y-4\.5{
    --tw-translate-y: 1.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group[data-side="right"] .group-data-\[side\=right\]\:rotate-180{
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/collapsible[data-state="open"] .group-data-\[state\=open\]\/collapsible\:rotate-90{
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/sub-collapsible[data-state="open"] .group-data-\[state\=open\]\/sub-collapsible\:rotate-90{
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:flex-col{
    flex-direction: column;
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:justify-start{
    justify-content: flex-start;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!justify-center{
    justify-content: center !important;
}
.group\/bubble[data-align="end"] .group-data-\[align\=end\]\/bubble\:self-end{
    align-self: flex-end;
}
.group\/message[data-align="end"] .group-data-\[align\=end\]\/message\:self-end{
    align-self: flex-end;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden{
    overflow: hidden;
}
.group\/toggle-group[data-spacing="0"] .group-data-\[spacing\=0\]\/toggle-group\:rounded-none{
    border-radius: 0px;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg{
    border-radius: var(--radius-lg);
}
.group[data-side="left"] .group-data-\[side\=left\]\:border-r{
    border-right-width: 1px;
}
.group[data-side="right"] .group-data-\[side\=right\]\:border-l{
    border-left-width: 1px;
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:border-ring{
    border-color: var(--ring);
}
.group\/tabs-list[data-variant="line"] .group-data-\[variant\=line\]\/tabs-list\:bg-transparent{
    background-color: transparent;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0{
    padding: 0px !important;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2{
    padding: 0.5rem !important;
}
.group\/toggle-group[data-spacing="0"] .group-data-\[spacing\=0\]\/toggle-group\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:pl-3{
    padding-left: 0.75rem;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:pr-1{
    padding-right: 0.25rem;
}
.group\/drawer-content[data-vaul-drawer-direction="bottom"] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center{
    text-align: center;
}
.group\/drawer-content[data-vaul-drawer-direction="top"] .group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center{
    text-align: center;
}
.group\/avatar[data-size="sm"] .group-data-\[size\=sm\]\/avatar\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
}
.group\/command-item[data-checked="true"] .group-data-\[checked\=true\]\/command-item\:opacity-100{
    opacity: 1;
}
.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0{
    opacity: 0;
}
.group\/input-group[data-disabled="true"] .group-data-\[disabled\=true\]\/input-group\:opacity-50{
    opacity: 0.5;
}
.group[data-disabled="true"] .group-data-\[disabled\=true\]\:opacity-50{
    opacity: 0.5;
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:shadow-sm{
    --tw-shadow: var(--shadow-sm);
    --tw-shadow-colored: var(--shadow-sm);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group\/day[data-focused="true"] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.group[data-variant="floating"] .group-data-\[variant\=floating\]\:ring-sidebar-border{
    --tw-ring-color: var(--sidebar-border);
}
.group\/avatar[data-size="lg"] .group-data-\[size\=lg\]\/avatar\:size-3.5{
    width: 0.875rem;
    height: 0.875rem;
}
.group\/switch[data-size="sm"] .group-data-\[size\=sm\]\/switch\:size-3.5{
    width: 0.875rem;
    height: 0.875rem;
}
.group\/tabs[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0::after{
    content: var(--tw-content);
    left: 0px;
    right: 0px;
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0::after{
    content: var(--tw-content);
    top: 0px;
    bottom: 0px;
}
.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after{
    content: var(--tw-content);
    left: 100%;
}
.group\/tabs[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]::after{
    content: var(--tw-content);
    bottom: -5px;
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1::after{
    content: var(--tw-content);
    right: -0.25rem;
}
.group\/tabs[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5::after{
    content: var(--tw-content);
    height: 0.125rem;
}
.group\/tabs[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5::after{
    content: var(--tw-content);
    width: 0.125rem;
}
.group\/toggle-group[data-spacing="0"] .group-data-\[spacing\=0\]\/toggle-group\:has-\[\[data-icon\=inline-end\]\]\:pr-1\.5:has([data-icon=inline-end]){
    padding-right: 0.375rem;
}
.group\/toggle-group[data-spacing="0"] .group-data-\[spacing\=0\]\/toggle-group\:has-\[\[data-icon\=inline-start\]\]\:pl-1\.5:has([data-icon=inline-start]){
    padding-left: 0.375rem;
}
.group[data-collapsible="offcanvas"] .data-\[side\=left\]\:group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side="left"]{
    left: calc(var(--sidebar-width) * -1);
}
.group[data-collapsible="offcanvas"] .data-\[side\=right\]\:group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\][data-side="right"]{
    right: calc(var(--sidebar-width) * -1);
}
.group\/switch[data-size="default"] .group-data-\[size\=default\]\/switch\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state="checked"]{
    --tw-translate-x: calc(100% - 2px);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/switch[data-size="default"] .group-data-\[size\=default\]\/switch\:data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/switch[data-size="sm"] .group-data-\[size\=sm\]\/switch\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state="checked"]{
    --tw-translate-x: calc(100% - 2px);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/switch[data-size="sm"] .group-data-\[size\=sm\]\/switch\:data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/toggle-group[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-variant="outline"][data-spacing="0"]{
    border-left-width: 0px;
}
.group\/toggle-group[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-t-0[data-variant="outline"][data-spacing="0"]{
    border-top-width: 0px;
}
.group\/tabs-list[data-variant="line"] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent[data-state="active"]{
    background-color: transparent;
}
.group\/tabs-list[data-variant="default"] .group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm[data-state="active"]{
    --tw-shadow: var(--shadow-sm);
    --tw-shadow-colored: var(--shadow-sm);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group\/tabs-list[data-variant="line"] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none[data-state="active"]{
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group\/tabs-list[data-variant="line"] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100[data-state="active"]::after{
    content: var(--tw-content);
    opacity: 1;
}
.group\/toggle-group[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-l-lg:first-child[data-spacing="0"]{
    border-top-left-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
}
.group\/toggle-group[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-t-lg:first-child[data-spacing="0"]{
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
}
.group\/toggle-group[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:first-child[data-variant="outline"][data-spacing="0"]{
    border-left-width: 1px;
}
.group\/toggle-group[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-t:first-child[data-variant="outline"][data-spacing="0"]{
    border-top-width: 1px;
}
.group\/toggle-group[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-r-lg:last-child[data-spacing="0"]{
    border-top-right-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
}
.group\/toggle-group[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-b-lg:last-child[data-spacing="0"]{
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
}
.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5{
    top: 0.375rem;
}
.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5{
    top: 0.625rem;
}
.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1{
    top: 0.25rem;
}
.hover\:-translate-y-1:hover{
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-accent:hover{
    border-color: var(--accent);
}
.hover\:bg-\[color-mix\(in_oklch\2c var\(--secondary\)\2c var\(--foreground\)_5\%\)\]:hover{
    background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
}
.hover\:bg-accent:hover{
    background-color: var(--accent);
}
.hover\:bg-amber-600:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.hover\:bg-background:hover{
    background-color: var(--background);
}
.hover\:bg-black\/10:hover{
    background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/90:hover{
    background-color: rgb(0 0 0 / 0.9);
}
.hover\:bg-blue-600:hover{
    background-color: var(--blue);
}
.hover\:bg-emerald-700:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted:hover{
    background-color: var(--muted);
}
.hover\:bg-pink-50:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-50:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-600:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sidebar-accent:hover{
    background-color: var(--sidebar-accent);
}
.hover\:bg-slate-100:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-300:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50\/50:hover{
    background-color: rgb(248 250 252 / 0.5);
}
.hover\:bg-slate-800:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.hover\:bg-transparent:hover{
    background-color: transparent;
}
.hover\:bg-white\/20:hover{
    background-color: rgb(255 255 255 / 0.2);
}
.hover\:\!text-foreground:hover{
    color: var(--foreground) !important;
}
.hover\:text-accent-foreground:hover{
    color: var(--accent-foreground);
}
.hover\:text-destructive:hover{
    color: var(--destructive);
}
.hover\:text-foreground:hover{
    color: var(--foreground);
}
.hover\:text-gray-600:hover{
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.hover\:text-muted-foreground:hover{
    color: var(--muted-foreground);
}
.hover\:text-primary:hover{
    color: var(--primary);
}
.hover\:text-red-500:hover{
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-sidebar-accent-foreground:hover{
    color: var(--sidebar-accent-foreground);
}
.hover\:text-slate-600:hover{
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-900:hover{
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover{
    text-decoration-line: underline;
}
.hover\:opacity-100:hover{
    opacity: 1;
}
.hover\:opacity-80:hover{
    opacity: 0.8;
}
.hover\:opacity-90:hover{
    opacity: 0.9;
}
.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{
    --tw-shadow: 0 0 0 1px var(--sidebar-accent);
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover{
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-md:hover{
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover{
    --tw-shadow: var(--shadow-sm);
    --tw-shadow-colored: var(--shadow-sm);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:after\:bg-sidebar-border:hover::after{
    content: var(--tw-content);
    background-color: var(--sidebar-border);
}
.data-\[selected-single\=true\]\:hover\:bg-primary:hover[data-selected-single="true"]{
    background-color: var(--primary);
}
.data-\[selected-single\=true\]\:hover\:text-primary-foreground:hover[data-selected-single="true"]{
    color: var(--primary-foreground);
}
.group[data-collapsible="offcanvas"] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{
    background-color: var(--sidebar);
}
.focus\:z-10:focus{
    z-index: 10;
}
.focus\:bg-accent:focus{
    background-color: var(--accent);
}
.focus\:text-accent-foreground:focus{
    color: var(--accent-foreground);
}
.focus\:text-destructive:focus{
    color: var(--destructive);
}
.focus\:outline-none:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-0:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant="destructive"]{
    color: var(--destructive);
}
.focus-visible\:z-10:focus-visible{
    z-index: 10;
}
.focus-visible\:border-ring:focus-visible{
    border-color: var(--ring);
}
.focus-visible\:bg-accent:focus-visible{
    background-color: var(--accent);
}
.focus-visible\:text-accent-foreground:focus-visible{
    color: var(--accent-foreground);
}
.focus-visible\:text-foreground:focus-visible{
    color: var(--foreground);
}
.focus-visible\:outline-none:focus-visible{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus-visible\:outline-1:focus-visible{
    outline-width: 1px;
}
.focus-visible\:outline-ring:focus-visible{
    outline-color: var(--ring);
}
.focus-visible\:ring-0:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-1:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-\[3px\]:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-ring:focus-visible{
    --tw-ring-color: var(--ring);
}
.focus-visible\:ring-offset-1:focus-visible{
    --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible{
    --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-3:focus-visible{
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow, 0 0 #0000);
}
.\*\:focus-visible\:relative:focus-visible > *{
    position: relative;
}
.\*\:focus-visible\:z-10:focus-visible > *{
    z-index: 10;
}
.active\:cursor-grabbing:active{
    cursor: grabbing;
}
.active\:bg-sidebar-accent:active{
    background-color: var(--sidebar-accent);
}
.active\:text-sidebar-accent-foreground:active{
    color: var(--sidebar-accent-foreground);
}
.disabled\:pointer-events-none:disabled{
    pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled{
    cursor: not-allowed;
}
.disabled\:bg-transparent:disabled{
    background-color: transparent;
}
.disabled\:opacity-50:disabled{
    opacity: 0.5;
}
.dark\:block:is(.dark *){
    display: block;
}
.dark\:hidden:is(.dark *){
    display: none;
}
.dark\:-rotate-90:is(.dark *){
    --tw-rotate: -90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.dark\:rotate-0:is(.dark *){
    --tw-rotate: 0deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.dark\:scale-0:is(.dark *){
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.dark\:scale-100:is(.dark *){
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.dark\:border-gray-700:is(.dark *){
    --tw-border-opacity: 1;
    border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.dark\:border-gray-800:is(.dark *){
    --tw-border-opacity: 1;
    border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}
.dark\:border-input:is(.dark *){
    border-color: var(--input);
}
.dark\:border-slate-600:is(.dark *){
    --tw-border-opacity: 1;
    border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.dark\:border-slate-700:is(.dark *){
    --tw-border-opacity: 1;
    border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.dark\:\!bg-muted:is(.dark *){
    background-color: var(--muted) !important;
}
.dark\:bg-\[\#1E2532\]:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(30 37 50 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-900\/40:is(.dark *){
    background-color: rgb(30 58 138 / 0.4);
}
.dark\:bg-blue-950:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.dark\:bg-emerald-900\/40:is(.dark *){
    background-color: rgb(6 78 59 / 0.4);
}
.dark\:bg-green-800:is(.dark *){
    background-color: var(--green-ink);
}
.dark\:bg-muted:is(.dark *){
    background-color: var(--muted);
}
.dark\:bg-orange-900\/40:is(.dark *){
    background-color: rgb(124 45 18 / 0.4);
}
.dark\:bg-red-800:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}
.dark\:bg-red-900\/40:is(.dark *){
    background-color: rgb(127 29 29 / 0.4);
}
.dark\:bg-slate-700:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-800:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-900:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-900\/50:is(.dark *){
    background-color: rgb(15 23 42 / 0.5);
}
.dark\:bg-transparent:is(.dark *){
    background-color: transparent;
}
.dark\:bg-yellow-700:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}
.dark\:from-muted:is(.dark *){
    --tw-gradient-from: var(--muted) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:text-blue-400:is(.dark *){
    color: var(--blue);
}
.dark\:text-emerald-400:is(.dark *){
    color: var(--green);
}
.dark\:text-green-400:is(.dark *){
    color: var(--green);
}
.dark\:text-muted-foreground:is(.dark *){
    color: var(--muted-foreground);
}
.dark\:text-orange-400:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-100:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-300:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-400:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.dark\:text-white:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.dark\:ring-offset-background:is(.dark *){
    --tw-ring-offset-color: var(--background);
}
.dark\:after\:mix-blend-lighten:is(.dark *)::after{
    content: var(--tw-content);
    mix-blend-mode: lighten;
}
.dark\:data-\[state\=active\]\:border-input[data-state="active"]:is(.dark *){
    border-color: var(--input);
}
.dark\:data-\[state\=active\]\:bg-input[data-state="active"]:is(.dark *){
    background-color: var(--input);
}
.dark\:data-\[state\=checked\]\:bg-primary[data-state="checked"]:is(.dark *){
    background-color: var(--primary);
}
.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state="checked"]:is(.dark *){
    background-color: var(--primary-foreground);
}
.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state="unchecked"]:is(.dark *){
    background-color: var(--foreground);
}
.dark\:data-\[state\=active\]\:text-foreground[data-state="active"]:is(.dark *){
    color: var(--foreground);
}
.group\/tabs-list[data-variant="line"] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent[data-state="active"]:is(.dark *){
    border-color: transparent;
}
.group\/tabs-list[data-variant="line"] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent[data-state="active"]:is(.dark *){
    background-color: transparent;
}
.dark\:hover\:bg-red-500\/10:hover:is(.dark *){
    background-color: rgb(239 68 68 / 0.1);
}
.dark\:hover\:bg-slate-700:hover:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-slate-800:hover:is(.dark *){
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:text-foreground:hover:is(.dark *){
    color: var(--foreground);
}
.dark\:hover\:text-slate-300:hover:is(.dark *){
    --tw-text-opacity: 1;
    color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.dark\:disabled\:bg-transparent:disabled:is(.dark *){
    background-color: transparent;
}
@media not all and (min-width: 1024px){
    .max-lg\:bg-transparent{
        background-color: transparent;
    }
    .max-lg\:shadow-none{
        --tw-shadow: 0 0 #0000;
        --tw-shadow-colored: 0 0 #0000;
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    .max-lg\:ring-0{
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    }
}
@media not all and (min-width: 640px){
    .max-sm\:bottom-0{
        bottom: 0px;
    }
    .max-sm\:top-auto{
        top: auto;
    }
    .max-sm\:block{
        display: block;
    }
    .max-sm\:border-b-0{
        border-bottom-width: 0px;
    }
    .max-sm\:border-t{
        border-top-width: 1px;
    }
    .group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:max-sm\:h-4{
        height: 1rem;
    }
}
@media (min-width: 640px){
    .sm\:block{
        display: block;
    }
    .sm\:flex{
        display: flex;
    }
    .sm\:\!hidden{
        display: none !important;
    }
    .sm\:h-9{
        height: 2.25rem;
    }
    .sm\:w-80{
        width: 20rem;
    }
    .sm\:w-9{
        width: 2.25rem;
    }
    .sm\:w-\[200px\]{
        width: 200px;
    }
    .sm\:w-\[320px\]{
        width: 320px;
    }
    .sm\:w-\[500px\]{
        width: 500px;
    }
    .sm\:max-w-3xl{
        max-width: 48rem;
    }
    .sm\:max-w-\[425px\]{
        max-width: 425px;
    }
    .sm\:max-w-md{
        max-width: 28rem;
    }
    .sm\:max-w-none{
        max-width: none;
    }
    .sm\:max-w-sm{
        max-width: 24rem;
    }
    .sm\:max-w-xl{
        max-width: 36rem;
    }
    .sm\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:grid-cols-4{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .sm\:flex-row{
        flex-direction: row;
    }
    .sm\:items-center{
        align-items: center;
    }
    .sm\:justify-end{
        justify-content: flex-end;
    }
    .sm\:justify-between{
        justify-content: space-between;
    }
    .sm\:gap-2\.5{
        gap: 0.625rem;
    }
    .data-\[side\=left\]\:sm\:max-w-sm[data-side="left"]{
        max-width: 24rem;
    }
    .data-\[side\=right\]\:sm\:max-w-sm[data-side="right"]{
        max-width: 24rem;
    }
    .data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction="left"]{
        max-width: 24rem;
    }
    .data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction="right"]{
        max-width: 24rem;
    }
}
@media (min-width: 768px){
    .md\:col-span-2{
        grid-column: span 2 / span 2;
    }
    .md\:mt-0{
        margin-top: 0px;
    }
    .md\:block{
        display: block;
    }
    .md\:inline{
        display: inline;
    }
    .md\:flex{
        display: flex;
    }
    .md\:w-1\/2{
        width: 50%;
    }
    .md\:w-48{
        width: 12rem;
    }
    .md\:w-\[600px\]{
        width: 600px;
    }
    .md\:w-\[700px\]{
        width: 700px;
    }
    .md\:max-w-2xl{
        max-width: 42rem;
    }
    .md\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:flex-row{
        flex-direction: row;
    }
    .md\:flex-col{
        flex-direction: column;
    }
    .md\:items-start{
        align-items: flex-start;
    }
    .md\:gap-0\.5{
        gap: 0.125rem;
    }
    .md\:gap-6{
        gap: 1.5rem;
    }
    .md\:rounded-tl-xl{
        border-top-left-radius: var(--radius-xl);
    }
    .md\:rounded-tr-xl{
        border-top-right-radius: var(--radius-xl);
    }
    .md\:p-8{
        padding: 2rem;
    }
    .md\:text-left{
        text-align: left;
    }
    .md\:text-sm{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    .md\:opacity-0{
        opacity: 0;
    }
    .md\:after\:hidden::after{
        content: var(--tw-content);
        display: none;
    }
    .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2{
        margin: 0.5rem;
    }
    .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0{
        margin-left: 0px;
    }
    .peer[data-variant="inset"][data-state="collapsed"] ~ .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{
        margin-left: 0.5rem;
    }
    .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl{
        border-radius: var(--radius-xl);
    }
    .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:shadow-sm{
        --tw-shadow: var(--shadow-sm);
        --tw-shadow-colored: var(--shadow-sm);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
}
@media (min-width: 1024px){
    .lg\:relative{
        position: relative;
    }
    .lg\:z-10{
        z-index: 10;
    }
    .lg\:mt-6{
        margin-top: 1.5rem;
    }
    .lg\:block{
        display: block;
    }
    .lg\:inline{
        display: inline;
    }
    .lg\:flex{
        display: flex;
    }
    .lg\:hidden{
        display: none;
    }
    .lg\:w-56{
        width: 14rem;
    }
    .lg\:w-64{
        width: 16rem;
    }
    .lg\:w-80{
        width: 20rem;
    }
    .lg\:w-\[350px\]{
        width: 350px;
    }
    .lg\:w-full{
        width: 100%;
    }
    .lg\:max-w-2xl{
        max-width: 42rem;
    }
    .lg\:max-w-\[60\%\]{
        max-width: 60%;
    }
    .lg\:max-w-lg{
        max-width: 32rem;
    }
    .lg\:shrink-0{
        flex-shrink: 0;
    }
    .lg\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-5{
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .lg\:flex-row{
        flex-direction: row;
    }
    .lg\:gap-2{
        gap: 0.5rem;
    }
    .lg\:gap-6{
        gap: 1.5rem;
    }
    .lg\:space-x-0 > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(0px * var(--tw-space-x-reverse));
        margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));
    }
    .lg\:space-x-6 > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(1.5rem * var(--tw-space-x-reverse));
        margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]){
        --tw-space-y-reverse: 0;
        margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0px * var(--tw-space-y-reverse));
    }
    .lg\:space-y-6 > :not([hidden]) ~ :not([hidden]){
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
    }
    .lg\:overflow-hidden{
        overflow: hidden;
    }
    .lg\:rounded-xl{
        border-radius: var(--radius-xl);
    }
    .lg\:border{
        border-width: 1px;
    }
    .lg\:border-border{
        border-color: var(--border);
    }
    .lg\:bg-card{
        background-color: var(--card);
    }
    .lg\:px-4{
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .lg\:text-2xl{
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .lg\:opacity-0{
        opacity: 0;
    }
    .lg\:shadow-sm{
        --tw-shadow: var(--shadow-sm);
        --tw-shadow-colored: var(--shadow-sm);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    .group\/message:hover .lg\:group-hover\/message\:opacity-100{
        opacity: 1;
    }
    .lg\:focus-visible\:opacity-100:focus-visible{
        opacity: 1;
    }
}
@media (min-width: 1280px){
    .xl\:col-span-1{
        grid-column: span 1 / span 1;
    }
    .xl\:col-span-2{
        grid-column: span 2 / span 2;
    }
    .xl\:mx-auto{
        margin-left: auto;
        margin-right: auto;
    }
    .xl\:w-\[340px\]{
        width: 340px;
    }
    .xl\:max-w-6xl{
        max-width: 72rem;
    }
    .xl\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:grid-cols-4{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:flex-row{
        flex-direction: row;
    }
    .group\/layout[data-theme-content-layout="centered"] .xl\:group-data-\[theme-content-layout\=centered\]\/layout\:mx-auto{
        margin-left: auto;
        margin-right: auto;
    }
    .group\/layout[data-theme-content-layout="centered"] .xl\:group-data-\[theme-content-layout\=centered\]\/layout\:w-full{
        width: 100%;
    }
    .group\/layout[data-theme-content-layout="centered"] .xl\:group-data-\[theme-content-layout\=centered\]\/layout\:max-w-7xl{
        max-width: 80rem;
    }
}
.ltr\:-translate-x-1\/2:where([dir="ltr"], [dir="ltr"] *){
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:\!right-auto:where([dir="rtl"], [dir="rtl"] *){
    right: auto !important;
}
.rtl\:-translate-x-1\/2:where([dir="rtl"], [dir="rtl"] *){
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:rotate-90:where([dir="rtl"], [dir="rtl"] *){
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:-scale-x-100:where([dir="rtl"], [dir="rtl"] *){
    --tw-scale-x: -1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-\[var\(--cell-radius\)\]:first-child[data-selected=true] button{
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
}
.\[\&\:has\(\[data-state\=checked\]\)\>div\]\:border-primary:has([data-state=checked])>div{
    border-color: var(--primary);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){
    padding-right: 0px;
}
.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-\[var\(--cell-radius\)\]:last-child[data-selected=true] button{
    border-top-right-radius: var(--cell-radius);
    border-bottom-right-radius: var(--cell-radius);
}
.group\/timeline[data-orientation="horizontal"] .group-data-\[orientation\=horizontal\]\/timeline\:\[\&\:not\(\:last-child\)\]\:pe-8:not(:last-child){
    padding-inline-end: 2rem;
}
.group\/timeline[data-orientation="vertical"] .group-data-\[orientation\=vertical\]\/timeline\:\[\&\:not\(\:last-child\)\]\:pb-12:not(:last-child){
    padding-bottom: 3rem;
}
.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-\[var\(--cell-radius\)\]:nth-child(2)[data-selected=true] button{
    border-top-left-radius: var(--cell-radius);
    border-bottom-left-radius: var(--cell-radius);
}
.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child){
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child){
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}
.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child){
    border-left-width: 0px;
}
.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child){
    border-top-width: 0px;
}
.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child){
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}
.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child){
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.\[\&\>\*\]\:pointer-events-auto>*{
    pointer-events: auto;
}
.\[\&\>\[data-slot\=bubble-content\]\:is\(button\2c a\)\:hover\]\:bg-\[color-mix\(in_oklch\2c var\(--muted\)\2c var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{
    background-color: color-mix(in oklch,var(--muted),var(--foreground) 5%);
}
.\[\&\>\[data-slot\=bubble-content\]\:is\(button\2c a\)\:hover\]\:bg-\[color-mix\(in_oklch\2c var\(--secondary\)\2c var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{
    background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
}
.\[\&\>\[data-slot\=bubble-content\]\:is\(button\2c a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover{
    background-color: oklch(from var(--primary) 0.88 calc(c * 0.5) h);
}
.\[\&\>\[data-slot\=bubble-content\]\:is\(button\2c a\)\:hover\]\:bg-muted>[data-slot=bubble-content]:is(button,a):hover{
    background-color: var(--muted);
}
.\[\&\>\[data-slot\=bubble-content\]\:is\(button\2c a\)\:hover\]\:text-foreground>[data-slot=bubble-content]:is(button,a):hover{
    color: var(--foreground);
}
.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\2c a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover:is(.dark *){
    background-color: oklch(from var(--primary) 0.35 calc(c * 0.5) h);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:rounded-none>[data-slot=bubble-content]{
    border-radius: 0px;
}
.\[\&\>\[data-slot\=bubble-content\]\]\:border-border>[data-slot=bubble-content]{
    border-color: var(--border);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\]>[data-slot=bubble-content]{
    background-color: oklch(from var(--primary) 0.93 calc(c * 0.4) h);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:bg-background>[data-slot=bubble-content]{
    background-color: var(--background);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:bg-muted>[data-slot=bubble-content]{
    background-color: var(--muted);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:bg-primary>[data-slot=bubble-content]{
    background-color: var(--primary);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:bg-secondary>[data-slot=bubble-content]{
    background-color: var(--secondary);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:bg-transparent>[data-slot=bubble-content]{
    background-color: transparent;
}
.\[\&\>\[data-slot\=bubble-content\]\]\:p-0>[data-slot=bubble-content]{
    padding: 0px;
}
.\[\&\>\[data-slot\=bubble-content\]\]\:text-destructive>[data-slot=bubble-content]{
    color: var(--destructive);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:text-foreground>[data-slot=bubble-content]{
    color: var(--foreground);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:text-primary-foreground>[data-slot=bubble-content]{
    color: var(--primary-foreground);
}
.\[\&\>\[data-slot\=bubble-content\]\]\:text-secondary-foreground>[data-slot=bubble-content]{
    color: var(--secondary-foreground);
}
.dark\:\[\&\>\[data-slot\=bubble-content\]\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]>[data-slot=bubble-content]:is(.dark *){
    background-color: oklch(from var(--primary) 0.3 calc(c * 0.4) h);
}
.\[\&\>\[data-slot\=cascader-item\]\:has\(\[data-slot\=filter-menu-divider\]\)\]\:mt-2>[data-slot=cascader-item]:has([data-slot=filter-menu-divider]){
    margin-top: 0.5rem;
}
.\[\&\>\[data-slot\=scroll-area-viewport\]\>div\]\:\!block>[data-slot=scroll-area-viewport]>div{
    display: block !important;
}
.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-lg>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child){
    border-top-right-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
}
.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*='w-']){
    width: -moz-fit-content;
    width: fit-content;
}
.\[\&\>\[data-slot\=select-value\]\]\:line-clamp-1>[data-slot=select-value]{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.\[\&\>\[data-slot\=select-value\]\]\:flex>[data-slot=select-value]{
    display: flex;
}
.\[\&\>\[data-slot\=select-value\]\]\:items-center>[data-slot=select-value]{
    align-items: center;
}
.\[\&\>\[data-slot\=select-value\]\]\:gap-1\.5>[data-slot=select-value]{
    gap: 0.375rem;
}
.\[\&\>a\:hover\]\:text-primary>a:hover{
    color: var(--primary);
}
.\[\&\>a\]\:underline>a{
    text-decoration-line: underline;
}
.\[\&\>a\]\:underline-offset-4>a{
    text-underline-offset: 4px;
}
.\[\&\>button\]\:hidden>button{
    display: none;
}
.\[\&\>img\:first-child\]\:rounded-t-lg>img:first-child{
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
}
.\[\&\>img\:last-child\]\:rounded-b-lg>img:last-child{
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
}
.\[\&\>input\]\:flex-1>input{
    flex: 1 1 0%;
}
.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]){
    padding-top: 0.75rem;
}
.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]){
    padding-bottom: 0.75rem;
}
.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5>input:has(>[data-align=inline-end]){
    padding-right: 0.375rem;
}
.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5>input:has(>[data-align=inline-start]){
    padding-left: 0.375rem;
}
.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{
    border-radius: calc(var(--radius) - 5px);
}
.\[\&\>span\:last-child\]\:truncate>span:last-child{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.\[\&\>span\]\:text-xs>span{
    font-size: 0.75rem;
    line-height: 1rem;
}
.\[\&\>span\]\:opacity-70>span{
    opacity: 0.7;
}
.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*='size-']){
    width: 0.875rem;
    height: 0.875rem;
}
.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*='size-']){
    width: 1rem;
    height: 1rem;
}
.\[\&\>svg\]\:pointer-events-none>svg{
    pointer-events: none;
}
.\[\&\>svg\]\:\!size-3>svg{
    width: 0.75rem !important;
    height: 0.75rem !important;
}
.\[\&\>svg\]\:size-3\.5>svg{
    width: 0.875rem;
    height: 0.875rem;
}
.\[\&\>svg\]\:size-4>svg{
    width: 1rem;
    height: 1rem;
}
.\[\&\>svg\]\:h-2\.5>svg{
    height: 0.625rem;
}
.\[\&\>svg\]\:h-3>svg{
    height: 0.75rem;
}
.\[\&\>svg\]\:h-3\.5>svg{
    height: 0.875rem;
}
.\[\&\>svg\]\:w-2\.5>svg{
    width: 0.625rem;
}
.\[\&\>svg\]\:w-3>svg{
    width: 0.75rem;
}
.\[\&\>svg\]\:w-3\.5>svg{
    width: 0.875rem;
}
.\[\&\>svg\]\:shrink-0>svg{
    flex-shrink: 0;
}
.\[\&\>svg\]\:text-muted-foreground>svg{
    color: var(--muted-foreground);
}
.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{
    color: var(--sidebar-accent-foreground);
}
.\[\&\>svg\]\:\!size-3>svg.\35{
    width: 0.875rem !important;
    height: 0.875rem !important;
}
.group\/avatar-group:has([data-size=lg]) .group-has-\[\[data-size\=lg\]\]\/avatar-group\:\[\&\>svg\]\:size-5>svg{
    width: 1.25rem;
    height: 1.25rem;
}
.group\/avatar-group:has([data-size=sm]) .group-has-\[\[data-size\=sm\]\]\/avatar-group\:\[\&\>svg\]\:size-3>svg{
    width: 0.75rem;
    height: 0.75rem;
}
.group\/avatar-group:has([data-size=sm]) .group-has-\[\[data-size\=sm\]\]\/avatar-group\:\[\&\>svg\]\:size-3>svg.5{
    width: 0.875rem;
    height: 0.875rem;
}
.group\/avatar[data-size="sm"] .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden>svg{
    display: none;
}
.group\/avatar[data-size="default"] .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2>svg{
    width: 0.5rem;
    height: 0.5rem;
}
.group\/avatar[data-size="lg"] .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2>svg{
    width: 0.5rem;
    height: 0.5rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr{
    border-bottom-width: 0px;
}
.\[\&_\*\]\:\!text-foreground *{
    color: var(--foreground) !important;
}
.\[\&_\*\]\:\!text-primary-foreground *{
    color: var(--primary-foreground) !important;
}
.group[data-variant="destructive"] .group-data-\[variant\=destructive\]\:data-\[highlighted\]\:\[\&_\*\]\:text-accent-foreground *[data-highlighted]{
    color: var(--accent-foreground);
}
.hover\:\[\&_\*\]\:\!text-foreground *:hover{
    color: var(--foreground) !important;
}
.rtl\:\[\&_\.rdp-button\\_next\>svg\]\:rotate-180 .rdp-button_next>svg:where([dir="rtl"], [dir="rtl"] *){
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:\[\&_\.rdp-button\\_previous\>svg\]\:rotate-180 .rdp-button_previous>svg:where([dir="rtl"], [dir="rtl"] *){
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{
    fill: var(--muted-foreground);
}
.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{
    stroke: var(--border);
}
.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff']{
    stroke: transparent;
}
.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc']{
    stroke: var(--border);
}
.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector{
    fill: var(--muted);
}
.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{
    fill: var(--muted);
}
.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc']{
    stroke: var(--border);
}
.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff']{
    stroke: transparent;
}
.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{
    font-size: 0.75rem;
    line-height: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{
    font-weight: 500;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{
    color: var(--muted-foreground);
}
.\[\&_\[data-slot\=dropdown-menu-item\]\]\:min-w-0 [data-slot=dropdown-menu-item]{
    min-width: 0px;
}
.\[\&_\[data-slot\=filter-menu-divider\]\]\:hidden [data-slot=filter-menu-divider]{
    display: none;
}
.\[\&_\[data-slot\=input-group-addon\]\]\:\!pl-2 [data-slot=input-group-addon]{
    padding-left: 0.5rem !important;
}
.\[\&_\[data-slot\=kbd\]\]\:relative [data-slot=kbd]{
    position: relative;
}
.\[\&_\[data-slot\=kbd\]\]\:isolate [data-slot=kbd]{
    isolation: isolate;
}
.\[\&_\[data-slot\=kbd\]\]\:z-50 [data-slot=kbd]{
    z-index: 50;
}
.\[\&_\[data-slot\=kbd\]\]\:rounded-sm [data-slot=kbd]{
    border-radius: var(--radius-sm);
}
.\[\&_\[data-slot\=scroll-area-viewport\]\]\:h-full [data-slot=scroll-area-viewport]{
    height: 100%;
}
.\[\&_\[data-slot\=scroll-area-viewport\]\]\:scroll-py-\[max\(var\(--cascader-list-pad\2c 4px\)\2c 4px\)\] [data-slot=scroll-area-viewport]{
    scroll-padding-top: max(var(--cascader-list-pad,4px), 4px);
    scroll-padding-bottom: max(var(--cascader-list-pad,4px), 4px);
}
.\[\&_\[data-slot\=scroll-area-viewport\]\]\:overscroll-contain [data-slot=scroll-area-viewport]{
    overscroll-behavior: contain;
}
.\[\&_\[data-slot\=table-container\]\]\:flex-1 [data-slot=table-container]{
    flex: 1 1 0%;
}
.\[\&_\[data-slot\=tabs-list\]\]\:bg-border [data-slot=tabs-list]{
    background-color: var(--border);
}
.\[\&_a\]\:underline a{
    text-decoration-line: underline;
}
.\[\&_a\]\:underline-offset-4 a{
    text-underline-offset: 4px;
}
.\[\&_a\]\:hover\:text-foreground:hover a{
    color: var(--foreground);
}
.\[\&_span\:last-child\]\:flex span:last-child{
    display: flex;
}
.\[\&_span\:last-child\]\:items-center span:last-child{
    align-items: center;
}
.\[\&_span\:last-child\]\:gap-2 span:last-child{
    gap: 0.5rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']){
    width: 0.75rem;
    height: 0.75rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*='size-']){
    width: 0.875rem;
    height: 0.875rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']){
    width: 1rem;
    height: 1rem;
}
.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']).5{
    width: 0.875rem;
    height: 0.875rem;
}
.\[\&_svg\]\:pointer-events-none svg{
    pointer-events: none;
}
.\[\&_svg\]\:invisible svg{
    visibility: hidden;
}
.\[\&_svg\]\:size-3 svg{
    width: 0.75rem;
    height: 0.75rem;
}
.\[\&_svg\]\:size-3\.5 svg{
    width: 0.875rem;
    height: 0.875rem;
}
.\[\&_svg\]\:size-4 svg{
    width: 1rem;
    height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg{
    flex-shrink: 0;
}
.\[\&_svg\]\:size-3 svg.5{
    width: 0.875rem;
    height: 0.875rem;
}
.aria-selected\:\[\&_svg\]\:text-accent-foreground svg[aria-selected="true"]{
    color: var(--accent-foreground);
}
.\[\&_td\:first-child\]\:pl-6 td:first-child{
    padding-left: 1.5rem;
}
.\[\&_td\:last-child\]\:pr-6 td:last-child{
    padding-right: 1.5rem;
}
.\[\&_th\:first-child\]\:pl-6 th:first-child{
    padding-left: 1.5rem;
}
.\[\&_th\:last-child\]\:pr-6 th:last-child{
    padding-right: 1.5rem;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child{
    border-width: 0px;
}
.\[\&_tr\]\:border-b tr{
    border-bottom-width: 1px;
}
[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{
    right: -0.5rem;
}
[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{
    cursor: e-resize;
}
[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{
    left: -0.5rem;
}
[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{
    cursor: w-resize;
}
a.\[a\&\]\:hover\:bg-blue-200:hover{
    background-color: var(--blue-soft);
}
a.\[a\&\]\:hover\:bg-emerald-200:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
a.\[a\&\]\:hover\:bg-orange-200:hover{
    --tw-bg-opacity: 1;
    background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}


* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: var(--bg-secondary) ;
}

.login-wrapper {
  display: flex;
  flex-direction: row;
  width: 100%;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  background: var(--bg-secondary) ;
}

/* LEFT PANEL */

.login-left-panel {
  width: 100%;
  position: relative;
  z-index: 20;
  background: var(--bg-secondary) ;
  display: flex;
  flex-direction: column;
  padding: 32px;
}

@media (min-width: 768px) {
  .login-left-panel {
    width: 50%;
  }
}

@media (min-width: 1024px) {
  .login-left-panel {
    width: 45%;
  }
}

/* Top Wave */

.login-top-wave {
  position: absolute;
  top: -32px;
  left: -64px;
  width: 400px;
  height: 300px;
  z-index: 0;
  pointer-events: none;
  opacity: 0.3;
}

.login-top-wave svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.05));
}

/* Logo */

.login-logo-container {
  position: absolute;
  top: -32px;
  left: 0;
  padding-top: 48px;
  padding-left: 24px;
  z-index: 20;
}

.logo-image {
  max-width: 150px;
  height: auto;
}

/* Form Container */

.login-form-container {
  width: 100%;
  max-width: 448px;
  margin: 128px auto 0;
  position: relative;
  z-index: 10;
}

.form-header h2 {
  font-size: 30px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0 0 8px 0;
}

@media (min-width: 768px) {
  .form-header h2 {
    font-size: 36px;
  }
}

.form-header p {
  color: var(--text-primary) ;
  font-size: 14px;
  margin: 0 0 32px 0;
}

@media (min-width: 768px) {
  .form-header p {
    font-size: 16px;
  }
}

/* Form Inputs */

.login-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.input-group {
  position: relative;
  display: flex;
  align-items: center;
}

.input-icon {
  position: absolute;
  left: 16px;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  pointer-events: none;
  transition: color 0.3s ease;
}

.input-group:focus-within .input-icon {
  color: #10b981;
}

.input-group input {
  width: 100%;
  padding: 16px 40px 16px 56px !important;
  background: var(--bg-primary) ;
  border: 2px solid transparent;
  border-radius: 16px;
  font-size: 16px;
  color: var(--text-primary) ;
  outline: none;
  transition: all 0.3s ease;
}

.input-group input::-moz-placeholder {
  color: var(--text-primary) ;
}

.input-group input::placeholder {
  color: var(--text-primary) ;
}

.input-group input:focus {
  background: var(--bg-secondary) ;
  border-color: #34d399;
  box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.2);
}

.password-toggle {
  position: absolute;
  right: 16px;
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
}

.password-toggle:hover {
  color: var(--text-primary) ;
}

.password-toggle:focus {
  outline: none;
}

.forgot-password {
  display: flex;
  justify-content: flex-end;
  padding-bottom: 4px;
}

.forgot-password a {
  font-size: 14px;
  color: #059669;
  font-weight: 600;
  text-decoration: none;
}

.forgot-password a:hover {
  text-decoration: underline;
}

.login-btn {
  width: 100%;
  background: linear-gradient(to right, #10b981, #16a34a);
  color: white;
  font-weight: 700;
  font-size: 16px;
  padding: 16px;
  border: none;
  border-radius: 10003px;
  /* full rounded */
  cursor: pointer;
  margin-top: 16px;
  box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.3), 0 4px 6px -2px rgba(16, 185, 129, 0.15);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-btn:hover {
  box-shadow: 0 20px 25px -5px rgba(16, 185, 129, 0.4), 0 10px 10px -5px rgba(16, 185, 129, 0.2);
  transform: scale(1.02);
}

.login-btn:active {
  transform: scale(0.98);
}

.login-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.spinner {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* OR Divider */

.divider {
  display: flex;
  align-items: center;
  margin: 24px 0;
}

.divider::before,
.divider::after {
  content: '';
  flex-grow: 1;
  border-top: 1px solid var(--border-color) ;
}

.divider span {
  margin: 0 16px;
  color: var(--text-primary) ;
  font-weight: 600;
  font-size: 14px;
}

/* Social Buttons */

.social-login-group {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 8px;
}

.social-icon-btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid #e5e7eb;
  background: var(--bg-secondary) ;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.social-icon-btn:hover {
  background: var(--bg-primary) ;
  transform: scale(1.08);
}

.social-icon-btn:active {
  transform: scale(0.96);
}

.social-icon-btn:nth-child(1):hover {
  border-color: #ef4444;
}

.social-icon-btn:nth-child(2):hover {
  border-color: #111827;
}

.social-icon-btn:nth-child(3):hover {
  border-color: #3b82f6;
}

/* Signup Text */

.signup-text {
  text-align: center;
  margin-top: 32px;
  color: var(--text-primary) ;
  font-size: 14px;
}

.signup-text a {
  color: #059669;
  font-weight: 700;
  text-decoration: none;
}

.signup-text a:hover {
  text-decoration: underline;
}

/* RIGHT PANEL */

.login-right-panel {
  display: none;
  height: 100vh;
  position: relative;
  overflow: hidden;
  z-index: 10;
}

@media (min-width: 768px) {
  .login-right-panel {
    display: block;
    width: 50%;
  }
}

@media (min-width: 1024px) {
  .login-right-panel {
    width: 55%;
  }
}

.right-gradient-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.floating-illustration {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 55%;
  align-items: center;
  justify-content: center;
  /* changed from flex-start to center */
  pointer-events: none;
  z-index: 50;
}

@media (min-width: 768px) {
  .floating-illustration {
    display: flex;
  }
}

.floating-illustration img {
  width: 100%;
  max-width: 800px;
  /* increased from 600px */
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15));
  transform: scale(1.3) translateX(-45%);
  /* scale up and shift significantly left */
}

/* Signup.css */
.signup-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  background: linear-gradient(135deg, #f0fdf4 0%, #e6f4ea 50%, #d1fae5 100%);
  font-family: 'Inter', sans-serif;
  padding: 40px 20px;
  box-sizing: border-box;
}
.signup-card {
  background: var(--bg-secondary) ;
  width: 100%;
  max-width: 720px;
  border-radius: 24px;
  box-shadow: 0 15px 35px rgba(4, 120, 87, 0.08), 0 5px 15px rgba(0, 0, 0, 0.04);
  padding: 40px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(167, 243, 208, 0.5);
  position: relative;
  overflow: hidden;
}
/* Background bubble decoration */
.signup-card::before {
  content: '';
  position: absolute;
  top: -150px;
  right: -150px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.08) 0%, rgba(5, 150, 105, 0) 70%);
  z-index: 0;
  pointer-events: none;
}
.signup-header {
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  z-index: 10;
}
.signup-logo-img {
  max-width: 130px;
  height: auto;
  margin-bottom: 12px;
}
.signup-header h2 {
  font-size: 26px;
  font-weight: 700;
  color: #064e3b;
  margin: 0 0 6px 0;
}
.signup-header p {
  font-size: 14px;
  color: #047857;
  margin: 0;
}
/* Stepper Component */
.signup-stepper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 35px;
  padding: 0 10px;
  z-index: 10;
}
.signup-stepper::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 24px;
  right: 24px;
  height: 3px;
  background-color: var(--hover-bg) ;
  transform: translateY(-50%);
  z-index: 1;
}
.signup-stepper-progress {
  position: absolute;
  top: 50%;
  left: 24px;
  height: 3px;
  background: linear-gradient(90deg, #10b981, #059669);
  transform: translateY(-50%);
  z-index: 1;
  transition: width 0.3s ease;
}
.step-item {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.step-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-secondary) ;
  border: 3px solid #e2e8f0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-primary) ;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02);
}
.step-item.active .step-circle {
  border-color: #10b981;
  color: #10b981;
  font-size: 14px;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.2);
}
.step-item.completed .step-circle {
  background: linear-gradient(135deg, #10b981, #059669);
  border-color: #10b981;
  color: var(--text-primary) ;
}
.step-label {
  position: absolute;
  top: 42px;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-primary) ;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.step-item.active .step-label {
  color: #064e3b;
  font-weight: 600;
}
.step-item.completed .step-label {
  color: #047857;
}
/* Step Content Container */
.step-content {
  position: relative;
  z-index: 10;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
}
.step-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  border-bottom: 1px dashed #e2e8f0;
  padding-bottom: 12px;
}
.step-title-icon {
  font-size: 20px;
  color: #10b981;
}
.step-content h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin: 0;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 600px) {
  .form-grid.two-cols {
    grid-template-columns: 1fr 1fr;
  }
}
.signup-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.signup-input-wrapper label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
}
.signup-input-container {
  position: relative;
  display: flex;
  align-items: center;
}
.signup-input-container svg.input-field-icon {
  position: absolute;
  left: 12px;
  color: var(--text-primary) ;
  font-size: 15px;
  pointer-events: none;
}
.signup-input-container input,
.signup-input-container select,
.signup-input-container textarea {
  width: 100%;
  padding: 11px 12px 11px 38px;
  font-size: 14px;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 14px;
  outline: none;
  font-family: inherit;
  transition: all 0.2s ease;
}
.signup-input-container textarea {
  padding-left: 12px;
  resize: vertical;
  min-height: 80px;
}
.signup-input-container input:focus,
.signup-input-container select:focus,
.signup-input-container textarea:focus {
  border-color: #10b981;
  background: var(--bg-secondary) ;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.password-toggle-btn {
  position: absolute;
  right: 12px;
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 0;
  font-size: 16px;
}
.password-toggle-btn:hover {
  color: #10b981;
}
.validation-error-msg {
  font-size: 11px;
  color: #dc2626;
  margin-top: 2px;
}
/* Footer Navigation Controls */
.signup-footer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border-color) ;
  position: relative;
  z-index: 10;
}
.signup-btn {
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  border: none;
}
.signup-btn-prev {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.signup-btn-prev:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.signup-btn-next {
  background: linear-gradient(135deg, #10b981, #059669);
  color: var(--text-primary) ;
  margin-left: auto; /* Push to right when back is hidden */
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
}
.signup-btn-next:hover:not(:disabled) {
  background: linear-gradient(135deg, #059669, #047857);
  box-shadow: 0 4px 15px rgba(5, 150, 105, 0.25);
}
.signup-btn-next:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.signup-spin-icon {
  animation: signup-spin 1s linear infinite;
}
@keyframes signup-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
/* Summary Card styling */
.summary-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  background-color: var(--hover-bg) ;
  padding: 20px;
  border-radius: 16px;
  border: 1px solid var(--border-color) ;
}
.summary-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.summary-section-title {
  font-size: 13px;
  font-weight: 700;
  color: #047857;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 4px;
}
.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}
.summary-item {
  display: flex;
  flex-direction: column;
}
.summary-label {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: 500;
}
.summary-value {
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 600;
}
.login-redirect-text {
  text-align: center;
  margin-top: 24px;
  font-size: 13px;
  color: var(--text-primary) ;
  position: relative;
  z-index: 10;
}
.login-redirect-text a {
  color: #10b981;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}
.login-redirect-text a:hover {
  color: #059669;
  text-decoration: underline;
}
.signup-error-alert {
  background-color: #fef2f2;
  border: 1px solid #fca5a5;
  color: #b91c1c;
  padding: 12px;
  border-radius: 12px;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  z-index: 10;
}
.global-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(4px);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 10vh;
}

.global-search-modal {
  background: var(--bg-secondary) ;
  width: 90%;
  max-width: 600px;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.global-search-header {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.global-search-icon {
  color: #64748b;
  margin-right: 12px;
}

.global-search-input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 16px;
  color: var(--text-primary) ;
  background: transparent;
}

.global-search-input::-moz-placeholder {
  color: #94a3b8;
}

.global-search-input::placeholder {
  color: #94a3b8;
}

.global-search-close {
  background: none;
  border: none;
  color: #64748b;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.global-search-close:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.global-search-body {
  max-height: 400px;
  overflow-y: auto;
  padding: 16px 0;
}

.global-search-empty,
.global-search-no-results {
  padding: 32px 24px;
  text-align: center;
  color: #64748b;
  font-size: 14px;
}

.global-search-hints {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
}

.hint-pill {
  background-color: var(--hover-bg) ;
  color: #334155;
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.hint-pill:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.global-search-section-title {
  padding: 0 24px 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
}

.global-search-item {
  display: flex;
  align-items: center;
  padding: 12px 24px;
  cursor: pointer;
  transition: background-color 0.1s;
}

.global-search-item.selected {
  background-color: var(--hover-bg) ;
}

.item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: var(--hover-bg) ;
  color: #3b82f6;
  border-radius: 8px;
  margin-right: 16px;
}

.global-search-item.selected .item-icon {
  background-color: #eff6ff;
}

.item-details {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.item-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary) ;
}

.item-type {
  font-size: 12px;
  color: #64748b;
  margin-top: 2px;
}

.item-enter-hint {
  font-size: 12px;
  color: #94a3b8;
}

.global-search-footer {
  padding: 12px 24px;
  background-color: var(--hover-bg) ;
  border-top: 1px solid var(--border-color) ;
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  color: #64748b;
}

.global-search-footer kbd {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 4px;
  padding: 2px 6px;
  font-family: inherit;
  font-size: 11px;
  box-shadow: 0 1px 1px rgba(0,0,0,0.05);
}
.notif-bell-icon {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 6px;
  transition: background-color 0.2s;
}

.notif-bell-icon:hover {
  background-color: var(--hover-bg) ;
}

.notif-badge {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #ef4444;
  color: white;
  font-size: 10px;
  font-weight: 700;
  min-width: 14px;
  height: 14px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  transform: translate(20%, -20%);
  border: 1.5px solid white;
}

.notif-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 100000;
  display: flex;
  justify-content: flex-end;
  animation: fadeIn 0.2s ease-out;
}

.notif-drawer {
  width: 400px;
  max-width: 100%;
  height: 100%;
  background-color: var(--hover-bg) ;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  animation: slideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow-y: auto;
}

.notif-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.notif-header-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #d1fae5;
  color: #059669;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 600;
}

.notif-close-btn {
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.notif-close-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.notif-body {
  padding: 24px;
  flex: 1;
}

.notif-mark-all {
  background: none;
  border: none;
  color: #3b82f6;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  padding: 0;
}

.notif-mark-all:hover {
  text-decoration: underline;
}

.notif-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.notif-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-primary) ;
  font-size: 14px;
  background: var(--bg-secondary) ;
  border-radius: 8px;
  border: 1px dashed #cbd5e1;
}

.notif-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s, box-shadow 0.2s;
}

.notif-card.unread {
  border-left: 4px solid #10b981;
  background-color: rgba(16, 185, 129, 0.1);
}

.notif-card:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  transform: translateY(-1px);
}

.notif-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.notif-type {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  gap: 8px;
}

.notif-content {
  cursor: pointer;
}

.notif-message {
  font-size: 14px;
  color: var(--text-primary) ;
  line-height: 1.5;
  margin-bottom: 8px;
}

.notif-time {
  font-size: 12px;
  color: var(--text-primary) ;
}

.notif-action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  cursor: pointer;
}

.notif-dot {
  width: 8px;
  height: 8px;
  background-color: #10b981;
  border-radius: 50%;
}

.notif-action:hover .notif-dot {
  transform: scale(1.2);
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.tenure-container {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--bg-primary, #ffffff);
  overflow: hidden;
}

.tenure-sidebar {
  width: 260px;
  flex-shrink: 0;
  background-color: var(--bg-secondary, #f9fafb);
  border-right: 1px solid var(--border-color, #e5e7eb);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: width 0.3s ease;
  position: relative;
}

.tenure-sidebar.collapsed {
  width: 70px;
  flex-shrink: 0;
}

.ts-brand {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-color, #e5e7eb);
  min-height: 65px;
}

.tenure-sidebar .sidebar-brand-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 60px !important;
  padding: 0 16px;
  margin: 0;
  border-bottom: 1px solid var(--border-color, #e5e7eb);
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
}

.tenure-sidebar.collapsed .sidebar-brand-wrapper {
  justify-content: center;
  padding: 0;
}

.tenure-sidebar.collapsed .sidebar-brand-wrapper .brand-logo-img {
  display: none !important;
}

.tenure-sidebar.collapsed .sidebar-brand-wrapper::after {
  content: 'अ';
  font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
  font-size: 26px;
  font-weight: 800;
  color: var(--text-primary) ;
}

.ts-brand-text {
  transition: opacity 0.2s;
}

.tenure-sidebar.collapsed .ts-brand-text {
  display: none;
}

.tenure-sidebar.collapsed .ts-brand>svg {
  display: none;
}

.ts-search-notif {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.tenure-sidebar.collapsed .ts-search-notif {
  padding: 12px 8px;
}

.ts-action-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  color: var(--text-secondary, #4b5563);
  font-size: 14px;
  cursor: pointer;
  border-radius: 6px;
}

.tenure-sidebar.collapsed .ts-action-btn span {
  display: none;
}

.tenure-sidebar.collapsed .ts-action-btn {
  justify-content: center;
}

.ts-action-btn:hover {
  background-color: var(--hover-bg, #e5e7eb);
}

.ts-action-btn .hotkey {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-muted, #9ca3af);
}

.ts-nav {
  flex: 1;
  overflow-y: auto;
  padding: 16px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ts-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 8px 12px;
  border: none;
  background: none;
  text-align: left;
  font-size: 14px;
  color: var(--text-secondary, #4b5563);
  cursor: pointer;
  border-radius: 20px;
  font-weight: 500;
  white-space: nowrap;
}

.tenure-sidebar.collapsed .ts-nav-item span {
  display: none;
}

.tenure-sidebar.collapsed .ts-nav-item .arrow {
  display: none;
}

.tenure-sidebar.collapsed .ts-nav-item {
  justify-content: center;
  padding: 10px;
}

.ts-nav-item:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}

.ts-nav-item:hover svg {
  color: var(--text-primary) !important;
}

.ts-nav-item.active {
  background-color: #E7F8EE !important;
  color: #047857 !important;
  font-weight: 700 !important;
}

.ts-nav-item.active svg {
  color: #047857 !important;
}

.ts-nav-item .arrow {
  margin-left: auto;
}

.ts-nav-group {
  display: flex;
  flex-direction: column;
}

.ts-subnav {
  display: flex;
  flex-direction: column;
  padding-left: 16px;
  gap: 2px;
  margin-top: 2px;
  margin-bottom: 4px;
}

.ts-subnav-item {
  background: none;
  border: none;
  text-align: left;
  padding: 6px 10px;
  font-size: 13px;
  color: var(--text-secondary, #4b5563);
  cursor: pointer;
  border-radius: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ts-subnav-item:hover {
  background-color: #f0fdf4 !important;
  color: #16a34a !important;
  font-weight: 500 !important;
}

.ts-subnav-item.active {
  background-color: #dcfce7 !important;
  color: #15803d !important;
  font-weight: 600 !important;
}

.ts-collapse-btn {
  position: absolute;
  bottom: 80px;
  right: -14px;
  width: 28px;
  height: 28px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  color: var(--text-secondary, #4b5563);
  z-index: 10;
}

.ts-user {
  padding: 16px;
  border-top: 1px solid var(--border-color, #e5e7eb);
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 70px;
}

.tenure-sidebar.collapsed .ts-user {
  justify-content: center;
  padding: 16px 8px;
}

.tenure-sidebar.collapsed .ts-user-info {
  display: none;
}

.ts-user-avatar {
  width: 36px;
  height: 36px;
  background-color: #ffeff1;
  color: #e11d48;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  flex-shrink: 0;
}

.ts-user-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ts-user-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary, #111827);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ts-user-email {
  font-size: 12px;
  color: var(--text-muted, #9ca3af);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tenure-dashboard {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
  padding: 24px 32px;
  background-color: var(--hover-bg) ;
}

.td-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: -24px;
  margin-left: -32px;
  margin-right: -32px;
  margin-bottom: 24px;
  padding: 0 32px;
  height: 60px;
  box-sizing: border-box;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.td-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary, #4b5563);
  font-size: 14px;
}

.td-breadcrumb b {
  color: var(--text-primary, #111827);
  font-weight: 600;
}

.td-header-btn {
  background: var(--bg-secondary, #f9fafb);
  border: 1px solid var(--border-color, #e5e7eb);
  padding: 8px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--text-secondary, #4b5563);
}

.td-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.td-kpi-card {
  background: var(--card-bg, #ffffff);
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.td-kpi-title {
  display: flex;
  justify-content: space-between;
  color: var(--text-secondary, #4b5563);
  font-size: 13px;
  font-weight: 500;
}

.td-kpi-val {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary, #111827);
}


.td-charts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.td-chart-card {
  background: var(--card-bg, #ffffff);
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 10px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  min-height: 280px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.td-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
}

.td-chart-header h3 {
  margin: 0 0 6px 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary, #111827);
}

.td-chart-header span {
  font-size: 12px;
  color: var(--text-muted, #6b7280);
}

.td-chart-actions {
  display: flex;
  gap: 8px;
}

.td-chart-actions button {
  background: var(--bg-secondary, #f9fafb);
  border: 1px solid var(--border-color, #e5e7eb);
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--text-secondary, #4b5563);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}

.empty-box {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted, #9ca3af);
  font-size: 13px;
  font-weight: 500;
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
}

.mock-chart {
  display: flex;
  flex: 1;
  padding-top: 10px;
  gap: 16px;
  min-height: 200px;
}

.y-axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 28px;
  color: var(--text-primary) ;
  font-size: 11px;
  font-weight: 500;
  height: 100%;
}

.chart-area {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.grid-lines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
}

.grid-line {
  border-bottom: 1px solid #f3f4f6;
  width: 100%;
}

.pink-line {
  position: absolute;
  bottom: 28px;
  left: 10%;
  right: 10%;
  height: 2px;
  background-color: #f472b6;
  z-index: 2;
}

.x-axis {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-around;
  color: var(--text-primary) ;
  font-size: 11px;
  font-weight: 500;
  height: 28px;
  align-items: center;
  z-index: 2;
}

/* Tooltip Mock */
.chart-tooltip {
  position: absolute;
  bottom: 40px;
  left: 15%;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  padding: 10px 14px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chart-tooltip::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 20px;
  width: 10px;
  height: 10px;
  background: var(--bg-secondary) ;
  border-right: 1px solid var(--border-color) ;
  border-bottom: 1px solid var(--border-color) ;
  transform: rotate(45deg);
}

.tooltip-year {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.tooltip-data {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tooltip-data-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-primary) ;
}

.tooltip-color-box {
  width: 10px;
  height: 10px;
  background-color: #f472b6;
  border-radius: 2px;
}


.tooltip-value {
  font-weight: 600;
  color: var(--text-primary) ;
}

/* Employee Onboarding Page Styles */
.onboarding-page {
  display: flex;
  flex-direction: column;
}

.ob-header {
  margin-bottom: 16px;
}

.ob-header-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ob-btn {
  background: var(--bg-secondary, #f9fafb);
  border: 1px solid var(--border-color, #e5e7eb);
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--text-secondary, #4b5563);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}

.ob-btn.icon-btn {
  padding: 6px 8px;
}

.ob-btn-primary {
  background: #111827;
  color: var(--text-primary) ;
  border: none;
}

.ob-btn-primary:hover {
  background: #000000;
}

.ob-filters-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.ob-filters-left,
.ob-filters-right {
  display: flex;
  gap: 12px;
}

.ob-filter-input {
  display: flex;
  align-items: center;
  background-color: var(--hover-bg) ;
  border-radius: 6px;
  padding: 4px 8px;
  color: var(--text-primary) ;
}

.ob-filter-input input {
  background: transparent;
  border: none;
  outline: none;
  font-size: 13px;
  width: 100px;
  color: var(--text-primary) ;
}

.ob-filter-chip {
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 13px;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.ob-filter-chip.active {
  background: #e5e7eb;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
}

.ob-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ob-empty-icon {
  margin-bottom: 16px;
}

.ob-empty-state p {
  color: var(--text-primary) ;
  font-size: 13px;
  margin-bottom: 16px;
  max-width: 400px;
}

.ob-btn-secondary {
  background-color: var(--hover-bg) ;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
}

.ob-btn-secondary:hover {
  background: #e5e7eb;
}

/* New Employee Onboarding Form */
.new-ob-page {
  background: var(--bg-secondary) ;
}

.not-saved-badge {
  background-color: #fff7ed;
  color: #ea580c;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 8px;
  font-weight: 500;
  border: 1px solid #fdba74;
}

.form-container {
  width: 100%;
  margin-top: 24px;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
}

.form-section {
  padding: 24px 32px;
  border-bottom: 1px solid var(--border-color) ;
}

.form-section:last-child {
  border-bottom: none;
}

.form-section-title {
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 14px;
  padding: 16px 32px;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
  border-top: 1px solid var(--border-color) ;
}

.form-row {
  display: flex;
  gap: 32px;
  margin-bottom: 20px;
}

.form-row:last-child {
  margin-bottom: 0;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group.half {
  flex: 1;
}

.form-group.full {
  flex: 1;
  width: 100%;
}

.form-group label {
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.form-group label span {
  color: #ef4444;
}

.form-input,
.form-textarea {
  background-color: var(--hover-bg) ;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  outline: none;
  width: 100%;
  font-family: inherit;
}

.form-textarea {
  resize: vertical;
}

.form-input:focus,
.form-textarea:focus {
  border-color: var(--border-color) ;
}

.form-input.text-dark {
  color: var(--text-primary) ;
  font-weight: 600;
}

.form-input.text-muted {
  color: var(--text-primary) ;
}

/* Activities Table */
.activities-table-wrapper {
  margin-bottom: 24px;
}

.activities-label {
  font-size: 13px;
  color: var(--text-primary) ;
  margin-bottom: 8px;
  display: block;
}

.activities-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 12px;
}

.activities-table th,
.activities-table td {
  padding: 10px 12px;
  font-size: 13px;
  text-align: left;
  border-bottom: 1px solid var(--border-color) ;
}

.activities-table th {
  background: var(--bg-primary) ;
  color: var(--text-primary) ;
  font-weight: 500;
}

.activities-table th span {
  color: #ef4444;
}

.activities-table tbody tr:last-child td {
  border-bottom: none;
}

.empty-table {
  text-align: center !important;
  color: var(--text-primary) ;
  padding: 16px !important;
  background: var(--bg-primary) ;
}

.add-row-btn {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--text-primary) ;
  font-size: 12px;
  font-weight: 500;
}

.add-row-btn:hover {
  background: #e5e7eb;
}

.notify-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
}


.notify-checkbox label {
  font-size: 13px;
  color: var(--text-primary) ;
}

/* Modal Overlay Styles */
.ts-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ts-modal {
  background: var(--bg-secondary) ;
  width: 600px;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
}

.ts-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.ts-modal-header h2 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin: 0;
}

.ts-modal-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}

.ts-modal-close:hover {
  background-color: var(--hover-bg) ;
}

.ts-modal-body {
  padding: 24px;
}

.ts-modal-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--border-color) ;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--bg-secondary) ;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* Report Page Specifics */
.report-page {
  display: flex;
  flex-direction: column;
}

.report-filters {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

.report-filter-row {
  display: flex;
  gap: 12px;
  align-items: center;
}

.report-input {
  background-color: var(--hover-bg) ;
  border: 1px solid transparent;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  color: var(--text-primary) ;
  width: 160px;
  outline: none;
}

.report-input:focus {
  border-color: var(--border-color) ;
}

.report-input.select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%234b5563%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%227%2014%2012%2019%2017%2014%22%3E%3C/polyline%3E%3Cpolyline%20points%3D%227%2010%2012%205%2017%2010%22%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 24px;
}

.report-checkbox {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  margin-left: 8px;
}

.report-meta {
  font-size: 13px;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.red-dot {
  background-color: #ef4444;
}

.report-empty {
  flex: 1;
}

.report-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  font-size: 12px;
  color: var(--text-primary) ;
  border-top: 1px solid var(--border-color) ;
}

/* --- New KPI Cards Design --- */
.dashboard-kpi-row {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

.kpi-block-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
  padding: 16px 20px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 90px;
  box-sizing: border-box;
}

.kpi-block-card.enlarged-card {
  position: relative;
  min-height: 125px;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
  border: 1px solid var(--border-color) ;
}

.kpi-title-area {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.kpi-status-dot {
  width: 6px;
  height: 6px;
  background-color: #2563eb;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.kpi-block-title.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.kpi-info-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

.info-icon {
  color: var(--text-primary) ;
  font-size: 13px;
  transition: color 0.2s;
}

.kpi-info-trigger:hover .info-icon {
  color: #2563eb;
}

.kpi-tooltip-text {
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 10.5px;
  line-height: 1.4;
  white-space: nowrap;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}

.kpi-tooltip-text::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--text-primary) ;
}

.kpi-info-trigger:hover .kpi-tooltip-text {
  opacity: 1;
  visibility: visible;
}

.kpi-arrow-trigger {
  position: absolute;
  top: 20px;
  right: 20px;
  color: var(--text-primary) ;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kpi-arrow-trigger:hover {
  color: #2563eb;
  transform: translate(1px, -1px);
}

.kpi-block-val.normal {
  color: var(--text-primary) ;
  font-size: 32px;
  font-weight: 700;
  margin-top: 10px;
  line-height: 1.1;
}

.kpi-block-trend {
  font-size: 12px;
  font-weight: 500;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.kpi-block-trend.text-green {
  color: #10b981;
}

.kpi-block-trend.text-red {
  color: #ef4444;
}

.kpi-block-trend.text-orange {
  color: #f59e0b;
}/* Revised Expenses Dashboard Stylesheet */

/* KPI Cards Row Layout */
.dashboard-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.kpi-block-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
  padding: 16px 20px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 125px;
  box-sizing: border-box;
}

/* Enlarged KPI Block Cards from Second Screenshot */
.kpi-block-card.enlarged-card {
  position: relative;
  min-height: 125px;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
  border: 1px solid var(--border-color) ;
}

.kpi-title-area {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.kpi-status-dot {
  width: 6px;
  height: 6px;
  background-color: #2563eb;
  /* Blue status dot */
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.kpi-block-title.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

/* KPI Info Icon & 2-Line Hover Tooltip CSS */
.kpi-info-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
}

.info-icon {
  color: var(--text-primary) ;
  font-size: 13px;
  transition: color 0.2s;
}

.kpi-info-trigger:hover .info-icon {
  color: #2563eb;
}

.kpi-tooltip-text {
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 10.5px;
  line-height: 1.4;
  white-space: nowrap;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}

/* Tooltip arrow */
.kpi-tooltip-text::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--text-primary) ;
}

.kpi-info-trigger:hover .kpi-tooltip-text {
  opacity: 1;
  visibility: visible;
}

/* Diagonal Arrow Action Link */
.kpi-arrow-trigger {
  position: absolute;
  top: 20px;
  right: 20px;
  color: var(--text-primary) ;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kpi-arrow-trigger:hover {
  color: #2563eb;
  transform: translate(1px, -1px);
}

.kpi-block-val {
  color: var(--text-primary) ;
  /* Consistently black as requested */
  font-size: 32px;
  font-weight: 700;
  margin-top: 10px;
  line-height: 1.1;
}

/* KPI Trend Subtext at Bottom */
.kpi-block-trend {
  font-size: 12px;
  color: #10b981;
  font-weight: 500;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.kpi-block-trend.text-red {
  color: #ef4444;
}

.kpi-block-trend.text-orange {
  color: #f59e0b;
}

/* Mid Card Grid Alignment */
.dashboard-grid-two-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}

/* Empty Chart Card / Placed Card Style */
.empty-chart-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  min-height: 250px;
  box-sizing: border-box;
}

.empty-chart-card.full-width {
  grid-column: span 2;
  margin-bottom: 20px;
}

.empty-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.empty-card-title {
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.empty-card-tools {
  display: flex;
  align-items: center;
  gap: 12px;
}

.empty-tool-icon {
  color: var(--text-primary) ;
  font-size: 14px;
  cursor: pointer;
  transition: color 0.2s;
}

.empty-tool-icon:hover {
  color: var(--text-primary) ;
}

.empty-card-subtitle {
  font-size: 11.5px;
  color: var(--text-primary) ;
  margin-top: 2px;
  margin-bottom: 24px;
}

/* Center Placed No Data Text */
.no-data-display {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.03em;
  background: var(--bg-primary) ;
  border-radius: 12px;
  border: 1px dashed #e5e7eb;
  min-height: 120px;
}


/* DETAILS MODAL POPUP STYLING */
.kpi-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(17, 24, 39, 0.4);
  backdrop-filter: blur(4px);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: modalFadeIn 0.2s ease-out;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.kpi-modal-container {
  background: var(--bg-secondary) ;
  border-radius: 16px;
  width: 720px;
  max-width: 90%;
  max-height: 85vh;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: modalSlideUp 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalSlideUp {
  from {
    transform: translateY(15px);
  }

  to {
    transform: translateY(0);
  }
}

.kpi-modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-color) ;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.kpi-modal-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.kpi-modal-subtitle {
  font-size: 12px;
  color: var(--text-primary) ;
  margin-top: 2px;
  display: block;
}

.kpi-modal-close {
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 10px;
  transition: all 0.2s;
}

.kpi-modal-close:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.kpi-modal-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
}

.kpi-modal-search {
  display: flex;
  align-items: center;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 8px 12px;
  background: var(--bg-primary) ;
}

.modal-search-icon {
  color: var(--text-primary) ;
  margin-right: 8px;
  font-size: 14px;
}

.modal-search-input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 13px;
  width: 100%;
  color: var(--text-primary) ;
}

.modal-records-wrapper {
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  overflow-x: auto;
}

.modal-empty-state {
  padding: 40px;
  text-align: center;
  color: var(--text-primary) ;
  font-size: 13.5px;
}

.modal-records-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.modal-records-table th {
  background: var(--bg-primary) ;
  padding: 10px 16px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border-color) ;
}

.modal-records-table td {
  padding: 12px 16px;
  border-bottom: 1px solid #f3f4f6;
  font-size: 12.5px;
  color: var(--text-primary) ;
}

.modal-records-table tr:last-child td {
  border-bottom: none;
}

.m-id {
  font-weight: 600;
  color: #2563eb;
}

.m-desc {
  font-weight: 500;
  color: var(--text-primary) ;
}

.m-type {
  background-color: var(--hover-bg) ;
  padding: 2px 6px;
  border-radius: 8px;
  font-size: 11px;
}

.m-amt {
  font-weight: 600;
  color: var(--text-primary) ;
}

.m-date {
  color: var(--text-primary) ;
}

/* Responsive Grid Adapting */
@media (max-width: 1200px) {
  .dashboard-kpi-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .dashboard-grid-two-cols {
    grid-template-columns: 1fr;
  }

  .empty-chart-card.full-width {
    grid-column: span 1;
  }
}

@media (max-width: 580px) {
  .dashboard-kpi-row {
    grid-template-columns: 1fr;
  }
}

/* Expense Claims Line Chart Styles */
.expense-claims-chart-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin-bottom: 24px;
}

.chart-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.chart-header-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.chart-title {
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.chart-sync-time {
  font-size: 11.5px;
  color: var(--text-primary) ;
}

.chart-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}

.chart-action-btn {
  background: none;
  border: none;
  color: var(--text-primary) ;
  font-size: 14px;
  cursor: pointer;
  transition: color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-radius: 10px;
}

.chart-action-btn:hover {
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
}

.select-wrapper {
  position: relative;
}

.chart-select {
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 4px 8px;
  font-size: 12px;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  outline: none;
  cursor: pointer;
}

.chart-options-dropdown {
  position: absolute;
  top: 36px;
  right: 0;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
  z-index: 10;
  width: 120px;
  overflow: hidden;
}

.dropdown-item {
  padding: 8px 12px;
  font-size: 12px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background-color 0.2s;
}

.dropdown-item:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.chart-wrapper {
  position: relative;
  width: 100%;
}

.svg-line-chart {
  width: 100%;
  height: auto;
  overflow: visible;
}

.chart-grid-line {
  stroke: #f3f4f6;
  stroke-width: 1;
}

.chart-grid-label {
  fill: #9ca3af;
  font-size: 10px;
  text-anchor: end;
}

.chart-line-path {
  stroke: #2563eb;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.chart-data-dot {
  fill: #ffffff;
  stroke: #2563eb;
  stroke-width: 2;
  cursor: pointer;
  transition: r 0.2s, stroke-width 0.2s;
}

.chart-data-dot:hover,
.chart-data-dot.active {
  r: 6;
  stroke-width: 3;
  fill: #2563eb;
}

.chart-x-label {
  fill: #9ca3af;
  text-anchor: middle;
}

.chart-tooltip {
  position: absolute;
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 11px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  pointer-events: none;
  transform: translate(-50%, -100%);
  margin-top: -8px;
  z-index: 20;
}

.tooltip-month {
  font-weight: 600;
  margin-bottom: 2px;
}

.tooltip-claims {
  color: var(--text-primary) ;
}

.tooltip-amt {
  color: #10b981;
  font-weight: 600;
  margin-top: 2px;
}

/* Scrollable View Area Container & Dashboard Metrics Container (Matching HR Setup flex column gap: 16px) */
.payroll-scrollable,
.dashboard-metrics-container {
  padding: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  text-align: left !important;
  overflow-y: auto !important;
  flex-grow: 1 !important;
}

/* Greeting Banner & Filters Layout */
.dashboard-greeting-banner {
  background: linear-gradient(to right, var(--hover-bg), #f9fafb) !important;
  border-radius: 12px !important;
  border: 1px solid var(--border-color) !important;
  padding: 14px 28px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Background Decorative SVGs positioning */
.banner-bg-decor {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.decor-left {
  left: 22% !important;
  top: -10px !important;
}

.decor-center {
  left: 54% !important;
  top: -10px !important;
}

.decor-right {
  right: 14% !important;
  top: -5px !important;
}

.greeting-banner-left {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  position: relative !important;
  z-index: 1 !important;
}

.greeting-banner-right {
  position: relative !important;
  z-index: 1 !important;
}

.greeting-banner-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.greeting-banner-text h1 {
  font-size: 21px;
  font-weight: 700;
  color: var(--text-primary) ;
  letter-spacing: -0.02em;
  line-height: 1;
  margin: 0;
  padding-bottom: 4px;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.greeting-date {
  font-size: 12.25px;
  color: var(--text-primary) ;
  margin: 0;
}

/* Report Dropdown Button & Menu */
.report-btn-wrapper {
  position: relative;
  display: inline-block;
}

.generate-report-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.generate-report-btn:hover {
  background-color: #16a34a !important;
  box-shadow: none !important;
}

.generate-report-btn .btn-icon-left {
  font-size: 13px;
}

.generate-report-btn .btn-icon-right {
  font-size: 11px;
  opacity: 0.85;
  margin-left: 2px;
}

.report-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  min-width: 210px;
  z-index: 500;
  padding: 6px 0;
  animation: fadeInDown 0.15s ease;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.report-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s ease;
}

.report-dropdown-item:hover {
  background-color: var(--hover-bg) ;
}

.report-dropdown-icon {
  font-size: 17px;
  flex-shrink: 0;
}

.pdf-icon {
  color: #e53e3e;
}

.xls-icon {
  color: #22863a;
}

/* Dashboard Filter Bar (Identical layout to HR Setup) */
.dashboard-filter-bar {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  background: var(--bg-secondary) !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  border: 1px solid var(--border-color) !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.dashboard-filter-bar .filter-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 !important;
  min-width: 150px !important;
}

.dashboard-filter-bar .filter-group .filter-label {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.filter-select-wrapper {
  position: relative !important;
  width: 100% !important;
}

.filter-select-wrapper select {
  border: 1px solid rgb(226, 232, 240) !important;
  outline: none !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231E293B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat rgb(248, 250, 252) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text-primary) ;
  cursor: pointer !important;
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
  padding: 6px 30px 6px 12px !important;
  border-radius: 6px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  width: 100% !important;
  min-width: 140px !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
}

.filter-select-wrapper select:focus {
  border-color: #3b82f6 !important;
  background: var(--bg-secondary) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;
}

.filter-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.reset-filters-btn {
  background: transparent !important;
  border: none !important;
  color: #3b82f6 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  transition: background-color 0.2s ease !important;
  white-space: nowrap !important;
}

.reset-filters-btn:hover {
  background-color: #eff6ff !important;
}

.payroll-kpi-row,
.kpi-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
  width: 100% !important;
}

@media (max-width: 1024px) {
  .payroll-kpi-row,
  .kpi-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .payroll-kpi-row,
  .kpi-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

.payroll-kpi-card,
.kpi-card {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 10px !important;
  padding: 17.5px !important;
  min-height: 125px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.payroll-kpi-card:hover,
.kpi-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  transform: translateY(-1px) !important;
}

.kpi-card-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  flex-grow: 1 !important;
  box-sizing: border-box !important;
}

/* KPI Info Modal Backdrop & Dialog Box (HR Setup parity) */
.kpi-info-modal-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(0, 0, 0, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1000 !important;
  animation: fadeIn 0.2s ease;
}

.kpi-info-modal-box {
  background: var(--bg-secondary) !important;
  border-radius: 24px !important;
  width: 800px !important;
  max-width: 95% !important;
  max-height: 90vh !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
  animation: slideUp 0.25s ease-out;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

.kpi-info-modal-box::-webkit-scrollbar {
  width: 8px;
}
.kpi-info-modal-box::-webkit-scrollbar-track {
  background: transparent;
  margin-top: 24px;
  margin-bottom: 24px;
}
.kpi-info-modal-box::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 10px;
}
.kpi-info-modal-box::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8;
}

.kpi-info-modal-header {
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--border-color) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.kpi-modal-title-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  text-align: left !important;
}

.kpi-info-modal-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
}

.kpi-info-modal-subtitle {
  font-size: 11px !important;
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.kpi-info-modal-close-btn {
  background: var(--hover-bg) !important;
  border: none !important;
  font-size: 14px !important;
  color: #64748b !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  transition: all 0.2s ease !important;
}

.kpi-info-modal-close-btn:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}

.kpi-info-modal-body {
  padding: 24px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.kpi-modal-grid-layout {
  display: flex !important;
  gap: 24px !important;
  align-items: flex-start !important;
}

.kpi-modal-value-card {
  width: 140px !important;
  height: 140px !important;
  background-color: #eff6ff !important;
  border-radius: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  padding: 16px !important;
}

.value-card-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #3b82f6 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
}

.value-card-number {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #1e3a8a !important;
  word-break: break-word !important;
  text-align: center !important;
}

.kpi-modal-details-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  flex-grow: 1 !important;
  text-align: left !important;
}

.kpi-details-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.kpi-details-heading {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
}

.kpi-details-icon.info-blue {
  color: #3b82f6 !important;
  font-size: 14px !important;
}

.kpi-details-bullet-icon {
  color: #8b5cf6 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

.kpi-details-text {
  font-size: 12.5px !important;
  color: #475569 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

.kpi-details-counts-box {
  background-color: #faf5ff !important;
  border: 1px solid #f3e8ff !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
}

.kpi-details-counts-text {
  font-size: 12.5px !important;
  color: #7c3aed !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

.insight-icon {
  color: #d97706 !important;
  font-size: 15px !important;
}

.kpi-details-insight-box {
  background-color: #fffbeb !important;
  border: 1px solid #fef3c7 !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
  box-sizing: border-box !important;
}

.kpi-details-insight-text {
  font-size: 12.5px !important;
  color: #b45309 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

.kpi-info-modal-footer {
  padding: 16px 24px !important;
  background-color: var(--hover-bg) !important;
  border-top: 1px solid var(--border-color) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
}

.kpi-info-modal-ok-btn {
  background-color: #2563eb !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.kpi-info-modal-ok-btn:hover {
  background-color: #1d4ed8 !important;
}

.reset-filters-btn {
  background: none;
  border: none;
  color: #2563eb;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 10px;
  margin-left: auto;
  transition: all 0.2s;
}

.reset-filters-btn:hover {
  background-color: #eff6ff;
  text-decoration: underline;
}

@media (max-width: 900px) {
  .dashboard-filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .reset-filters-btn {
    margin-left: 0;
    align-self: flex-start;
  }
}

/* Dark Mode Overrides for Expenses Dashboard & KPI Cards */
body.dark .kpi-block-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -1px rgba(0, 0, 0, 0.1) !important;
}

body.dark .kpi-block-card.enlarged-card {
  border-color: var(--border-color) !important;
}

body.dark .kpi-block-title.uppercase {
  color: var(--text-secondary) !important;
}

body.dark .kpi-block-val {
  color: var(--text-primary) !important;
}

body.dark .kpi-arrow-trigger {
  color: var(--text-muted) !important;
}

body.dark .empty-chart-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .empty-card-title {
  color: var(--text-primary) !important;
}

body.dark .no-data-display {
  background: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-muted) !important;
}

body.dark .report-graph-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .report-graph-card h3 {
  color: var(--text-primary) !important;
}

body.dark .report-insights-card {
  background-color: var(--insights-bg) !important;
  border-color: var(--insights-border) !important;
}

body.dark .report-insights-card h3 {
  color: var(--insights-title) !important;
}

body.dark .report-insights-card ul {
  color: var(--insights-text) !important;
}

body.dark .dashboard-filters-row {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .filter-select {
  background: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

body.dark .filter-select:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .stat-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .stat-title {
  color: var(--text-secondary) !important;
}

body.dark .stat-value {
  color: var(--text-primary) !important;
}

body.dark .chart-header {
  color: var(--text-primary) !important;
}

body.dark .kpi-modal-content,
body.dark .kpi-modal-overlay>div {
  background: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

body.dark .kpi-modal-content h3 {
  color: var(--text-primary) !important;
}

body.dark .kpi-modal-content p {
  color: var(--text-secondary) !important;
}

body.dark .kpi-modal-content span {
  color: var(--text-muted) !important;
}

body.dark .kpi-modal-content div {
  border-color: var(--border-color) !important;
}

body.dark .kpi-modal-content button {
  color: var(--text-muted) !important;
}

body.dark .kpi-modal-content button:hover {
  color: var(--text-primary) !important;
}

/* Dark Mode support for Dashboard Greeting Banner & Clock */
body.dark .dashboard-greeting-banner {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .greeting-title {
  color: var(--text-primary) !important;
}

body.dark .greeting-date {
  color: var(--text-muted) !important;
}

body.dark .clock-face {
  fill: var(--bg-primary) !important;
}

body.dark .clock-rim {
  fill: var(--card-bg) !important;
  stroke: var(--border-color) !important;
}

body.dark .hour-tick {
  stroke: var(--text-primary) !important;
}

body.dark .minute-tick {
  stroke: var(--text-muted) !important;
}

body.dark .hour-hand,
body.dark .minute-hand {
  stroke: var(--text-primary) !important;
}

body.dark .clock-center-pin {
  stroke: var(--bg-primary) !important;
}

/* Dark Mode support for Expense Claims Line Chart Card */
body.dark .expense-claims-chart-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .chart-title {
  color: var(--text-primary) !important;
}

body.dark .chart-sync-time {
  color: var(--text-muted) !important;
}

body.dark .chart-select {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

body.dark .chart-action-btn:hover {
  color: var(--text-primary) !important;
  background-color: var(--hover-bg) !important;
}

body.dark .chart-options-dropdown {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .chart-options-dropdown .dropdown-item {
  color: var(--text-primary) !important;
}

body.dark .chart-options-dropdown .dropdown-item:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .chart-grid-line {
  stroke: var(--border-color) !important;
}

body.dark .chart-grid-label {
  fill: var(--text-muted) !important;
}

body.dark .chart-x-label {
  fill: var(--text-muted) !important;
}

body.dark .chart-data-dot {
  fill: var(--card-bg) !important;
}

body.dark .chart-data-dot:hover,
body.dark .chart-data-dot.active {
  fill: #2563eb !important;
}

body.dark .chart-tooltip {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

body.dark .tooltip-claims {
  color: var(--text-muted) !important;
}

/* Force border-radius of dashboard cards to match KPI cards (12px) */
.payroll-chart-card,
.payroll-empty-card {
  border-radius: 12px !important;
}

/* Generate Report Button - Matching Pill Design */
.payroll-generate-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #22C55E !important;
  color: var(--text-primary) ;
  border: none;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(34, 197, 94, 0.2);
}

.payroll-generate-btn:hover {
  background-color: #16a34a !important;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
  transform: translateY(-1px);
}

.payroll-generate-btn:active {
  transform: translateY(0);
}

/* Payroll Module Layout */
.payroll-page-layout {
  display: flex;
  height: 100vh;
  width: 100vw;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  overflow: hidden;
}
.payroll-main-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-primary) ;
}
/* TOPBAR */
.payroll-topbar {
  height: 60px;
  border-bottom: 1px solid var(--border-color) ;
  background: var(--bg-secondary) ;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.payroll-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--text-primary) ;
}
.payroll-home-crumb-icon {
  cursor: pointer;
  color: var(--text-primary) ;
  transition: color 0.2s ease;
  font-size: 13px;
}
.payroll-home-crumb-icon:hover {
  color: var(--text-primary) ;
}
.payroll-crumb-separator {
  color: var(--text-primary) ;
}
.payroll-crumb-clickable {
  cursor: pointer;
  transition: color 0.2s ease;
}
.payroll-crumb-clickable:hover {
  color: var(--text-primary) ;
  font-weight: 500;
}
.payroll-current-crumb {
  font-weight: 500;
  color: var(--text-primary) ;
}
.payroll-topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.payroll-topbar-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.2s ease;
}
.payroll-topbar-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
/* SCROLLABLE CONTENT */
.payroll-scrollable {
  flex-grow: 1;
  overflow-y: auto;
  padding: 24px;
}
/* KPI CARDS ROW */
.pe-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.pe-toolbar-heading {
  display: flex;
  flex-direction: column;
}
.pe-toolbar-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.payroll-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}
.payroll-kpi-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 20px 22px 18px;
  transition: box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.payroll-kpi-card:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.payroll-kpi-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.payroll-kpi-title-area {
  display: flex;
  align-items: center;
  gap: 7px;
}
.payroll-kpi-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  flex-shrink: 0;
}
.payroll-kpi-title {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-primary) ;
  line-height: 1.3;
}
.payroll-kpi-arrow {
  font-size: 14px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: color 0.2s;
  line-height: 1;
  flex-shrink: 0;
}
.payroll-kpi-arrow:hover {
  color: var(--text-primary) ;
}
.payroll-kpi-value {
  font-size: 30px;
  font-weight: 700;
  color: var(--text-primary) ;
  line-height: 1;
}
.payroll-kpi-trend {
  font-size: 12px;
  font-weight: 500;
}
.payroll-kpi-trend--green {
  color: #10b981;
}
.payroll-kpi-trend--red {
  color: #ef4444;
}
/* CHART CARD */
.payroll-chart-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
}
.payroll-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.payroll-chart-title {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-primary) ;
  line-height: 1.3;
}
.payroll-chart-sync {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-bottom: 12px;
}
.payroll-chart-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
.payroll-custom-dropdown {
  position: relative;
  display: inline-block;
  font-family: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.payroll-custom-dropdown-trigger {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  cursor: pointer;
  min-width: 140px;
  transition: all 0.2s;
}
.payroll-custom-dropdown-trigger:hover {
  background-color: var(--hover-bg) ;
  border-color: var(--border-color) ;
}
.payroll-custom-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 100%;
  min-width: 150px;
  background: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  z-index: 20;
  overflow: hidden;
  padding: 4px 0;
}
.payroll-custom-dropdown-item {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s;
}
.payroll-custom-dropdown-item:hover {
  background: var(--hover-bg) ;
}
.payroll-custom-dropdown-item.active {
  background: #737373;
  /* Match dark grey from image */
  color: var(--text-primary) ;
}
.payroll-chart-icon-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.payroll-chart-icon-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.payroll-svg-chart {
  width: 100%;
  height: 180px;
}
.payroll-chart-grid-line {
  stroke: #f3f4f6;
  stroke-width: 1;
}
.payroll-chart-grid-label {
  fill: #9ca3af;
  font-size: 9px;
  text-anchor: end;
}
.payroll-chart-line {
  stroke: #10b981;
  stroke-width: 2;
  fill: none;
}
.payroll-chart-dot {
  fill: #10b981;
  cursor: pointer;
  transition: r 0.1s;
}
.payroll-chart-dot:hover {
  r: 5;
}
.payroll-chart-x-label {
  fill: #9ca3af;
  font-size: 8px;
  text-anchor: middle;
}
/* TWO COL GRID */
.payroll-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.payroll-empty-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 14px 20px 20px;
  min-height: 260px;
  display: flex;
  flex-direction: column;
}
.payroll-empty-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.payroll-empty-card-title {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--text-primary) ;
  line-height: 1.3;
}
.payroll-empty-card-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary) ;
  font-size: 14px;
  cursor: pointer;
}
.payroll-empty-card-sync {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-bottom: 40px;
}
.payroll-no-data {
  color: var(--text-primary) ;
  font-size: 13px;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* PLACEHOLDER VIEWS */
.payroll-placeholder-view {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.payroll-placeholder-content {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  color: var(--text-primary) ;
}
.payroll-placeholder-icon {
  font-size: 48px;
  color: var(--text-primary) ;
}
.payroll-placeholder-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.payroll-placeholder-desc {
  font-size: 13px;
  color: var(--text-primary) ;
}
/* TOAST */
.payroll-toast-notification {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
  z-index: 200;
  animation: payrollSlideUp 0.3s ease;
}
@keyframes payrollSlideUp {
  from {
    transform: translate(-50%, 15px);
    opacity: 0;
  }

  to {
    transform: translate(-50%, 0);
    opacity: 1;
  }
}
/* GREETING BANNER */
.payroll-greeting-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 20px 28px;
  margin-bottom: 20px;
}
.payroll-greeting-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
/* ANALOG CLOCK */
.payroll-analog-clock {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
}
.payroll-clock-svg {
  width: 100%;
  height: 100%;
}
.payroll-clock-rim {
  fill: #f3f4f6;
  stroke: #e5e7eb;
  stroke-width: 1;
}
.payroll-clock-face {
  fill: #ffffff;
  stroke: #e5e7eb;
  stroke-width: 0.5;
}
.payroll-clock-tick {
  stroke: #d1d5db;
}
.payroll-clock-hour-tick {
  stroke-width: 1.5;
}
.payroll-clock-min-tick {
  stroke-width: 0.8;
}
.payroll-clock-hand {
  stroke-linecap: round;
}
.payroll-clock-hour-hand {
  stroke: #111827;
  stroke-width: 3;
}
.payroll-clock-min-hand {
  stroke: #374151;
  stroke-width: 2;
}
.payroll-clock-sec-hand {
  stroke: #10b981;
  stroke-width: 1.2;
}
.payroll-clock-center {
  fill: #111827;
}
/* GREETING TEXT */
.payroll-greeting-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.payroll-greeting-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary) ;
}
.payroll-greeting-date {
  font-size: 14px;
  color: var(--text-primary) ;
}
/* GENERATE REPORT BUTTON */
.payroll-generate-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #22C55E;
  color: var(--text-primary) ;
  border: none;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 13.5px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 6px rgba(34, 197, 94, 0.2);
}
.payroll-generate-btn:hover {
  background: #16a34a;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
  transform: translateY(-1px);
}
.payroll-generate-btn:active {
  transform: translateY(0);
}
.payroll-report-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  min-width: 180px;
  z-index: 50;
  overflow: hidden;
}
.payroll-report-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s ease;
}
.payroll-report-option:hover {
  background: #f0fdf4;
  color: #047857;
  font-weight: 500;
}
/* KPI MODAL */
.payroll-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(17, 24, 39, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
}
.payroll-modal {
  background: var(--bg-secondary) ;
  border-radius: 12px;
  width: 90%;
  max-width: 800px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  animation: payrollModalIn 0.2s ease-out;
}
@keyframes payrollModalIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
.payroll-modal-header {
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #f3f4f6;
}
.payroll-modal-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0 0 4px 0;
}
.payroll-modal-subtitle {
  font-size: 13px;
  color: var(--text-primary) ;
  margin: 0;
}
.payroll-modal-close {
  font-size: 24px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: color 0.2s;
}
.payroll-modal-close:hover {
  color: var(--text-primary) ;
}
.payroll-modal-body {
  padding: 24px;
}
.payroll-modal-top {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
}
.payroll-modal-value-box {
  background: #e0f2fe;
  border-radius: 12px;
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 160px;
}
.payroll-modal-value-label {
  font-size: 11px;
  font-weight: 700;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.payroll-modal-value-number {
  font-size: 42px;
  font-weight: 700;
  color: var(--text-primary) ;
  line-height: 1;
}
.payroll-modal-info {
  flex: 1;
}
.payroll-modal-info-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.payroll-modal-info-icon {
  color: #3b82f6;
  font-size: 18px;
}
.payroll-modal-info-icon-purple {
  color: #a855f7;
  font-size: 18px;
}
.payroll-modal-info-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.payroll-modal-info-desc {
  font-size: 14px;
  color: var(--text-primary) ;
  margin: 0 0 0 26px;
}
.payroll-modal-purple-box {
  background: #faf5ff;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 8px 0 0 26px;
}
.payroll-modal-purple-box ul {
  margin: 0;
  padding-left: 20px;
  color: #7e22ce;
  font-size: 13px;
}
.payroll-modal-table-section {
  margin-top: 32px;
}
.payroll-modal-table-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.payroll-modal-table-icon {
  color: #f59e0b;
  font-size: 18px;
}
.payroll-modal-table-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.payroll-modal-table-container {
  border: 1px solid #f3f4f6;
  border-radius: 8px;
  overflow-x: auto;
}
.payroll-modal-table {
  width: 100%;
  border-collapse: collapse;
}
.payroll-modal-table th {
  background: var(--bg-primary) ;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-transform: uppercase;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--border-color) ;
}
.payroll-modal-table td {
  padding: 14px 16px;
  font-size: 13px;
  color: var(--text-primary) ;
  border-bottom: 1px solid #f3f4f6;
}
.payroll-modal-table tr:last-child td {
  border-bottom: none;
}
/* ===== PAYROLL ENTRY ===== */
.pe-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 28px 18px 18px;
  background: var(--hover-bg) ;
}
.pe-toolbar-heading {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.pe-title {
  margin: 0;
  font-size: 21px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--text-primary) ;
}
.pe-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.pe-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.pe-view-btn.active {
  background: #e0f2fe;
  color: #0369a1;
  border-color: #bae6fd;
}
.pe-view-btn:hover {
  background: #e5e7eb;
}
.pe-saved-filters-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.pe-saved-filters-btn:hover {
  background: var(--bg-primary) ;
}
.pe-filter-count {
  background: #e5e7eb;
  color: var(--text-primary) ;
  border-radius: 10px;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 600;
}
.pe-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.pe-icon-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.pe-add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  color: var(--text-primary) ;
  background: #22c55e;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}
.pe-add-btn:hover {
  background: #16a34a;
}
.pe-add-btn:active {
  transform: translateY(1px);
}
.pe-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 40px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.pe-secondary-btn:hover {
  background: var(--hover-bg) ;
  border-color: var(--border-color) ;
}
@media (max-width: 768px) {
  .pe-toolbar {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px 24px;
  }

  .pe-toolbar-actions {
    justify-content: flex-start;
    width: 100%;
  }
}
/* Filter Bar */
.pe-filter-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 24px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}
.pe-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
}
.pe-filter-close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  padding: 0;
  font-family: inherit;
}
.pe-filter-close:hover {
  color: var(--text-primary) ;
}
.pe-filter-reset {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  font-family: inherit;
}
.pe-filter-reset:hover {
  color: var(--text-primary) ;
}
/* List table */
.pe-list-wrap {
  flex: 1;
  overflow-y: scroll;
  padding: 14px 0 24px 18px;
  background: var(--hover-bg) ;
}
.pe-list-card {
  overflow: visible;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.pe-list-header,
.pe-list-row {
  display: grid;
  grid-template-columns: 110px minmax(220px, 1.35fr) minmax(190px, 1fr) minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(145px, 0.85fr) minmax(105px, 0.65fr) 90px;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
}
.pe-list-header {
  min-height: 41px;
  padding: 0 30px;
  border-bottom: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pe-list-row {
  min-height: 60px;
  padding: 0 30px;
  border-bottom: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.pe-list-row:last-child {
  border-bottom: none;
}
.pe-list-row:hover {
  background: var(--hover-bg) ;
}
/* Actions in list rows */
.pe-row-edit, .pe-row-delete {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  padding: 6px !important;
  border-radius: 6px !important;
}
.pe-row-edit {
  color: #64748b !important;
}
.pe-row-edit:hover {
  color: #111827 !important;
  background: var(--hover-bg) !important;
}
.pe-row-delete {
  color: #ef4444 !important;
}
.pe-row-delete:hover {
  color: #dc2626 !important;
  background: #fef2f2 !important;
}
.pe-row-id {
  color: #1e3a5f;
  font-weight: 500;
}
.pe-row-company {
  color: var(--text-primary) ;
  font-weight: 700;
}
.pe-row-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--text-primary) ;
  cursor: pointer;
}
.pe-row-edit:hover {
  background: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.pe-list-empty {
  display: none !important;
}
/* Add Modal */
.pe-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
}
.pe-modal {
  background: var(--bg-secondary) ;
  border-radius: 12px;
  width: 90%;
  max-width: 540px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  animation: peModalIn 0.2s ease-out;
}
@keyframes peModalIn {
  from {
    opacity: 0;
    transform: scale(0.96);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
.pe-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid #f3f4f6;
}
.pe-modal-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0;
}
.pe-modal-close {
  font-size: 20px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: color 0.2s;
}
.pe-modal-close:hover {
  color: var(--text-primary) ;
}
.pe-modal-body {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pe-form-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pe-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.pe-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.pe-required {
  color: #ef4444;
}
.pe-input,
.pe-select {
  padding: 9px 12px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 7px;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  outline: none;
  transition: border 0.15s, background 0.15s;
}
.pe-input:focus,
.pe-select:focus {
  border-color: #3b82f6;
  background: var(--bg-secondary) ;
}
.pe-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 11px;
  padding-right: 32px;
}
.pe-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid #f3f4f6;
}
.pe-btn-cancel {
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 7px;
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s;
}
.pe-btn-cancel:hover {
  background-color: var(--hover-bg) ;
}
.pe-btn-save {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  border: none;
  border-radius: 7px;
  background: #111827;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s;
}
.pe-btn-save:hover {
  background: #1f2937;
}
.pe-btn-save:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/* ===== NEW PAYROLL ENTRY FORM ===== */
.npe-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  border-bottom: 1px solid var(--border-color) ;
  background: var(--bg-secondary) ;
}
.npe-not-saved {
  font-size: 12px;
  font-weight: 600;
  color: #f97316;
  margin-left: 10px;
}
/* FORM & LIST SCROLL WRAPPERS */
.pe-form-scroll {
  flex-grow: 1;
  overflow-y: auto;
  padding: 28px 40px;
}
.pe-list-wrap {
  flex-grow: 1;
  overflow-y: scroll;
  padding: 0 0 28px 32px;
}
.npe-save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  background: #22c55e;
  color: var(--text-primary) ;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}
.npe-save-btn:hover {
  background: #16a34a;
}
.npe-save-btn:active {
  transform: translateY(1px);
}
.npe-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--border-color) ;
  background: var(--bg-secondary) ;
}
.npe-tab {
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  margin-bottom: -1px;
  letter-spacing: 0.1px;
}
.npe-tab:hover {
  color: #16a34a;
}
.npe-tab--active {
  color: #16a34a;
  font-weight: 500;
  border-bottom-color: #16a34a;
}
.npe-body {
  padding: 28px 40px;
  max-width: 100%;
}
.npe-form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 40px;
}
\n\n.npe-form-grid-1 {
  display: flex;
  gap: 40px;
  margin-top: 18px;
}
.npe-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.npe-field--half {
  flex: 0 0 calc(50% - 20px);
}
.npe-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.npe-req {
  color: #ef4444;
}
.npe-input {
  padding: 8px 12px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  outline: none;
  transition: border-color 0.15s, background 0.15s;
}
.npe-input:focus {
  border-color: #6366f1;
  background: var(--bg-secondary) ;
}
.npe-input--readonly {
  color: var(--text-primary) ;
  cursor: default;
}
.npe-input--required {
  border-color: #fca5a5;
  background: #fff7f7;
}
.npe-select {
  padding: 8px 32px 8px 12px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 11px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  cursor: pointer;
  transition: border-color 0.15s;
}
.npe-select:focus {
  border-color: #6366f1;
  background: var(--bg-secondary) ;
}
.npe-hint {
  font-size: 11px;
  color: #3b82f6;
  margin-top: 2px;
}
.npe-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 20px 0;
}
.npe-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
}
.npe-checkbox-label input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: #111827;
  cursor: pointer;
}
.npe-section-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin-bottom: 14px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border-color) ;
}
/* Employee Table */
.npe-emp-table {
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
.npe-emp-thead {
  display: grid;
  grid-template-columns: 36px 44px 2fr 1fr 1fr 1.2fr 1.5fr 1fr 36px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  overflow-x: auto;
}
.npe-emp-th {
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--text-primary) ;
}
.npe-th-check {
  display: flex;
  align-items: center;
  justify-content: center;
}
.npe-th-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
}
.npe-emp-row {
  display: grid;
  grid-template-columns: 36px 44px 2fr 1fr 1fr 1.2fr 1.5fr 1fr 36px;
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.1s;
}
.npe-emp-row:last-child {
  border-bottom: none;
}
.npe-emp-row:hover {
  background: var(--bg-primary) ;
}
.npe-emp-td {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
}
.npe-emp-empty {
  padding: 20px;
  text-align: center;
  font-size: 13px;
  color: var(--text-primary) ;
}
.npe-add-row-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 5px;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 6px 14px;
  font-weight: 500;
  transition: background 0.15s, border-color 0.15s;
}
.npe-add-row-btn:hover {
  background: var(--bg-primary) ;
  border-color: var(--text-muted) ;
}
.npe-form-grid-1 {
  display: flex;
  gap: 40px;
  margin-top: 18px;
}
.npe-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.npe-field--half {
  flex: 0 0 calc(50% - 20px);
}
.npe-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.npe-req {
  color: #ef4444;
}
.npe-input {
  padding: 8px 12px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  outline: none;
  transition: border-color 0.15s, background 0.15s;
}
.npe-input:focus {
  border-color: #6366f1;
  background: var(--bg-secondary) ;
}
.npe-input--readonly {
  color: var(--text-primary) ;
  cursor: default;
}
.npe-input--required {
  border-color: #fca5a5;
  background: #fff7f7;
}
.npe-select {
  padding: 8px 32px 8px 12px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.5' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 11px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  cursor: pointer;
  transition: border-color 0.15s;
}
.npe-select:focus {
  border-color: #6366f1;
  background: var(--bg-secondary) ;
}
.npe-hint {
  font-size: 11px;
  color: #3b82f6;
  margin-top: 2px;
}
.npe-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 20px 0;
}
.npe-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
}
.npe-checkbox-label input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: #111827;
  cursor: pointer;
}
.npe-section-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin-bottom: 14px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--border-color) ;
}
/* Employee Table */
.npe-emp-table {
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
.npe-emp-thead {
  display: grid;
  grid-template-columns: 36px 44px 2fr 1fr 1fr 1.2fr 1.5fr 1fr 36px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  overflow-x: auto;
}
.npe-emp-th {
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--text-primary) ;
  white-space: nowrap;
}
.npe-th-check {
  display: flex;
  align-items: center;
  justify-content: center;
}
.npe-th-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
}
.npe-emp-row {
  display: grid;
  grid-template-columns: 36px 44px 2fr 1fr 1fr 1.2fr 1.5fr 1fr 36px;
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.1s;
}
.npe-emp-row:last-child {
  border-bottom: none;
}
.npe-emp-row:hover {
  background: var(--bg-primary) ;
}
.npe-emp-td {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
}
.npe-emp-empty {
  padding: 20px;
  text-align: center;
  font-size: 13px;
  color: var(--text-primary) ;
}
.npe-add-row-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 5px;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 6px 14px;
  font-weight: 500;
  transition: background 0.15s, border-color 0.15s;
}
.npe-add-row-btn:hover {
  background: var(--bg-primary) ;
  border-color: var(--text-muted) ;
}
.pe-badge {
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
}
.pe-badge--draft {
  background: #fef3c7;
  color: #92400e;
}
.pe-badge--submitted {
  background: #e0f2fe;
  color: #0369a1;
}
/* ===== SALARY SLIP ===== */
.ss-view-btn,
.ss-saved-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.ss-view-btn:hover,
.ss-saved-btn:hover {
  background-color: var(--hover-bg) ;
}
.ss-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.ss-icon-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.ss-clock-btn {
  color: #f59e0b;
  border-color: #fde68a;
  background: #fffbeb;
}
.ss-clock-btn:hover {
  background: #fef3c7;
}
.ss-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 20px;
  border-bottom: 1px solid #f3f4f6;
  background: var(--bg-secondary) ;
  flex-wrap: wrap;
}
.ss-filter-inputs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ss-filter-chip {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 5px;
  padding: 4px 8px;
}
.ss-filter-input {
  border: none;
  background: transparent;
  font-size: 12.5px;
  font-family: inherit;
  color: var(--text-primary) ;
  outline: none;
  width: 100px;
}
.ss-filter-input::-moz-placeholder {
  color: var(--text-primary) ;
}
.ss-filter-input::placeholder {
  color: var(--text-primary) ;
}
.ss-filter-like {
  font-size: 13px;
  color: var(--text-primary) ;
  flex-shrink: 0;
}
.ss-filter-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ss-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.15s;
}
.ss-filter-btn:hover {
  background-color: var(--hover-bg) ;
}
.ss-filter-remove-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.ss-filter-remove-btn:hover {
  background: #fee2e2;
  color: #ef4444;
}
.ss-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  font-size: 12.5px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.15s;
}
.ss-sort-btn:hover {
  background-color: var(--hover-bg) ;
}
.ss-filter-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 20px;
  border-bottom: 1px solid #f3f4f6;
  background: var(--bg-secondary) ;
  flex-wrap: wrap;
}
/* EMPTY STATE */
.ss-empty-state {
  display: none !important;
}
.ss-empty-icon {
  color: var(--text-primary) ;
  margin-bottom: 4px;
}
.ss-empty-text {
  font-size: 13.5px;
  color: var(--text-primary) ;
  margin: 0;
}
.ss-empty-link {
  background: transparent;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  padding: 5px 14px;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s;
}
.ss-empty-link:hover {
  background: var(--bg-primary) ;
  border-color: var(--text-muted) ;
  color: var(--text-primary) ;
}
/* ===== NEW SALARY SLIP FORM ===== */
.nss-section-heading {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-bottom: 16px;
}
.nss-divider {
  border: none;
  border-top: 1px solid var(--border-color) ;
  margin: 28px 0;
}
.nss-note {
  font-size: 13px;
  color: var(--text-primary) ;
  margin-bottom: 10px;
}
.nss-settings-info {
  font-size: 13px;
  color: var(--text-primary) ;
  line-height: 1.9;
  margin-bottom: 14px;
}
.nss-settings-info p {
  margin: 0;
}
.nss-settings-info strong {
  color: var(--text-primary) ;
}
.nss-config-link {
  font-size: 13px;
  color: var(--text-primary) ;
  margin: 0;
}
.nss-link {
  color: #2563eb;
  cursor: pointer;
  text-decoration: underline;
}
.nss-link:hover {
  color: #1d4ed8;
}
.nss-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.nss-subsection-heading {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-bottom: 10px;
}
.nss-add-row-btn {
  background-color: var(--hover-bg) ;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-primary) ;
  font-weight: 500;
  cursor: pointer;
  padding: 6px 12px;
  text-decoration: none;
  transition: background 0.15s;
}
.nss-add-row-btn:hover {
  background: #e5e7eb;
}
.npe-emp-table {
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 12px;
  background: var(--bg-secondary) ;
}
.npe-emp-thead {
  display: grid;
  grid-template-columns: 36px 44px 2fr 1fr 1fr 1.2fr 1.5fr 1fr 36px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}
.npe-emp-th {
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--text-primary) ;
  white-space: nowrap;
  text-align: left;
}
.npe-emp-row {
  display: grid;
  grid-template-columns: 36px 44px 2fr 1fr 1fr 1.2fr 1.5fr 1fr 36px;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
}
.npe-emp-row:last-child {
  border-bottom: none;
}
.npe-emp-td {
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
}
.npe-emp-empty {
  padding: 24px;
  text-align: center;
  font-size: 13px;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
}
.npe-th-check {
  display: flex;
  align-items: center;
  justify-content: center;
}
.npe-th-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  cursor: pointer;
}
.npe-th-icon:hover {
  color: var(--text-primary) ;
}
/* ===== SALARY WITHHOLDING ===== */
.sw-toolbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.sw-toolbar-btn:hover {
  background: #e5e7eb;
}
.sw-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.sw-icon-btn:hover {
  background: #e5e7eb;
  color: var(--text-primary) ;
}
.sw-add-btn {
  border-radius: 8px !important;
}
/* Column filter bar */
.sw-filter-bar {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
  padding: 6px 12px;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.sw-filter-cell {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  min-width: 100px;
  padding: 0 6px;
  border-right: 1px solid var(--border-color) ;
}
.sw-filter-cell:last-of-type {
  border-right: none;
}
.sw-filter-input,
.sw-filter-select {
  flex: 1;
  border: none;
  outline: none;
  font-size: 12.5px;
  font-family: inherit;
  color: var(--text-primary) ;
  background: transparent;
  padding: 4px 0;
  min-width: 0;
}
.sw-filter-select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.sw-filter-sort-icon {
  color: var(--text-primary) ;
  flex-shrink: 0;
  cursor: pointer;
}
.sw-filter-right {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  padding-left: 10px;
  flex-shrink: 0;
}
.sw-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  font-size: 12.5px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
}
.sw-sort-btn:hover {
  background: #e5e7eb;
}
.sw-sort-btn--active {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}
/* Empty state */
.sw-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  gap: 12px;
}
.sw-empty-icon {
  color: var(--text-primary) ;
}
.sw-empty-title {
  font-size: 14px;
  color: var(--text-primary) ;
  margin: 0;
}
.sw-empty-cta {
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.sw-empty-cta:hover {
  background: var(--bg-primary) ;
  border-color: var(--text-muted) ;
}
/* List header/rows */
.sw-list-header,
.sw-list-row {
  display: grid;
  grid-template-columns: 0.8fr 1fr 1.2fr 1fr 0.8fr;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  padding: 0 24px;
}
.sw-list-header {
  min-height: 40px;
  border-bottom: 1px solid var(--border-color) ;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-primary) ;
}
.sw-list-row {
  min-height: 56px;
  border-bottom: 1px solid #f3f4f6;
  font-size: 13.5px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s;
}
.sw-list-row:last-child {
  border-bottom: none;
}
.sw-list-row:hover {
  background: var(--bg-primary) ;
}
/* ===== NEW SALARY WITHHOLDING ===== */
.nsw-form-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 40px;
}
.nsw-section-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 16px 0 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.nsw-section-toggle:hover {
  color: var(--text-primary) ;
}
.nsw-textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px 14px;
  font-size: 13.5px;
  font-family: inherit;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  resize: vertical;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.nsw-textarea:focus {
  border-color: #6b7280;
  background: var(--bg-secondary) ;
}
/* ===== PAYROLL REPORTS ===== */
.payroll-report-page {
  min-width: 0;
}
.payroll-report-titlebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 24px 32px 16px;
}
.payroll-report-title {
  margin: 0;
  min-width: 0;
  color: var(--text-primary) ;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
.payroll-report-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.payroll-report-page .pe-secondary-btn:focus-visible {
  outline: 2px solid rgba(16, 185, 129, 0.32);
  outline-offset: 2px;
}
.rpt-filter-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) auto;
  align-items: end;
  gap: 14px;
  margin: 0 32px 18px;
  padding: 16px;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  background: var(--bg-secondary) ;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.rpt-filter-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}
.rpt-filter-label {
  color: var(--text-primary) ;
  font-size: 12px;
  font-weight: 700;
}
.rpt-filter-input,
.rpt-filter-select {
  width: 100%;
  min-height: 38px;
  box-sizing: border-box;
  border: 1px solid #dbe3ef;
  border-radius: 8px;
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font: inherit;
  font-size: 13px;
  outline: none;
  transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}
.rpt-filter-input {
  padding: 0 12px;
}
.rpt-filter-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0 34px 0 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2.3' stroke='%2364758b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 11px center;
  background-size: 12px;
  cursor: pointer;
}
.rpt-filter-input:focus,
.rpt-filter-select:focus {
  border-color: #10b981;
  background: var(--bg-secondary) ;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}
.rpt-filter-btn {
  min-width: 104px;
}
.payroll-report-page .pe-list-wrap {
  padding: 0 32px 30px;
}
.payroll-report-page .pe-list-card {
  min-width: 860px;
  border-radius: 8px;
}
.payroll-report-page .pe-list-header {
  background: var(--hover-bg) ;
}
.payroll-report-page .pe-list-header,
.payroll-report-page .pe-list-row {
  padding: 0 22px;
}
.rpt-empty-state {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 44px 24px;
  text-align: center;
  color: var(--text-primary) ;
}
.rpt-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 8px;
  background: #ecfdf5;
  color: #047857;
  font-size: 24px;
}
.rpt-empty-title {
  margin: 8px 0 0;
  color: var(--text-primary) ;
  font-size: 15px;
  font-weight: 700;
}
.rpt-empty-desc {
  margin: 0;
  max-width: 360px;
  color: var(--text-primary) ;
  font-size: 13px;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .payroll-report-titlebar {
    align-items: flex-start;
    flex-direction: column;
    margin: 20px 20px 14px;
  }

  .rpt-filter-bar {
    grid-template-columns: 1fr;
    margin: 0 20px 16px;
  }

  .payroll-report-page .pe-list-wrap {
    padding: 0 20px 24px;
  }
}
@media (max-width: 560px) {
  .payroll-report-actions {
    width: 100%;
  }

  .payroll-report-actions .pe-secondary-btn,
  .rpt-filter-btn {
    flex: 1;
  }
}
/* ==========================================================================
   HR PAYROLL DASHBOARD (NEW LAYOUT)
   ========================================================================== */
.hr-payroll-dashboard {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* KPI Grid */
.hr-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.hr-kpi-card {
  background: var(--bg-secondary) ;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 17.5px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  box-shadow: none;
}
.hr-kpi-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.hr-kpi-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hr-kpi-label {
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
  line-height: 1;
}
.hr-kpi-value {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary) ;
  line-height: 1;
}
.hr-kpi-trend {
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}
.hr-kpi-trend-up {
  color: #20c997;
}
.hr-kpi-trend-down {
  color: #f59e0b;
}
/* Middle & Bottom Grids */
.hr-middle-grid,
.hr-bottom-grid {
  display: flex;
  gap: 16px;
}
.hr-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.hr-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.hr-card-header h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
/* Progress Body */
.hr-progress-body {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
}
.hr-donut-container-large {
  width: 130px;
  height: 130px;
  position: relative;
}
.hr-donut-svg {
  width: 100%;
  height: 100%;
}
.hr-donut-percent {
  font-size: 20px;
  font-weight: 700;
  fill: #111827;
}
.hr-donut-label {
  font-size: 10px;
  fill: #6b7280;
}
.hr-progress-details {
  flex: 1;
}
.hr-progress-item-label {
  font-size: 13px;
  color: var(--text-primary) ;
  margin-bottom: 4px;
}
.hr-progress-item-val {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-bottom: 8px;
}
.hr-progress-bar-bg {
  width: 100%;
  height: 8px;
  background-color: var(--hover-bg) ;
  border-radius: 4px;
  overflow: hidden;
}
.hr-progress-bar-fill {
  height: 100%;
  border-radius: 4px;
}
/* Status List */
.hr-status-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
  justify-content: center;
}
.hr-status-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hr-status-left {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
}
.hr-status-right {
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 600;
}
/* Monthly Trend Chart */
.hr-trend-legend {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.hr-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-primary) ;
}
.hr-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
}
.hr-bar-chart {
  width: 100%;
  height: 200px;
  margin-top: auto;
}
/* Donut Split (Bottom Cards) */
.hr-donut-split {
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 1;
}
.hr-donut-container-med {
  width: 110px;
  height: 110px;
}
.hr-donut-legend {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hr-legend-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.hr-legend-left {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hr-legend-name {
  color: var(--text-primary) ;
}
.hr-legend-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hr-legend-val {
  font-weight: 600;
  color: var(--text-primary) ;
}
.hr-legend-pct {
  color: var(--text-primary) ;
  font-size: 12px;
  width: 45px;
  text-align: right;
}
.hr-btn-outline {
  margin-top: 20px;
  padding: 10px;
  background: var(--bg-secondary) ;
  border: 1px solid #10b981;
  color: #10b981;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
}
.hr-btn-outline:hover {
  background: #f0fdf4;
}
/* Quick Actions */
.hr-quick-actions {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.hr-action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-align: center;
}
.hr-action-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: transform 0.2s;
}
.hr-action-btn:hover .hr-action-icon {
  transform: translateY(-2px);
}
.hr-action-btn span {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-primary) ;
  line-height: 1.3;
}
.hr-view-all {
  font-size: 13px;
  color: #10b981;
  font-weight: 500;
  cursor: pointer;
}
.hr-view-all:hover {
  text-decoration: underline;
}
.hr-recent-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.hr-recent-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hr-recent-icon {
  font-size: 16px;
}
.hr-recent-text {
  font-size: 13px;
  color: var(--text-primary) ;
  flex: 1;
}
.hr-recent-time {
  font-size: 12px;
  color: var(--text-primary) ;
}
/* NEW PAYROLL ENTRY RESPONSIVE GRID */
.payroll-entry-container {
  width: 100%;
  padding: 24px;
}
.payroll-entry-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 32px;
  align-items: flex-start;
}
.payroll-entry-main {
  grid-column: span 12;
}
.payroll-entry-sidebar {
  grid-column: span 12;
}
.payroll-entry-sidebar-sticky {
  position: sticky;
  top: 24px;
}
@media (min-width: 992px) {
  .payroll-entry-main {
    grid-column: span 12;
  }
  .payroll-entry-sidebar {
    grid-column: span 12;
  }
}
@media (min-width: 1200px) {
  .payroll-entry-main {
    grid-column: span 7;
  }
  .payroll-entry-sidebar {
    grid-column: span 5;
  }
}
@media (min-width: 1400px) {
  .payroll-entry-main {
    grid-column: span 8;
  }
  .payroll-entry-sidebar {
    grid-column: span 4;
  }
}
.payroll-entry-filters-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 768px) {
  .payroll-entry-filters-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.pd-action-btn-outline {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border: 1px solid var(--border-color) ;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
}
.pd-action-btn-outline:hover {
  background-color: var(--hover-bg) ;
}
.pd-btn-green {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #22c55e;
  color: white;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
}
.pd-btn-green:hover {
  background: #16a34a;
}
/* EXACT MATCH EXPENSES SEARCH BAR */
.topbar-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: var(--hover-bg) ;
  border-radius: 14px;
  padding: 0 14px;
  height: 34px;
  width: 320px;
  border: 1px solid transparent;
  transition: border-color 0.2s, background-color 0.2s;
}
.topbar-search-bar:focus-within {
  background: var(--bg-secondary) ;
  border-color: var(--border-color) ;
}
.topbar-search-icon {
  color: var(--text-primary) ;
  font-size: 14px;
  flex-shrink: 0;
}
input[type="text"].topbar-search-input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 12.5px !important;
  color: #374151 !important;
  width: 100% !important;
  font-family: inherit !important;
  min-height: auto !important;
  height: auto !important;
  box-shadow: none !important;
  padding: 0 !important;
}
input[type="text"].topbar-search-input::-moz-placeholder {
  color: var(--text-muted) !important;
}
input[type="text"].topbar-search-input::placeholder {
  color: var(--text-muted) !important;
}
/* LIST PAGE UI - To Match Expenses */
.list-page-header {
  padding: 16px 24px 4px;
  margin-bottom: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.list-page-title-meta h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary) ;
}
.list-page-subtitle {
  margin: 0;
  color: var(--text-primary) ;
  font-size: 14px;
  margin-top: 4px;
}
.list-page-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-bottom: 2px;
}
.expenses-style-btn {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background-color 0.2s, border-color 0.2s;
}
.expenses-style-btn:hover {
  background-color: var(--hover-bg) ;
}
.expenses-style-primary-btn {
  background-color: #22c55e;
  color: white;
  border: none;
  border-radius: 6px;
  height: 32px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background-color 0.2s;
  box-shadow: none;
}
.expenses-style-primary-btn:hover {
  background-color: #16a34a;
}
/* EXPENSES STYLE TABLE LIST WRAP */
.payroll-list-wrap-expenses-style {
  padding: 24px; 
}
.payroll-table-container-expenses-style {
  background: var(--bg-secondary) ;
  border-radius: 8px;
  border: 1px solid var(--border-color) ;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  overflow: visible;
}
.payroll-table-header-expenses-style {
  background: var(--bg-secondary) ;
  padding: 12px 24px;
  border-bottom: 1px solid var(--border-color) ;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.payroll-table-row-expenses-style {
  padding: 14px 24px;
  border-bottom: 1px solid var(--border-color) ;
  align-items: center;
  font-size: 13px;
  background: var(--bg-secondary) ;
}
.payroll-table-row-expenses-style:last-child {
  border-bottom: none;
}

.lc-container {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.lc-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.lc-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.lc-filters-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.lc-filter-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.lc-filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Buttons */
.lc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Inter', sans-serif;
  height: 32px;
}

.lc-btn:hover {
  background-color: #e5e7eb;
}

.lc-btn-icon-only {
  padding: 6px 8px;
}

.lc-btn-icon {
  font-size: 14px;
  color: var(--text-primary) ;
}

.lc-chevron {
  font-size: 10px;
  color: var(--text-primary) ;
  margin-left: 2px;
}

.lc-clear-icon {
  font-size: 11px;
  margin-left: 4px;
  color: var(--text-primary) ;
}

.lc-btn-primary {
  background-color: #111827;
  color: white;
}

.lc-btn-primary:hover {
  background-color: var(--text-primary) ;
}

.lc-btn-dark {
  background-color: #1a1a1a;
  color: white;
  border-radius: 4px;
  padding: 6px 16px;
}

.lc-btn-dark:hover {
  background-color: #000;
}

/* Dropdowns */
.lc-dropdown-wrapper {
  position: relative;
}

.lc-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 180px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 4px 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
}

.lc-dropdown-menu-right {
  left: auto;
  right: 0;
}

.lc-list-view-menu {
  min-width: 100%;
}

.lc-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background 0.15s;
}

.lc-dropdown-item:hover {
  background-color: var(--hover-bg) ;
}

.lc-dd-icon {
  font-size: 15px;
  color: var(--text-primary) ;
}

.lc-has-shortcut {
  justify-content: space-between;
}

.lc-shortcut {
  font-size: 11px;
  color: var(--text-primary) ;
}

/* Advanced Filter Popup */
.lc-filter-popup {
  width: 450px;
  padding: 12px;
}

.lc-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}

.lc-input, .lc-select {
  height: 32px;
  border: 1px solid var(--border-color) ;
  border-radius: 4px;
  padding: 0 8px;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  color: var(--text-primary) ;
}

.lc-input {
  width: 120px;
}

.lc-input-blank {
  flex: 1;
}

.lc-select {
  width: 100px;
  background: var(--bg-secondary) ;
}

.lc-remove-filter {
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 12px;
}

.lc-remove-filter:hover {
  color: #ef4444;
}

.lc-filter-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
}

.lc-add-filter {
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  font-weight: 500;
}

.lc-add-filter:hover {
  color: var(--text-primary) ;
}

.lc-filter-footer-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lc-clear-filters-text {
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
}

.lc-clear-filters-text:hover {
  color: var(--text-primary) ;
}

/* Filter Bar Inputs (existing styling) */
.lc-filter-input-group {
  position: relative;
  display: flex;
  align-items: center;
}

.lc-filter-input-group input {
  height: 32px;
  background-color: var(--hover-bg) ;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0 24px 0 10px;
  font-size: 13px;
  color: var(--text-primary) ;
  width: 120px;
  transition: all 0.2s;
}

.lc-filter-input-group input:focus {
  outline: none;
  border-color: var(--border-color) ;
  background: var(--bg-secondary) ;
  width: 140px;
}

.lc-filter-equals {
  position: absolute;
  right: 8px;
  font-size: 14px;
  color: var(--text-primary) ;
}

.lc-filter-chevron {
  position: absolute;
  right: 8px;
  font-size: 10px;
  color: var(--text-primary) ;
}

/* Custom Status Dropdown */
.lc-custom-select-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  width: 100%;
  background: #f4f5f5;
  border: 1px solid #767676;
  border-radius: 0 0 2px 2px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  z-index: 1000;
  display: flex;
  flex-direction: column;
}

.lc-custom-select-item {
  padding: 5px 10px;
  font-size: 14px;
  color: #1a4971;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}

.lc-custom-select-item:not(.lc-custom-select-active):hover {
  background-color: #e5e7eb;
}

.lc-custom-select-active {
  background-color: #1a73e8;
  height: 28px;
  padding: 0;
}
.analog-clock {
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #d1d5db;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hover-bg), #f9fafb);
  box-shadow: 0 10px 25px rgba(148, 163, 184, 0.22);
}

.analog-clock svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.08));
}

.clock-tick-major {
  stroke: #1f2937;
  stroke-width: 2;
  stroke-linecap: round;
}

.clock-tick-minor {
  stroke: #9ca3af;
  stroke-width: 1;
  stroke-linecap: round;
}

.clock-number {
  fill: #111827;
  font: 500 16px Georgia, "Times New Roman", serif;
}

.hour-hand {
  fill: #1f2937;
  stroke: #1f2937; /* added stroke for line support */
}

.minute-hand {
  fill: #111827;
  stroke: #111827; /* added stroke for line support */
}

.second-hand {
  stroke: #ef4444;
  stroke-width: 1.5;
  stroke-linecap: round;
}

.clock-center {
  fill: #111827;
}

.clock-center-dot {
  fill: #ef4444;
}
/* ListViewPage Generic Table and Form Styling */

.list-page-heading {
  padding: 16px 24px 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.list-page-heading .emp-title-container {
  margin-top: 8px;
}

.list-page-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.list-page-heading-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.list-page-container {
  flex-grow: 1;
  overflow-y: visible;
  padding: 24px;
  box-sizing: border-box;
}

.list-page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.list-page-title-meta {
  display: flex;
  flex-direction: column;
}

.list-page-title-meta h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.list-page-subtitle {
  margin: 4px 0 0 0;
  font-size: 13px;
  color: var(--text-primary) ;
}

.add-new-record-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  height: 38px !important;
  padding: 8px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background-color 0.2s;
  box-shadow: none !important;
}

.add-new-record-btn:hover {
  background-color: #16a34a !important;
}

.topbar-select-btn {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  outline: none !important;
  cursor: pointer;
  transition: all 0.2s;
  height: 38px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: none !important;
}

.topbar-select-btn:hover {
  background-color: var(--hover-bg) !important;
  border-color: #94a3b8 !important;
}

/* Dynamic Add Forms */
.list-page-form {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.list-page-form h3 {
  margin: 0 0 16px 0;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  padding-bottom: 8px;
  border-bottom: 1px solid #f3f4f6;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}

.form-field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-field-group label {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-primary) ;
}

.form-field-group input,
.form-field-group select {
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 8px 12px;
  font-size: 13px;
  outline: none;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  transition: border-color 0.2s;
}

.form-field-group input:focus,
.form-field-group select:focus {
  border-color: #10b981;
}

.form-submit-btn {
  background-color: #111827;
  color: var(--text-primary) ;
  border: none;
  border-radius: 10px;
  height: 36px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.form-submit-btn:hover {
  background-color: #374151;
}

/* Filter Input Box */
.list-page-search-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 8px 12px;
  background: var(--bg-secondary) ;
  margin-bottom: 20px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02);
}

.list-page-search-input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 13px;
  width: 100%;
  color: var(--text-primary) ;
  margin-left: 8px;
}

/* Records List Table */
.list-page-table-wrapper {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  overflow-x: auto;
  overflow-y: auto;
  max-height: calc(100vh - 220px);
}

.list-page-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px;
  text-align: center;
}

.list-page-empty-state p {
  margin: 0;
  font-size: 13.5px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.list-page-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.list-page-table thead tr {
  border-bottom: 1px solid #d1d5db;
}

.list-page-table th {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--hover-bg) ;
  padding: 12px 20px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.list-page-table th:first-child {
  border-top-left-radius: 10px;
}

.list-page-table th:last-child {
  border-top-right-radius: 10px;
}

.list-page-table tbody tr {
  border-bottom: 1px solid #f1f3f5;
  transition: background-color 0.12s ease;
}

.list-page-table tbody tr:hover {
  background-color: #f8f9fb;
}

.list-page-table tbody tr:last-child {
  border-bottom: none;
}

.list-page-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.list-page-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

.list-page-table td {
  padding: 14px 20px;
  font-size: 14.5px;
  color: var(--text-primary) ;
  white-space: normal;
  word-break: break-word;
}

.table-record-id {
  font-weight: 500;
  color: var(--text-primary) ;
}

.table-record-val {
  font-weight: 500;
  color: var(--text-primary) ;
}

/* Status classes */
.item-status {
  font-size: 11.5px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
}

.item-status.approved,
.item-status.active {
  background-color: #d1fae5;
  color: #065f46;
}

.item-status.pending,
.item-status.pending-manager-approval {
  background-color: #ffedd5;
  color: #9a3412;
}

.item-status.pending-hr-approval {
  background-color: #e0e7ff;
  color: #3730a3;
}

.item-status.rejected {
  background-color: #fee2e2;
  color: #991b1b;
}

.item-status.draft,
.item-status.inactive {
  background-color: #ffe4e6;
  color: #b91c1c;
}

.item-status.open {
  background-color: #dbeafe;
  color: #1e40af;
}

.item-status.submitted {
  background-color: #e0f2fe;
  color: #0369a1;
}

.item-status.cancelled {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

/* Dark Mode Overrides for Lists and Tables */
body.dark .list-page-title,
body.dark .list-page-title-meta h2 {
  color: var(--text-primary) !important;
}

body.dark .list-page-subtitle {
  color: var(--text-secondary) !important;
}

body.dark .list-page-search-wrapper {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: none !important;
}

body.dark .list-page-search-input {
  color: var(--text-primary) !important;
}

body.dark .list-page-table-wrapper {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .list-page-table th {
  background-color: var(--table-header-bg) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

body.dark .list-page-table tbody tr {
  border-bottom-color: var(--border-color) !important;
}

body.dark .list-page-table tbody tr:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .list-page-table td {
  color: var(--text-secondary) !important;
}

body.dark .table-record-val {
  color: var(--text-primary) !important;
}

body.dark .table-record-id {
  color: var(--text-primary) !important;
}

body.dark .item-status.approved,
body.dark .item-status.active {
  background-color: rgba(6, 95, 70, 0.2) !important;
  color: #34d399 !important;
}

body.dark .item-status.pending,
body.dark .item-status.pending-manager-approval {
  background-color: rgba(154, 52, 18, 0.2) !important;
  color: #fbbf24 !important;
}

body.dark .item-status.pending-hr-approval {
  background-color: rgba(55, 48, 163, 0.2) !important;
  color: #818cf8 !important;
}

body.dark .item-status.rejected {
  background-color: rgba(153, 27, 27, 0.2) !important;
  color: #f87171 !important;
}

body.dark .item-status.draft,
body.dark .item-status.inactive {
  background-color: rgba(153, 27, 27, 0.2) !important;
  color: #f87171 !important;
}

body.dark .item-status.open {
  background-color: rgba(30, 64, 175, 0.2) !important;
  color: #60a5fa !important;
}

body.dark .item-status.submitted {
  background-color: rgba(3, 105, 161, 0.2) !important;
  color: #38bdf8 !important;
}

body.dark .item-status.cancelled {
  background-color: rgba(75, 85, 99, 0.2) !important;
  color: var(--text-primary) !important;
}

body.dark .export-records-btn,
body.dark .import-records-btn,
body.dark .topbar-select-btn {
  background: var(--card-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

body.dark .export-records-btn:hover,
body.dark .import-records-btn:hover,
body.dark .topbar-select-btn:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .view-dropdown-overlay {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3) !important;
}

body.dark .view-dropdown-option {
  color: var(--text-primary) !important;
}

body.dark .view-dropdown-option:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .report-summary-row td {
  color: var(--text-primary) !important;
  border-top: 1px solid var(--border-color) !important;
}

body.dark .empty-state-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .empty-state-title {
  color: var(--text-primary) !important;
}

body.dark .empty-state-icon {
  color: var(--text-muted) !important;
}

body.dark .empty-state-icon-wrapper {
  background-color: var(--hover-bg) !important;
}

body.dark .list-page-form {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .list-page-form h3 {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-color) !important;
}

body.dark .form-field-group label {
  color: var(--text-secondary) !important;
}
.payroll-topbar-btn { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 6px; color: var(--text-primary) ; cursor: pointer; font-size: 16px; transition: all 0.2s ease; }
.payroll-topbar-btn:hover { background-color: var(--hover-bg) ; color: var(--text-primary) ; }.recruitment-layout {
  display: flex;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  background: var(--bg-primary) ;
}

.recruitment-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
}

.recruitment-content-wrapper {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.recruitment-main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.recruitment-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.recruitment-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-primary) ;
}

.recruitment-home-crumb-icon {
  font-size: 16px;
  color: var(--text-primary) ;
  cursor: pointer;
}

.recruitment-crumb-separator {
  color: var(--text-primary) ;
}

.recruitment-crumb-clickable {
  cursor: pointer;
  color: var(--text-primary) ;
}

.recruitment-crumb-clickable:hover {
  text-decoration: underline;
}

.recruitment-current-crumb {
  font-weight: 500;
  color: var(--text-primary) ;
}

.recruitment-body {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.recruitment-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.recruitment-stat-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  min-height: 120px;
  justify-content: space-between;
}

.recruitment-stat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--text-primary) ;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.recruitment-stat-title-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.recruitment-stat-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.recruitment-stat-value {
  font-size: 26px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin-top: 8px;
  margin-bottom: 8px;
}

.recruitment-stat-trend {
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 500;
}

.recruitment-stat-trend.green {
  color: #16a34a;
}

.recruitment-stat-trend.red {
  color: #dc2626;
}

.recruitment-panels-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

.recruitment-panel {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  min-height: 120px;
  display: flex;
  flex-direction: column;
}

.recruitment-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.recruitment-panel-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary) ;
}

.recruitment-panel-subtitle {
  font-size: 12px;
  color: var(--text-primary) ;
  margin-top: 4px;
}

.recruitment-panel-actions {
  display: flex;
  gap: 8px;
  color: var(--text-primary) ;
}

.recruitment-panel-actions svg {
  cursor: pointer;
  padding: 4px;
  border: 1px solid transparent;
  border-radius: 4px;
}

.recruitment-panel-actions svg:hover {
  background-color: var(--hover-bg) ;
  border-color: var(--border-color) ;
}

.recruitment-panel-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  background: var(--bg-primary) ;
  border-radius: 6px;
  color: var(--text-primary) ;
  font-size: 13px;
  border: 1px solid var(--border-color) ;
  padding-top: 12px;
  padding-bottom: 12px;
}

.recruitment-panel-content-borderless {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  font-size: 13px;
}

.recruitment-view-list-btn {
  display: block;
  width: 100%;
  padding: 8px;
  text-align: center;
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  margin-top: 16px;
}

.recruitment-view-list-btn:hover {
  background: #e5e7eb;
}

/* ===== NEW JOB OPENING FORM (Exact Mockup Style) ===== */
.njo-layout {
  display: flex;
  flex-direction: column;
  background: var(--bg-primary) ;
  min-height: 100vh;
  font-family: 'Inter', sans-serif;
  flex: 1;
  width: 100%;
  overflow-y: auto;
}

.njo-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.njo-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  min-width: 0;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
  /* Firefox */
}

.njo-breadcrumbs::-webkit-scrollbar {
  display: none;
  /* Chrome/Safari */
}

.njo-crumb {
  color: var(--text-primary) ;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

.njo-crumb:hover {
  color: var(--text-primary) ;
}

.njo-crumb-separator {
  color: var(--text-primary) ;
  font-weight: 400;
  margin: 0 2px;
  flex-shrink: 0;
}

.njo-crumb-active {
  color: var(--text-primary) ;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

.njo-save-btn {
  background-color: #10b981;
  color: var(--text-primary) ;
  border: none;
  border-radius: 6px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s;
}

.njo-save-btn:hover {
  background-color: #059669;
}

.njo-container {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  box-shadow: none;
  margin: 24px 32px 32px 32px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.njo-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.njo-section-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  background: var(--bg-secondary) ;
  border-radius: 12px;
  border: 1px solid #f3f4f6;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.njo-section-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 12px 16px;
  margin: 0;
}

.njo-divider {
  border: none;
  border-top: 1px solid #f3f4f6;
  margin: 8px 0;
}

.njo-form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 48px;
}

.njo-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.njo-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.njo-req {
  color: #ef4444;
}

.njo-input,
.njo-select {
  padding: 10px 14px;
  font-size: 13px;
  font-family: inherit;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.njo-input::-moz-placeholder {
  color: var(--text-primary) ;
}

.njo-input::placeholder {
  color: var(--text-primary) ;
}

.njo-input:focus,
.njo-select:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 1px #3b82f6;
}

.njo-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
  padding-right: 36px;
  cursor: pointer;
}

.njo-hint {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: -4px;
}

.njo-checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
}

.njo-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #10b981;
  cursor: pointer;
  border: 1px solid var(--border-color) ;
  border-radius: 4px;
}

/* Text Editor */
.njo-text-editor {
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  overflow: hidden;
  background: var(--bg-secondary) ;
}

.njo-text-editor-toolbar {
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
  padding: 10px 16px;
  display: flex;
  gap: 20px;
  color: var(--text-primary) ;
  font-size: 13px;
  align-items: center;
}

.njo-text-editor-toolbar span {
  cursor: pointer;
  transition: color 0.15s;
}

.njo-text-editor-toolbar span:hover {
  color: var(--text-primary) ;
}

.njo-text-editor-toolbar .icon-group {
  display: flex;
  gap: 16px;
  align-items: center;
}

.njo-textarea {
  width: 100%;
  min-height: 140px;
  padding: 16px;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  resize: vertical;
  outline: none;
  font-size: 13px;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
}

.njo-textarea::-moz-placeholder {
  color: var(--text-primary) ;
}

.njo-textarea::placeholder {
  color: var(--text-primary) ;
}

.njo-tabs {
  display: flex;
  gap: 24px;
  padding: 0 32px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.njo-tab {
  padding: 12px 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  position: relative;
}

.njo-tab-active {
  color: #22c55e;
  font-weight: 600;
}

.njo-tab-active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #22c55e;
}

.njo-not-saved {
  font-size: 11px;
  font-weight: 500;
  color: #c2410c;
  background-color: #ffedd5;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: 8px;
}

.njo-save-btn {
  background-color: #22c55e;
  color: var(--text-primary) ;
  border: none;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s;
}

.njo-save-btn:hover {
  background-color: #16a34a;
}

.njo-input-gray {
  background-color: var(--hover-bg) !important;
  border: none !important;
}

.njo-input-gray:focus {
  box-shadow: 0 0 0 2px #e5e7eb !important;
}

/* ==========================================
   RECRUITMENT KPI CARDS (MATCHING HR SETUP DASHBOARD)
   ========================================== */

.recruitment-layout .kpi-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  .recruitment-layout .kpi-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .recruitment-layout .kpi-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Card Container: 298px x 125px (in grid), padding 17.5px */
.recruitment-layout .kpi-card {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 10px !important;
  padding: 17.5px !important;
  height: 125px !important;
  min-height: 125px !important;
  max-height: 125px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

.recruitment-layout .kpi-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  transform: translateY(-1px) !important;
}

/* Content Container: 261.4px x 88.4px */
.recruitment-layout .kpi-card-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  flex-grow: 1 !important;
}

/* Title: 82.2px x 12.8px, 11px font, #0F172A, font-weight 600 */
.recruitment-layout .kpi-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Card Value: 18.89px x 28px, 28px font, #1E293B, font-weight 700 */
.recruitment-layout .kpi-card-value {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  line-height: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Trend Section: 136.64px x 16px, 13px font, #F59E0B / #10B981 / #EF4444 */
.recruitment-layout .kpi-trend {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
  text-align: left !important;
}

.recruitment-layout .kpi-trend .trend-arrow {
  font-size: 13px !important;
  line-height: 1 !important;
}

.recruitment-layout .kpi-trend .trend-text {
  font-size: 13px !important;
  font-weight: 500 !important;
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.recruitment-layout .kpi-trend.trend-neutral,
.recruitment-layout .kpi-trend.trend-neutral .trend-text {
  color: #10b981 !important;
}

.recruitment-layout .kpi-trend.trend-up,
.recruitment-layout .kpi-trend.trend-up .trend-text {
  color: #10b981 !important;
}

.recruitment-layout .kpi-trend.trend-down,
.recruitment-layout .kpi-trend.trend-down .trend-text {
  color: #ef4444 !important;
}

/* Dot Indicators */
.recruitment-layout .kpi-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.recruitment-layout .kpi-dot.dot-blue { background-color: #3b82f6 !important; }
.recruitment-layout .kpi-dot.dot-green { background-color: #10b981 !important; }
.recruitment-layout .kpi-dot.dot-purple { background-color: #a855f7 !important; }
.recruitment-layout .kpi-dot.dot-orange { background-color: #f97316 !important; }
.recruitment-layout .kpi-dot.dot-red { background-color: #ef4444 !important; }
.recruitment-layout .kpi-dot.dot-teal { background-color: #14b8a6 !important; }

/* ==========================================
   RECRUITMENT CHARTS GRID & CARDS
   ========================================== */

.recruitment-layout .charts-grid-two-col {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  .recruitment-layout .charts-grid-two-col {
    grid-template-columns: 1fr !important;
  }
}

.recruitment-layout .chart-card {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  min-height: 280px !important;
}

.recruitment-layout .chart-card-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding-bottom: 8px !important;
  width: 100% !important;
}

.recruitment-layout .chart-title-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  text-align: left !important;
}

.recruitment-layout .chart-subtitle {
  font-size: 11px !important;
  color: #94a3b8 !important;
  display: block !important;
  text-transform: none !important;
  font-weight: 400 !important;
  margin-top: 2px !important;
}

.recruitment-layout .chart-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.recruitment-layout .chart-body-wrapper {
  height: 220px !important;
  min-height: 220px !important;
  width: 100% !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Premium Toggle Card Matching Employee Advance Page */
.emp-adv-toggle-card {
  background-color: #f0fdf4;
  border: 1px solid #dcfce7;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
}

.emp-adv-toggle-content {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.emp-adv-toggle-icon-wrap {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #dcfce7;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.emp-adv-toggle-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.emp-adv-toggle-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #15803d;
  margin: 0 0 4px 0;
}

.emp-adv-toggle-desc {
  font-size: 11.5px;
  color: #166534;
  margin: 0;
  line-height: 1.35;
}

.emp-adv-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.emp-adv-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.emp-adv-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  transition: .2s;
  border-radius: 24px;
}

.emp-adv-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: var(--bg-secondary) ;
  transition: .2s;
  border-radius: 50%;
}

.emp-adv-switch input:checked + .emp-adv-slider {
  background-color: #16a34a;
}

.emp-adv-switch input:checked + .emp-adv-slider:before {
  transform: translateX(20px);
}

/* Standalone Pill Tabs Matching Expenses */
.emp-adv-pills-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.emp-adv-pill {
  background: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s ease;
}

.emp-adv-pill:hover {
  background: var(--hover-bg) ;
  color: var(--text-primary) ;
  border-color: var(--border-color) ;
}

.emp-adv-pill.active {
  background: #16a34a;
  color: var(--text-primary) ;
  border-color: #16a34a;
  font-weight: 600;
}

/* Expenses Table Styling with Grey Header and Footer */
.emp-adv-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 16px;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  background: var(--bg-secondary) ;
}

.emp-adv-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bg-secondary) ;
}

.emp-adv-table th {
  background-color: var(--hover-bg) !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border-color) !important;
  text-align: left !important;
}

.emp-adv-table td {
  padding: 10px 16px !important;
  border-bottom: 1px solid var(--border-color) !important;
  vertical-align: middle !important;
  font-size: 13.5px !important;
  color: var(--text-primary) !important;
}

.emp-adv-table tfoot tr td {
  background-color: var(--hover-bg) !important;
  font-weight: 700 !important;
  border-top: 1px solid var(--border-color) !important;
  border-bottom: none !important;
  padding: 12px 16px !important;
}

.emp-adv-add-row-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  color: #16a34a;
  border-radius: 8px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.emp-adv-add-row-btn:hover {
  background: #f0fdf4;
  border-color: #16a34a;
}

/* Remove white background container from form pages to match Expenses layout */
.recruitment-layout .employee-workspace-container {
  background-color: transparent !important;
}

.recruitment-layout .recruitment-content-wrapper {
  background-color: var(--hover-bg) !important;
}

/* Settings Page Textarea with Scrollbar */
.setting-textarea-input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  height: 90px;
  min-height: 80px;
  overflow-y: auto !important;
  overflow-x: hidden;
  resize: vertical;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.setting-textarea-input:focus {
  outline: none;
  border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15);
}

.setting-textarea-input::-webkit-scrollbar {
  width: 6px;
}

.setting-textarea-input::-webkit-scrollbar-track {
  background: var(--hover-bg) ;
  border-radius: 4px;
}

.setting-textarea-input::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

.setting-textarea-input::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}/* LeaveSettings.css */

.leave-settings-container {
  padding: 24px;
  padding-bottom: 48px;
  background-color: var(--bg-primary, #f8fafc);
  box-sizing: border-box;
  color: var(--text-primary, #0f172a);
  flex: 1;
  height: 100vh;
  overflow-y: auto;
}

.leave-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  background: var(--card-bg, #ffffff);
  padding: 20px 24px;
  border-radius: 14px;
  border: 1px solid var(--border-color, #e2e8f0);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.leave-settings-title-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.leave-settings-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
  display: flex;
  align-items: center;
  gap: 10px;
}

.leave-settings-subtitle {
  font-size: 13px;
  color: var(--text-secondary, #64748b);
}

.leave-settings-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.settings-btn-primary {
  height: 36px;
  padding: 0 18px;
  background-color: #22c55e;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(34, 197, 94, 0.2);
}

.settings-btn-primary:hover {
  background-color: #16a34a;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(34, 197, 94, 0.3);
  color: #ffffff !important;
}

.settings-btn-secondary {
  height: 36px;
  padding: 0 16px;
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.settings-btn-secondary:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

/* Grid Layout */
.leave-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 1024px) {
  .leave-settings-grid {
    grid-template-columns: 1fr;
  }
}

/* Settings Card */
.settings-card {
  background: var(--card-bg, #ffffff);
  border-radius: 14px;
  border: 1px solid var(--border-color, #e2e8f0);
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.settings-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
}

.settings-icon-badge {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f0fdf4;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.settings-icon-badge.blue {
  background: #eff6ff;
  color: #2563eb;
}

.settings-icon-badge.amber {
  background: #fffbe8;
  color: #d97706;
}

.settings-icon-badge.purple {
  background: #faf5ff;
  color: #9333ea;
}

.settings-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
}

.settings-card-subtitle {
  font-size: 12px;
  color: var(--text-secondary, #64748b);
}

/* Toggle Switch Row */
.setting-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}

.setting-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-right: 16px;
}

.setting-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary, #1e293b);
}

.setting-description {
  font-size: 12px;
  color: var(--text-secondary, #64748b);
  line-height: 1.4;
}

/* Custom Toggle Switch Component */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  transition: 0.3s;
  border-radius: 24px;
}

.toggle-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: var(--bg-secondary) ;
  transition: 0.3s;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

input:checked+.toggle-slider {
  background-color: #22c55e;
}

input:focus+.toggle-slider {
  box-shadow: 0 0 1px #22c55e;
}

input:checked+.toggle-slider:before {
  transform: translateX(20px);
}

/* Form Input Groups inside Settings */
.settings-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

.settings-form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #334155);
}

.settings-form-input,
.settings-form-select,
.settings-form-textarea {
  width: 100%;
  padding: 10px 14px;
  font-size: 13px;
  border: 1px solid var(--border-color, #cbd5e1);
  border-radius: 8px;
  background: var(--bg-secondary, #ffffff);
  color: var(--text-primary, #0f172a);
  transition: border-color 0.2s ease;
}

.settings-form-input:focus,
.settings-form-select:focus,
.settings-form-textarea:focus {
  outline: none;
  border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.settings-form-textarea {
  min-height: 80px;
  resize: vertical;
  font-family: inherit;
}.driver-popover{all:unset;font-family:var(--driver-popover-font-family,"Helvetica Neue", Inter, ui-sans-serif, "Apple Color Emoji", Helvetica, Arial, sans-serif);box-sizing:border-box;color:#2d2d2d;z-index:1000000000;background-color:#fff;border-radius:5px;min-width:250px;max-width:300px;margin:0;padding:15px;position:fixed;top:0;right:0;box-shadow:0 1px 10px #0006}.driver-popover-title{zoom:1;margin:0;font-size:19px;font-weight:700;line-height:1.5;display:block;position:relative}.driver-popover-close-btn{all:unset;cursor:pointer;color:#d2d2d2;z-index:1;text-align:center;width:32px;height:28px;font-size:18px;font-weight:500;transition:color .2s;position:absolute;top:0;right:0}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.5}.driver-popover-footer{text-align:right;zoom:1;justify-content:space-between;align-items:center;margin-top:15px;display:flex}.driver-popover-progress-text{color:#727272;zoom:1;font-size:13px;font-weight:400}.driver-popover-footer-btn{all:unset;box-sizing:border-box;color:#2d2d2d;cursor:pointer;zoom:1;background-color:#fff;border:1px solid #ccc;border-radius:3px;outline:0;padding:3px 7px;font-size:12px;line-height:1.3;text-decoration:none;display:inline-block}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}.driver-popover-footer-btn:hover,.driver-popover-footer-btn:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{flex-grow:1;justify-content:flex-end;display:flex}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";border:5px solid #fff;position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000;left:100%}.driver-popover-arrow-side-right{border-top-color:#0000;border-bottom-color:#0000;border-left-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-top-color:#0000;border-left-color:#0000;border-right-color:#0000;bottom:100%}.driver-popover-arrow-side-center,.driver-popover-arrow-none{display:none}.driver-active .driver-overlay{pointer-events:none}.driver-active.driver-no-scroll{overflow:hidden}.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in var(--driver-animation-duration,.4s) ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in var(--driver-animation-duration,.4s)}.driver-active-element-parent-no-scroll{overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}
/* Custom Employee Advance Form Stylesheet */

.advance-form-container {
  flex-grow: 1;
  overflow-y: auto;
  padding: 32px 40px;
  box-sizing: border-box;
}

.custom-advance-form {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 36px 40px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  margin-bottom: 24px;
}

.form-two-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 32px;
  /* 24px row gap, 32px column gap */
}

@media (max-width: 768px) {
  .form-two-columns {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.form-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-field label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
}

.req-asterisk {
  color: #ef4444;
  margin-left: 2px;
  font-weight: 600;
}

.form-input {
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  outline: none;
  background: var(--bg-secondary) ;
  transition: all 0.2s;
  box-sizing: border-box;
  width: 100%;
}

.form-input:focus {
  border-color: #10b981;
}

.form-input.textarea-field {
  font-family: inherit;
  resize: vertical;
}

/* Replicate screenshot required error boundary styling */
.form-input.error-border {
  border-color: #fca5a5;
  background-color: #fffafb;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.form-input.disabled-like {
  background: var(--bg-primary) ;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
  cursor: not-allowed;
}

.field-help-caption {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: 1px;
}

/* Sections Divider */
.form-section-header {
  margin-top: 24px;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 6px;
}

.form-section-header.spacer {
  border-bottom: none;
  margin-top: 24px;
  padding-bottom: 6px;
}

.form-section-header h3 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

/* Checkbox Alignment */
.checkbox-field {
  display: flex;
  align-items: center;
  margin-top: 36px;
  height: 100%;
}

.checkbox-container {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.checkbox-container input {
  width: 16px;
  height: 16px;
  cursor: pointer;
  margin: 0;
}

.checkbox-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  line-height: 1;
  margin-top: 2px;
}

/* More Info Expand link */
.form-more-info {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--text-primary) ;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.2s;
  margin-top: 12px;
}

.form-more-info:hover {
  color: var(--text-primary) ;
}

.more-info-arrow {
  font-size: 14px;
  transition: transform 0.2s ease;
}

.more-info-arrow.rotated {
  transform: rotate(90deg);
}

.more-info-panel {
  margin-top: 12px;
  padding-top: 4px;
}

/* Not Saved Breadcrumb Badge */
.not-saved-badge {
  background-color: #ffedd5;
  color: #c2410c;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 8px;
  margin-left: 12px;
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.02em;
}

/* Dark Green Form Save Button */
.add-new-record-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  height: 38px !important;
  padding: 8px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background-color 0.2s;
  box-shadow: none !important;
}

.add-new-record-btn:hover {
  background-color: #16a34a !important;
}

.form-save-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  height: 36px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background-color 0.2s;
}

.form-save-btn:hover {
  background-color: #166534;
}

.form-cancel-cross {
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 10px;
  transition: all 0.2s;
  height: 32px;
  width: 32px;
}

.form-cancel-cross:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

/* List View Header Select & Icon Buttons */
.flex-align-center {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar-select-btn {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  outline: none !important;
  cursor: pointer;
  transition: all 0.2s;
  height: 38px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: none !important;
}

.topbar-select-btn:hover {
  background-color: var(--hover-bg) ;
  border-color: #b0b7c3;
}

.topbar-icon-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  height: 32px;
  width: 32px;
  color: var(--text-primary) ;
  box-sizing: border-box;
  transition: all 0.2s;
}

.topbar-icon-btn:hover {
  background: var(--bg-primary) ;
  border-color: #c0c4cc;
}

/* List Filters Bar */
.list-filters-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  gap: 16px;
}

.filters-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.filter-input-field {
  border: 1px solid var(--border-color) ;
  background-color: var(--hover-bg) ;
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 12.5px;
  outline: none;
  color: var(--text-primary) ;
  transition: all 0.2s;
  height: 32px;
  box-sizing: border-box;
}

.filter-input-field:focus {
  background: var(--bg-secondary) ;
  border-color: #10b981;
}

.filter-input-field.width-id {
  width: 100px;
}

.filter-input-field.width-emp {
  width: 180px;
}

.filter-apply-btn {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  height: 32px;
  box-sizing: border-box;
}

.filter-apply-btn:hover {
  background-color: #e5e7eb;
}

.filter-sort-dropdown {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-primary) ;
  outline: none;
  cursor: pointer;
  height: 32px;
  box-sizing: border-box;
}

/* Empty State Card */
.empty-state-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  text-align: center;
  background: var(--bg-secondary) ;
  margin: 24px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  min-height: 300px;
}

.empty-state-icon-wrapper {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.empty-state-icon {
  font-size: 64px;
  color: var(--text-primary) ;
}

.empty-state-title {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text-primary) ;
  margin: 0 0 24px 0;
}

.empty-state-action-btn {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border: 1px solid #dcdfe6;
  border-radius: 10px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.empty-state-action-btn:hover {
  background-color: #f5f7fa;
  border-color: #c0c4cc;
  color: var(--text-primary) ;
}

.crumb-separator {
  margin: 0 8px;
  color: var(--text-primary) ;
  font-size: 12px;
}

/* Custom View Dropdown Overlay */
.view-dropdown-container {
  position: relative;
  display: inline-block;
}

.view-dropdown-overlay {
  position: absolute;
  top: 38px;
  left: 0;
  background: var(--bg-secondary) ;
  border: 1px solid #dcdfe6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 100;
  min-width: 170px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.view-dropdown-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s;
}

.view-dropdown-option:hover {
  background-color: #f5f7fa;
  color: var(--text-primary) ;
}

.option-icon {
  font-size: 14px;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
}

/* Custom More Options Dropdown Overlay */
.more-dropdown-container {
  position: relative;
  display: inline-block;
}

.more-dropdown-overlay {
  position: absolute;
  top: 38px;
  right: 0;
  background: var(--bg-secondary) ;
  border: 1px solid #dcdfe6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 100;
  min-width: 220px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.more-dropdown-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13.5px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
}

.more-dropdown-option:hover {
  background-color: #f5f7fa;
  color: var(--text-primary) ;
}

.option-shortcut {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: normal;
  padding-left: 12px;
}

/* Report View Summary Row */
.report-summary-row {
  background: var(--bg-primary) ;
  font-weight: 700;
  border-top: 2px solid #e5e7eb;
}

.report-summary-row td {
  color: #111827 !important;
}

/* Dashboard View Styles */
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 24px;
}

@media (max-width: 1024px) {
  .dashboard-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}

.stat-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.stat-title {
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
  margin-bottom: 8px;
}

.stat-value {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.dashboard-details-container {
  padding: 0 24px 24px 24px;
}

.dashboard-chart-mock {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 24px;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.chart-header {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-bottom: 16px;
}

.chart-bars-container {
  display: flex;
  align-items: flex-end;
  gap: 24px;
  height: 150px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-color) ;
}

.chart-bar-wrapper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.chart-bar {
  width: 100%;
  border-radius: 4px 4px 0 0;
  transition: height 0.3s ease;
}

.chart-bar.pending {
  background-color: #ffedd5;
  border: 1px solid #ff9c3a;
}

.chart-bar.approved {
  background-color: #d1fae5;
  border: 1px solid #10b981;
}

.chart-bar.rejected {
  background-color: #fee2e2;
  border: 1px solid #ef4444;
}

.chart-bar-label {
  font-size: 12px;
  color: var(--text-primary) ;
  font-weight: 500;
}

/* Kanban View Styles */
.kanban-view-container {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: #fafbfc;
  min-height: 100%;
  box-sizing: border-box;
}

.kanban-overview-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.kanban-overview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.kanban-overview-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kanban-add-column-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 0 12px;
  height: 32px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kanban-add-column-btn:hover {
  background-color: var(--hover-bg) ;
  border-color: #94a3b8;
}

.kanban-legend-box {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 16px 20px;
}

.legend-title {
  margin: 0 0 16px 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-align: left;
}

.legend-cols-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.legend-col-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.legend-pill-badge {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 16px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid currentColor;
}

.legend-col-desc {
  font-size: 12px;
  color: var(--text-primary) ;
  margin: 0;
}

.kanban-tabs-row-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 2px;
  margin-bottom: 4px;
}

.kanban-tabs-row {
  display: flex;
  gap: 20px;
}

.kanban-tab {
  font-size: 13.5px;
  font-weight: 600;
  padding: 8px 4px;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}

.kanban-tab.active {
  color: #10b981;
}

.kanban-tab.active::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #10b981;
  border-radius: 6px;
}

.kanban-tab.inactive {
  color: var(--text-primary) ;
}

.kanban-tab.inactive:hover {
  color: var(--text-primary) ;
}

.kanban-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: start;
}

@media (max-width: 1024px) {
  .kanban-board {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .kanban-board {
    grid-template-columns: 1fr;
  }
}

.kanban-column {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 14px;
  min-height: 480px;
  display: flex;
  flex-direction: column;
}

.kanban-column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 0 2px;
}

.kanban-column-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.column-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.column-name {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kanban-card-count {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 24px;
}

.column-plus-btn {
  background: transparent;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.column-plus-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.kanban-cards-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}

.kanban-empty-placeholder {
  border: 2px dashed #e2e8f0;
  border-radius: 16px;
  height: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kanban-empty-placeholder:hover {
  background-color: var(--hover-bg) ;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
}

.empty-plus {
  font-size: 16px;
}

.kanban-empty-placeholder span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.kanban-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}

.kanban-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-color: var(--border-color) ;
}

.kanban-card-employee-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #3b82f6;
  background-color: #eff6ff;
  padding: 2px 8px;
  border-radius: 24px;
  width: -moz-fit-content;
  width: fit-content;
}

.employee-bullet {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #3b82f6;
}

.kanban-card-purpose-text {
  margin: 2px 0 6px 0;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-primary) ;
  line-height: 1.4;
}

.kanban-card-details-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border-color) ;
  padding-top: 8px;
  margin-top: 2px;
}

.kanban-card-id-wrapper {
  display: flex;
  align-items: center;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.id-hash {
  color: var(--text-primary) ;
  margin-right: 1px;
}

.kanban-card-price-tag {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kanban-card-quick-actions {
  display: flex;
  gap: 12px;
  border-top: 1px dashed #f1f5f9;
  padding-top: 8px;
  margin-top: 2px;
}

.quick-action-link {
  background: none;
  border: none;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  transition: opacity 0.2s ease;
}

.quick-action-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.approve-link {
  color: #10b981;
}

.reject-link {
  color: #ef4444;
}

/* Drag hover effect for kanban column */
.kanban-column.drag-hover {
  background-color: #eff6ff;
  border: 1.5px dashed #3b82f6;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

/* Dark Mode support for Employee Advance Forms */
body.dark .advance-form-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

body.dark .custom-advance-form {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2) !important;
}

body.dark .form-field label {
  color: var(--text-secondary) !important;
}

body.dark .form-input {
  background: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

body.dark .form-input:focus {
  border-color: #10b981 !important;
}

body.dark .form-input.disabled-like {
  background-color: var(--hover-bg) !important;
  color: var(--text-muted) !important;
  border-color: var(--border-color) !important;
}

body.dark .form-section-header {
  border-bottom-color: var(--border-color) !important;
}

body.dark .form-section-header h3 {
  color: var(--text-primary) !important;
}

body.dark .accounts-grid-header {
  background-color: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-bottom-color: var(--border-color) !important;
}

body.dark .accounts-grid-row {
  border-bottom-color: var(--border-color) !important;
}

body.dark .accounts-grid-row td {
  color: var(--text-primary) !important;
}

body.dark .dialog-actions button {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

body.dark .dialog-actions button:hover {
  background: var(--bg-primary) !important;
}

body.dark .dialog-actions button.save-btn {
  background-color: #10b981 !important;
  color: white !important;
}

body.dark .dialog-actions button.save-btn:hover {
  background-color: #059669 !important;
}

/* Custom Employee Advance Form Stylesheet */

.advance-form-container {
  flex-grow: 1;
  overflow-y: auto;
  padding: 32px 40px;
  box-sizing: border-box;
}

.custom-advance-form {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 36px 40px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  margin-bottom: 24px;
}

.form-two-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

@media (max-width: 768px) {
  .form-two-columns {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.form-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-field label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
}

.req-asterisk {
  color: #ef4444;
  margin-left: 2px;
  font-weight: 600;
}

.form-input {
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  outline: none;
  background: var(--bg-secondary) ;
  transition: all 0.2s;
  box-sizing: border-box;
  width: 100%;
}

.form-input:focus {
  border-color: #10b981;
}

.form-input.textarea-field {
  font-family: inherit;
  resize: vertical;
}

/* Replicate screenshot required error boundary styling */
.form-input.error-border {
  border-color: #fca5a5;
  background-color: #fffafb;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.form-input.disabled-like {
  background: var(--bg-primary) ;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
  cursor: not-allowed;
}

.field-help-caption {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: 1px;
}

/* Sections Divider */
.form-section-header {
  margin-top: 24px;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 6px;
}

.form-section-header.spacer {
  border-bottom: none;
  margin-top: 24px;
  padding-bottom: 6px;
}

.form-section-header h3 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

/* Checkbox Alignment */
.checkbox-field {
  display: flex;
  align-items: center;
  margin-top: 36px;
  height: 100%;
}

.checkbox-container {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.checkbox-container input {
  width: 16px;
  height: 16px;
  cursor: pointer;
  margin: 0;
}

.checkbox-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  line-height: 1;
  margin-top: 2px;
}

/* More Info Expand link */
.form-more-info {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--text-primary) ;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: color 0.2s;
  margin-top: 12px;
}

.form-more-info:hover {
  color: var(--text-primary) ;
}

.more-info-arrow {
  font-size: 14px;
  transition: transform 0.2s ease;
}

.more-info-arrow.rotated {
  transform: rotate(90deg);
}

.more-info-panel {
  margin-top: 12px;
  padding-top: 4px;
}

/* Not Saved Breadcrumb Badge */
.not-saved-badge {
  background-color: #ffedd5;
  color: #c2410c;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 8px;
  margin-left: 12px;
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.02em;
}

/* Dark Green Form Save Button */
.add-new-record-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  height: 38px !important;
  padding: 8px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background-color 0.2s;
  box-shadow: none !important;
}

.add-new-record-btn:hover {
  background-color: #16a34a !important;
}

.form-save-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  height: 36px !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background-color 0.2s;
}

.form-save-btn:hover {
  background-color: #166534;
}

.form-cancel-cross {
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 10px;
  transition: all 0.2s;
  height: 32px;
  width: 32px;
}

.form-cancel-cross:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

/* List View Header Select & Icon Buttons */
.flex-align-center {
  display: flex;
  align-items: center;
  gap: 8px;
}

.topbar-select-btn {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  outline: none !important;
  cursor: pointer;
  transition: all 0.2s;
  height: 38px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: none !important;
}

.topbar-select-btn:hover {
  background-color: var(--hover-bg) ;
  border-color: #b0b7c3;
}

.topbar-icon-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  height: 32px;
  width: 32px;
  color: var(--text-primary) ;
  box-sizing: border-box;
  transition: all 0.2s;
}

.topbar-icon-btn:hover {
  background: var(--bg-primary) ;
  border-color: #c0c4cc;
}

/* List Filters Bar */
.list-filters-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  gap: 16px;
}

.filters-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.filter-input-field {
  border: 1px solid var(--border-color) ;
  background-color: var(--hover-bg) ;
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 12.5px;
  outline: none;
  color: var(--text-primary) ;
  transition: all 0.2s;
  height: 32px;
  box-sizing: border-box;
}

.filter-input-field:focus {
  background: var(--bg-secondary) ;
  border-color: #10b981;
}

.filter-input-field.width-id {
  width: 100px;
}

.filter-input-field.width-emp {
  width: 180px;
}

.filter-apply-btn {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  height: 32px;
  box-sizing: border-box;
}

.filter-apply-btn:hover {
  background-color: #e5e7eb;
}

.filter-sort-dropdown {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-primary) ;
  outline: none;
  cursor: pointer;
  height: 32px;
  box-sizing: border-box;
}

/* Empty State Card */
.empty-state-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  text-align: center;
  background: var(--bg-secondary) ;
  margin: 24px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  min-height: 300px;
}

.empty-state-icon-wrapper {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.empty-state-icon {
  font-size: 64px;
  color: var(--text-primary) ;
}

.empty-state-title {
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text-primary) ;
  margin: 0 0 24px 0;
}

.empty-state-action-btn {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border: 1px solid #dcdfe6;
  border-radius: 10px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.empty-state-action-btn:hover {
  background-color: #f5f7fa;
  border-color: #c0c4cc;
  color: var(--text-primary) ;
}

.crumb-separator {
  margin: 0 8px;
  color: var(--text-primary) ;
  font-size: 12px;
}

/* Custom View Dropdown Overlay */
.view-dropdown-container {
  position: relative;
  display: inline-block;
}

.view-dropdown-overlay {
  position: absolute;
  top: 38px;
  left: 0;
  background: var(--bg-secondary) ;
  border: 1px solid #dcdfe6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 100;
  min-width: 170px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.view-dropdown-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s;
}

.view-dropdown-option:hover {
  background-color: #f5f7fa;
  color: var(--text-primary) ;
}

.option-icon {
  font-size: 14px;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
}

/* Custom More Options Dropdown Overlay */
.more-dropdown-container {
  position: relative;
  display: inline-block;
}

.more-dropdown-overlay {
  position: absolute;
  top: 38px;
  right: 0;
  background: var(--bg-secondary) ;
  border: 1px solid #dcdfe6;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 100;
  min-width: 220px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.more-dropdown-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13.5px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
}

.more-dropdown-option:hover {
  background-color: #f5f7fa;
  color: var(--text-primary) ;
}

.option-shortcut {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: normal;
  padding-left: 12px;
}

/* Report View Summary Row */
.report-summary-row {
  background: var(--bg-primary) ;
  font-weight: 700;
  border-top: 2px solid #e5e7eb;
}

.report-summary-row td {
  color: #111827 !important;
}

/* Dashboard View Styles */
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 24px;
}

@media (max-width: 1024px) {
  .dashboard-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}

.stat-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.stat-title {
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
  margin-bottom: 8px;
}

.stat-value {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.dashboard-details-container {
  padding: 0 24px 24px 24px;
}

.dashboard-chart-mock {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 24px;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.chart-header {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-bottom: 16px;
}

.chart-bars-container {
  display: flex;
  align-items: flex-end;
  gap: 24px;
  height: 150px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-color) ;
}

.chart-bar-wrapper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.chart-bar {
  width: 100%;
  border-radius: 4px 4px 0 0;
  transition: height 0.3s ease;
}

.chart-bar.pending {
  background-color: #ffedd5;
  border: 1px solid #ff9c3a;
}

.chart-bar.approved {
  background-color: #d1fae5;
  border: 1px solid #10b981;
}

.chart-bar.rejected {
  background-color: #fee2e2;
  border: 1px solid #ef4444;
}

.chart-bar-label {
  font-size: 12px;
  color: var(--text-primary) ;
  font-weight: 500;
}

/* Kanban View Styles */
.kanban-view-container {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: #fafbfc;
  min-height: 100%;
  box-sizing: border-box;
}

.kanban-overview-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.kanban-overview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.kanban-overview-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kanban-add-column-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 0 12px;
  height: 32px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kanban-add-column-btn:hover {
  background-color: var(--hover-bg) ;
  border-color: #94a3b8;
}

.kanban-legend-box {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 16px 20px;
}

.legend-title {
  margin: 0 0 16px 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-align: left;
}

.legend-cols-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.legend-col-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.legend-pill-badge {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 16px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid currentColor;
}

.legend-col-desc {
  font-size: 12px;
  color: var(--text-primary) ;
  margin: 0;
}

.kanban-tabs-row-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 2px;
  margin-bottom: 4px;
}

.kanban-tabs-row {
  display: flex;
  gap: 20px;
}

.kanban-tab {
  font-size: 13.5px;
  font-weight: 600;
  padding: 8px 4px;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}

.kanban-tab.active {
  color: #10b981;
}

.kanban-tab.active::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #10b981;
  border-radius: 6px;
}

.kanban-tab.inactive {
  color: var(--text-primary) ;
}

.kanban-tab.inactive:hover {
  color: var(--text-primary) ;
}

.kanban-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: start;
}

@media (max-width: 1024px) {
  .kanban-board {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .kanban-board {
    grid-template-columns: 1fr;
  }
}

.kanban-column {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 14px;
  min-height: 480px;
  display: flex;
  flex-direction: column;
}

.kanban-column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 0 2px;
}

.kanban-column-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.column-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.column-name {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kanban-card-count {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 24px;
}

.column-plus-btn {
  background: transparent;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.column-plus-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.kanban-cards-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-grow: 1;
}

.kanban-empty-placeholder {
  border: 2px dashed #e2e8f0;
  border-radius: 16px;
  height: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kanban-empty-placeholder:hover {
  background-color: var(--hover-bg) ;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
}

.empty-plus {
  font-size: 16px;
}

.kanban-empty-placeholder span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.kanban-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}

.kanban-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-color: var(--border-color) ;
}

.kanban-card-employee-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #3b82f6;
  background-color: #eff6ff;
  padding: 2px 8px;
  border-radius: 24px;
  width: -moz-fit-content;
  width: fit-content;
}

.employee-bullet {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #3b82f6;
}

.kanban-card-purpose-text {
  margin: 2px 0 6px 0;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-primary) ;
  line-height: 1.4;
}

.kanban-card-details-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border-color) ;
  padding-top: 8px;
  margin-top: 2px;
}

.kanban-card-id-wrapper {
  display: flex;
  align-items: center;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.id-hash {
  color: var(--text-primary) ;
  margin-right: 1px;
}

.kanban-card-price-tag {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kanban-card-quick-actions {
  display: flex;
  gap: 12px;
  border-top: 1px dashed #f1f5f9;
  padding-top: 8px;
  margin-top: 2px;
}

.quick-action-link {
  background: none;
  border: none;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  transition: opacity 0.2s ease;
}

.quick-action-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.approve-link {
  color: #10b981;
}

.reject-link {
  color: #ef4444;
}

/* Drag hover effect for kanban column */
.kanban-column.drag-hover {
  background-color: #eff6ff;
  border: 1.5px dashed #3b82f6;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

/* Dark Mode support for Employee Advance Forms */
body.dark .advance-form-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

body.dark .custom-advance-form {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2) !important;
}

body.dark .form-field label {
  color: var(--text-secondary) !important;
}

body.dark .form-input {
  background: var(--bg-primary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

body.dark .form-input:focus {
  border-color: #10b981 !important;
}

body.dark .form-input.disabled-like {
  background-color: var(--hover-bg) !important;
  color: var(--text-muted) !important;
  border-color: var(--border-color) !important;
}

body.dark .form-section-header {
  border-bottom-color: var(--border-color) !important;
}

body.dark .form-section-header h3 {
  color: var(--text-primary) !important;
}

body.dark .accounts-grid-header {
  background-color: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-bottom-color: var(--border-color) !important;
}

body.dark .accounts-grid-row {
  border-bottom-color: var(--border-color) !important;
}

body.dark .accounts-grid-row td {
  color: var(--text-primary) !important;
}

body.dark .dialog-actions button {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

body.dark .dialog-actions button:hover {
  background: var(--bg-primary) !important;
}

body.dark .dialog-actions button.save-btn {
  background-color: #10b981 !important;
  color: white !important;
}

body.dark .dialog-actions button.save-btn:hover {
  background-color: #059669 !important;
}

/* ==========================================================================
   PREMIUM EMPLOYEE ADVANCE FORM STYLES (Matching Picture 1 HR Setup Detail)
   ========================================================================== */

.emp-adv-form-wrapper {
  background-color: var(--hover-bg) ;
  min-height: 100vh;
  padding: 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  flex: 1;
  width: 100%;
  overflow-y: auto;
  box-sizing: border-box;
}

.emp-adv-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 32px;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.emp-adv-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
}

.emp-adv-crumb {
  color: var(--text-primary) ;
  cursor: pointer;
  transition: color 0.15s ease;
}

.emp-adv-crumb:hover {
  color: var(--text-primary) ;
}

.emp-adv-crumb-separator {
  color: var(--text-primary) ;
  font-size: 13px;
}

.emp-adv-crumb-active {
  color: var(--text-primary) ;
  font-weight: 600;
}

.emp-adv-not-saved {
  background-color: #ffedd5;
  color: #c2410c;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 8px;
  margin-left: 8px;
}

.emp-adv-header-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.emp-adv-btn-cancel {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  border-radius: 8px;
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}

.emp-adv-btn-cancel:hover {
  background: var(--hover-bg) ;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
}

.emp-adv-btn-save {
  background: #22c55e;
  border: 1px solid #22c55e;
  color: #ffffff !important;
  border-radius: 8px;
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}

.emp-adv-btn-save:hover {
  background: #16a34a;
  border-color: #16a34a;
  color: #ffffff !important;
}

.emp-adv-content-container {
  padding: 24px 32px 40px 32px;
  margin: 0;
  box-sizing: border-box;
}

.emp-adv-page-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0 0 20px 0;
  letter-spacing: -0.01em;
}

.emp-adv-pills-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.emp-adv-pill {
  background: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 20px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: all 0.15s ease;
}

.emp-adv-pill:hover {
  background: var(--hover-bg) ;
  color: var(--text-primary) ;
  border-color: var(--border-color) ;
}

.emp-adv-pill.active {
  background: #16a34a;
  color: var(--text-primary) ;
  border-color: #16a34a;
  font-weight: 600;
}

.emp-adv-card {
  background: var(--bg-secondary) ;
  border: 1px solid #ebf0f5;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.01), 0 10px 20px -5px rgba(0, 0, 0, 0.015);
}

.emp-adv-card-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin: 0 0 20px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.emp-adv-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 20px;
}

@media (max-width: 1024px) {
  .emp-adv-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .emp-adv-grid-4 {
    grid-template-columns: 1fr;
  }
}

.emp-adv-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 20px;
}

@media (max-width: 768px) {
  .emp-adv-grid-2 {
    grid-template-columns: 1fr;
  }
}

.emp-adv-split-container {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 24px;
  align-items: stretch;
}

@media (max-width: 992px) {
  .emp-adv-split-container {
    grid-template-columns: 1fr;
  }
}

.emp-adv-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.emp-adv-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.emp-adv-req {
  color: #ef4444;
  margin-left: 2px;
}

.emp-adv-input {
  height: 40px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  padding: 0 14px;
  font-size: 13.5px;
  color: var(--text-primary) ;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.15s ease;
}

.emp-adv-input:focus {
  border-color: #94a3b8;
  box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.15);
}

.emp-adv-input::-moz-placeholder {
  color: var(--text-primary) ;
}

.emp-adv-input::placeholder {
  color: var(--text-primary) ;
}

.emp-adv-input[readonly] {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.emp-adv-textarea {
  height: auto;
  min-height: 90px;
  padding: 10px 14px;
  resize: vertical;
  font-family: inherit;
}

.emp-adv-hint {
  font-size: 11.5px;
  color: var(--text-primary) ;
  margin-top: 4px;
  line-height: 1.3;
}

/* Feature Toggle Card matching Picture 1 "Create User Automatically" */
.emp-adv-toggle-card {
  background-color: #f0fdf4;
  border: 1px solid #dcfce7;
  border-radius: 12px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 100%;
  box-sizing: border-box;
}

.emp-adv-toggle-content {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.emp-adv-toggle-icon-wrap {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #dcfce7;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.emp-adv-toggle-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.emp-adv-toggle-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #15803d;
  margin: 0 0 4px 0;
}

.emp-adv-toggle-desc {
  font-size: 11.5px;
  color: #166534;
  margin: 0;
  line-height: 1.35;
}

.emp-adv-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.emp-adv-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.emp-adv-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  transition: .2s;
  border-radius: 24px;
}

.emp-adv-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: var(--bg-secondary) ;
  transition: .2s;
  border-radius: 50%;
}

.emp-adv-switch input:checked+.emp-adv-slider {
  background-color: #16a34a;
}

.emp-adv-switch input:checked+.emp-adv-slider:before {
  transform: translateX(20px);
}

/* Modern Card Table Styling for Expense Claims & Advances */
.emp-adv-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 16px;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
}

.emp-adv-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bg-secondary) ;
}

.emp-adv-table th {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border-color) ;
  text-align: left;
}

.emp-adv-table td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border-color) ;
  vertical-align: middle;
  font-size: 13.5px;
  color: var(--text-primary) ;
}

.emp-adv-table tr:last-child td {
  border-bottom: none;
}

.emp-adv-table input,
.emp-adv-table select {
  height: 38px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  padding: 0 10px;
  font-size: 13px;
  color: var(--text-primary) ;
  box-sizing: border-box;
  outline: none;
  width: 100%;
  transition: border-color 0.15s;
}

.emp-adv-table input:focus,
.emp-adv-table select:focus {
  border-color: #94a3b8;
  box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.15);
}

.emp-adv-add-row-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  color: #16a34a;
  border-radius: 8px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.emp-adv-add-row-btn:hover {
  background: #f0fdf4;
  border-color: #16a34a;
}/* ===== New Expense Claim – styled to match Recruitment (njo) layout ===== */

.new-expense-claim-container {
  display: flex;
  flex-direction: column;
  background: var(--bg-primary) ;
  height: 100vh;
  font-family: 'Inter', sans-serif;
  flex: 1 !important;
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* ── Topbar / Header ── */
.expense-claim-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 32px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  min-width: 0;
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
}

.breadcrumbs::-webkit-scrollbar {
  display: none;
}

.home-crumb-icon {
  color: var(--text-primary) ;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 14px;
}

.home-crumb-icon:hover {
  color: var(--text-primary) ;
}

.crumb-separator {
  color: var(--text-primary) ;
  font-weight: 400;
  margin: 0 2px;
  flex-shrink: 0;
}

.crumb-clickable {
  color: var(--text-primary) ;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

.crumb-clickable:hover {
  color: var(--text-primary) ;
}

.current-crumb {
  color: var(--text-primary) ;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}

.not-saved-badge {
  font-size: 12px;
  font-weight: 500;
  color: #c2410c;
  background-color: #ffedd5;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: 8px;
  white-space: nowrap;
  flex-shrink: 0;
}

.saved-badge {
  font-size: 11px;
  font-weight: 500;
  color: #065f46;
  background-color: #d1fae5;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: 8px;
  white-space: nowrap;
  flex-shrink: 0;
}

.header-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}

.view-btn {
  background-color: #22c55e;
  color: var(--text-primary) ;
  border: none;
  border-radius: 8px;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s;
}

.view-btn:hover {
  background-color: #16a34a;
}

.dropdown-icon {
  font-size: 14px;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  transition: all .15s;
  white-space: nowrap;
  cursor: pointer;
  border: 1px solid transparent;
}

.btn-cancel {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border-color: var(--border-color) ;
}

.btn-cancel:hover {
  background-color: var(--hover-bg) ;
}

.btn-save {
  background-color: #22c55e;
  color: var(--text-primary) ;
}

.btn-save:hover {
  background-color: #16a34a;
}

.view-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  background: var(--bg-secondary) ;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 8px 0;
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 6px;
  min-width: 250px;
  z-index: 50;
  border: 1px solid var(--border-color) ;
}

.view-dropdown-item {
  padding: 10px 14px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background-color 0.15s;
  border-radius: 6px;
}

.view-dropdown-item:hover {
  background-color: var(--hover-bg) ;
}

/* ── Tabs ── */
.tabs-container {
  display: flex;
  gap: 24px;
  padding: 0 32px;
  background: var(--bg-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.tab-item {
  padding: 12px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  position: relative;
  transition: color 0.15s;
}

.tab-item:hover {
  color: var(--text-primary) ;
}

.tab-item.active {
  color: #10b981 !important;
  font-weight: 600;
}

.tab-item.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #10b981 !important;
}

/* ── Content Area ── */
.form-content {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  margin: 24px 32px 32px 32px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: calc(100% - 64px) !important;
  max-width: none !important;
  box-sizing: border-box;
}

.form-section {
  width: 100% !important;
  max-width: none !important;
  flex: 1;
}

/* ── Form Grid ── */
.form-two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 48px;
  margin-bottom: 20px;
}

.form-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-field label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.req-asterisk {
  color: #ef4444;
}

/* ── Inputs & Selects ── */
.form-input {
  border: 1px solid var(--border-color) ;
  padding: 8px 12px;
  padding: 10px 14px;
  font-size: 13px;
  font-family: inherit;
  border: none;
  border-radius: 12px;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  outline: none;
  transition: box-shadow 0.15s;
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

select.form-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
  padding-right: 36px;
  cursor: pointer;
}

.form-input:focus {
  box-shadow: 0 0 0 2px #e5e7eb;
}

.form-input.light-grey {
  background-color: var(--hover-bg) ;
  border-color: transparent;
}

/* ── Expenses Section Title ── */
.expenses-section-title {
  margin-bottom: 20px;
  margin-top: 0;
}

.expenses-section-title label {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  padding: 12px 16px;
  display: block;
}

/* ── Table Container ── */
.expenses-table-container {
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
  width: 100%;
  max-width: none !important;
}

.expenses-table {
  width: 100%;
  max-width: none !important;
  border-collapse: collapse;
}

.expenses-table th {
  background: var(--bg-primary) ;
  padding: 12px;
  text-align: left;
  font-size: 12px;
  color: var(--text-primary) ;
  font-weight: 600;
  text-transform: uppercase;
  border-bottom: 1px solid var(--border-color) ;
}

.expenses-table td {
  padding: 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.expenses-table td.amount-col {
  text-align: right;
}

.expenses-table td.edit-icon {
  text-align: center;
  color: var(--text-primary) ;
  cursor: pointer;
}

/* ── Add Row Button ── */
.add-row-btn {
  background-color: var(--hover-bg) ;
  border: none;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
  cursor: pointer;
  margin-top: 12px;
  transition: background-color 0.15s;
}

.add-row-btn:hover {
  background-color: #e5e7eb;
}

/* ── Collapsible Sections ── */
.collapsible-section {
  border: none !important;
}

.collapsible-header {
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.collapse-icon {
  font-size: 16px;
  transition: transform 0.2s ease;
}

.collapse-icon.closed {
  transform: rotate(-90deg);
}

.collapse-icon.open {
  transform: rotate(0deg);
}

.collapsible-content {
  margin-top: 4px;
  padding-left: 8px;
}

.collapsible-content .expenses-section-title {
  margin-top: 0;
  margin-bottom: 12px;
}

/* ── Empty Table State ── */
.no-rows-cell {
  text-align: center;
  color: var(--text-muted) !important;
  padding: 32px !important;
  background: var(--bg-primary) ;
}

/* ============================== */
/* ── Dark Mode Overrides ─────── */
/* ============================== */

body.dark .new-expense-claim-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}

body.dark .expense-claim-header {
  background: var(--bg-primary) !important;
  border-bottom-color: var(--border-color) !important;
}

body.dark .tabs-container {
  background: var(--bg-primary) !important;
  border-bottom-color: var(--border-color) !important;
}

body.dark .tab-item {
  color: var(--text-secondary) !important;
}

body.dark .tab-item.active {
  color: #22c55e !important;
}

body.dark .tab-item.active::after {
  background-color: #22c55e !important;
}

body.dark .form-content {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .form-field label {
  color: var(--text-secondary) !important;
}

body.dark .form-input {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

body.dark .form-input:focus {
  box-shadow: 0 0 0 2px var(--border-color) !important;
}

body.dark .form-input.light-grey {
  background-color: var(--hover-bg) !important;
}

body.dark .expenses-section-title label {
  color: var(--text-secondary) !important;
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

body.dark .expenses-table-container {
  border-color: var(--border-color) !important;
}

body.dark .expenses-table th {
  background-color: var(--table-header-bg) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

body.dark .expenses-table td {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-color) !important;
}

body.dark .add-row-btn {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

body.dark .add-row-btn:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .collapsible-section {
  border-top-color: var(--border-color) !important;
}

body.dark .collapsible-header {
  color: var(--text-secondary) !important;
}

body.dark .no-rows-cell {
  background: var(--bg-secondary) !important;
  color: var(--text-muted) !important;
}

body.dark .view-dropdown-menu {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .view-dropdown-item {
  color: var(--text-primary) !important;
}

body.dark .view-dropdown-item:hover {
  background-color: var(--hover-bg) !important;
}.new-journal-entry-container {
  background: var(--bg-secondary) ;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.journal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.journal-breadcrumbs {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: var(--text-primary) ;
}

.not-saved-badge {
  background-color: #ffedd5;
  color: #ea580c;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 16px;
  margin-left: 12px;
  font-weight: 500;
}

.journal-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.action-btn-text {
  background: none;
  border: none;
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
  cursor: pointer;
}

.action-btn-text:hover {
  text-decoration: underline;
}

.action-btn-black {
  background-color: #22c55e;
  color: white;
  border: none;
  padding: 8px 20px;
  border-radius: 10003px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.action-btn-black:hover {
  background-color: #16a34a;
}

.tabs-container {
  display: flex;
  padding: 0 24px;
  border-bottom: 1px solid var(--border-color) ;
  background: var(--bg-secondary) ;
}

.tab-item {
  padding: 12px 16px;
  font-size: 14px;
  color: var(--text-primary) ;
  cursor: pointer;
  position: relative;
  font-weight: 500;
}

.tab-item.active {
  color: var(--text-primary) ;
}

.tab-item.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #111827;
}

.form-content {
  padding: 24px;
  flex-grow: 1;
}

.form-section {
  max-width: 1000px;
}

.form-two-columns {
  display: flex;
  gap: 60px;
  margin-bottom: 24px;
}

.form-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-field label {
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.form-input {
  padding: 8px 12px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  font-size: 14px;
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  width: 100%;
}

.form-input.light-grey {
  background: var(--bg-primary) ;
}

.form-field-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.form-field-checkbox label {
  font-size: 13px;
  color: var(--text-primary) ;
}

.req-asterisk {
  color: #ef4444;
}

.section-title {
  margin: 32px 0 16px;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 8px;
}

.section-title label {
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.entries-table-container {
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 32px;
}

.entries-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.entries-table th {
  background: var(--bg-primary) ;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.entries-table td {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.amount-col {
  text-align: right;
}

.edit-icon {
  text-align: center;
  color: var(--text-primary) ;
  cursor: pointer;
}

.add-row-btn {
  background-color: var(--hover-bg) ;
  border: none;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  margin: 12px;
}

.add-row-btn:hover {
  background-color: #e5e7eb;
}

/* Accordion Styles */
.collapsible-section {
  border-bottom: 1px solid var(--border-color) ;
  padding: 16px 0;
}

.collapsible-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
  cursor: pointer;
}

.collapse-icon {
  font-size: 14px;
  color: var(--text-primary) ;
  transition: transform 0.2s;
}

.collapse-icon.closed {
  transform: rotate(-90deg);
}

.collapse-icon.open {
  transform: rotate(0deg);
}

.collapsible-content {
  padding-top: 24px;
}

/* Dark Mode support for Journal Entry Forms */
body.dark .new-journal-entry-container {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
}
body.dark .journal-header {
  border-bottom-color: var(--border-color) !important;
}
body.dark .journal-breadcrumbs {
  color: var(--text-secondary) !important;
}
body.dark .action-btn-text {
  color: var(--text-secondary) !important;
}
body.dark .tabs-container {
  background: var(--bg-primary) !important;
  border-bottom-color: var(--border-color) !important;
}
body.dark .tab-item {
  color: var(--text-secondary) !important;
}
body.dark .tab-item.active {
  color: var(--text-primary) !important;
}
body.dark .tab-item.active::after {
  background-color: var(--text-primary) !important;
}
body.dark .form-field label {
  color: var(--text-secondary) !important;
}
body.dark .form-input {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}
body.dark .form-input:focus {
  border-color: var(--text-muted) !important;
}
body.dark .form-input.light-grey {
  background-color: var(--hover-bg) !important;
}
body.dark .entries-table-container {
  border-color: var(--border-color) !important;
}
body.dark .entries-table th {
  background-color: var(--table-header-bg) !important;
  color: var(--text-secondary) !important;
  border-bottom-color: var(--border-color) !important;
}
body.dark .entries-table td {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-color) !important;
}
body.dark .add-row-btn {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}
body.dark .add-row-btn:hover {
  background-color: var(--hover-bg) !important;
}
body.dark .collapsible-section {
  border-top-color: var(--border-color) !important;
}
body.dark .collapsible-header {
  color: var(--text-secondary) !important;
}
body.dark .no-rows-cell {
  background: var(--bg-secondary) !important;
  color: var(--text-muted) !important;
}.journal-entry-container {
  background: var(--bg-secondary) ;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-grow: 1;
}

.journal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.journal-breadcrumbs {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: var(--text-primary) ;
}

.crumb-icon {
  cursor: pointer;
  font-size: 16px;
  color: var(--text-primary) ;
}

.crumb-separator {
  margin: 0 8px;
  color: var(--text-primary) ;
}

.crumb-clickable {
  cursor: pointer;
}

.crumb-clickable:hover {
  text-decoration: underline;
}

.current-crumb {
  font-weight: 600;
  color: var(--text-primary) ;
}

.journal-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.action-btn-grey {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  padding: 6px 12px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
}

.action-btn-grey .icon {
  font-size: 16px;
  color: var(--text-primary) ;
}

.icon-btn-grey {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  padding: 6px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--text-primary) ;
  cursor: pointer;
  width: 32px;
  height: 32px;
}

.action-btn-black {
  background-color: #22c55e;
  color: white;
  border: none;
  padding: 8px 20px;
  border-radius: 10003px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.action-btn-black:hover {
  background-color: #16a34a;
}

.view-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background: var(--bg-secondary) ;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 8px 0;
  min-width: 200px;
  z-index: 50;
  border: 1px solid var(--border-color) ;
}

.view-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 14px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background-color 0.2s;
}

.view-dropdown-item:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.dropdown-item-icon {
  font-size: 16px;
  color: var(--text-primary) ;
}

.icon-plus {
  font-size: 14px;
}

.arrow-down {
  font-size: 12px;
  margin-left: 4px;
}

/* Filters Bar */
.filters-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
}

.filters-left {
  display: flex;
  gap: 12px;
}

.filter-item {
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-primary) ;
}

.filter-op {
  color: var(--text-primary) ;
  font-size: 14px;
}

.filters-right {
  display: flex;
  gap: 12px;
  align-items: center;
}

.active-filter-badge {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 24px;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.active-filter-badge .count {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  padding: 0 6px;
  font-size: 12px;
}

.active-filter-badge .icon-x {
  font-size: 14px;
  color: var(--text-primary) ;
  cursor: pointer;
}

.sort-dropdown {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
}

/* Empty State */
.journal-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  padding-top: 100px;
}

.empty-icon {
  font-size: 48px;
  color: var(--text-primary) ;
  margin-bottom: 16px;
}

.empty-text {
  font-size: 14px;
  color: var(--text-primary) ;
  margin-bottom: 24px;
}

.empty-action-btn {
  background: var(--bg-primary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  padding: 8px 16px;
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
  cursor: pointer;
}

.empty-action-btn:hover {
  background-color: var(--hover-bg) ;
}
.analytics-center-wrapper {
  padding: 24px 32px;
  background-color: var(--hover-bg) ;
  min-height: calc(100vh - 64px);
}

.analytics-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.analytics-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.analytics-subtitle {
  font-size: 14px;
  color: var(--text-primary) ;
  margin: 4px 0 0 0;
}

.analytics-actions {
  display: flex;
  gap: 12px;
}

.analytics-btn-export {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  color: var(--text-primary) ;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.analytics-btn-export:hover {
  background-color: var(--hover-bg) ;
  border-color: #94a3b8;
}

/* Tabs */
.analytics-tabs {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-color) ;
  margin-bottom: 24px;
}

.analytics-tab {
  flex: 1;
  text-align: center;
  padding: 0 8px 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary) ;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.analytics-tab:hover {
  color: var(--text-primary) ;
}

.analytics-tab.active {
  color: #16a34a;
  font-weight: 600;
  border-bottom-color: #16a34a;
}

/* KPI Cards Row */
.analytics-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}

.analytics-kpi-card {
  background: var(--bg-secondary) ;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  border: 1px solid var(--border-color) ;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.analytics-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
}

.analytics-kpi-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #3b82f6, #60a5fa);
  border-radius: 12px 12px 0 0;
}

.analytics-kpi-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.analytics-kpi-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin-bottom: 4px;
}

.analytics-kpi-trend {
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}

.trend-positive { color: #10b981; }
.trend-negative { color: #ef4444; }
.trend-neutral { color: #8b5cf6; }

/* Charts & Tables Area */
.analytics-content-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

.analytics-panel {
  background: var(--bg-secondary) ;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--border-color) ;
}

.analytics-panel-full {
  grid-column: span 2;
}

.analytics-panel-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0 0 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Data Table */
.analytics-table-wrapper {
  overflow-x: auto;
  border-radius: 8px;
  border: 1px solid var(--border-color) ;
}

.analytics-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.analytics-table th {
  background-color: var(--hover-bg) ;
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border-color) ;
}

.analytics-table td {
  padding: 14px 16px;
  font-size: 13.5px;
  color: var(--text-primary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.analytics-table tr:last-child td {
  border-bottom: none;
}

.analytics-table tr:hover td {
  background-color: var(--hover-bg) ;
}

.badge-status {
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 600;
}
.badge-status.approved { background-color: #dcfce7; color: #166534; }
.badge-status.pending { background-color: #fef9c3; color: #854d0e; }
.badge-status.rejected { background-color: #fee2e2; color: #991b1b; }
.badge-status.paid { background-color: #dbeafe; color: #1e40af; }



/* Parent Expenses Layout Shell Styles */
.expenses-page-layout {
  display: flex;
  height: 100vh;
  width: 100vw !important;
  max-width: none !important;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary);
  background: var(--bg-primary) ;
  overflow: hidden;
}
/* MAIN CONTENT PANEL SHELL */
.expenses-main-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-primary) ;
}
/* TOPBAR */
.expenses-topbar {
  height: 60px;
  border-bottom: 1px solid var(--border-color) !important;
  background-color: var(--bg-secondary) !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px 0 12px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.topbar-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: var(--hover-bg) ;
  border-radius: 14px;
  padding: 0 14px;
  height: 34px;
  width: 320px;
  border: 1px solid transparent;
  transition: border-color 0.2s, background-color 0.2s;
}
.topbar-search-bar:focus-within {
  background: var(--bg-secondary) ;
  border-color: var(--border-color) ;
}
.topbar-search-icon {
  color: var(--text-primary) ;
  font-size: 14px;
  flex-shrink: 0;
}
input[type="text"].topbar-search-input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 12.5px !important;
  color: #374151 !important;
  width: 100% !important;
  font-family: inherit !important;
  min-height: auto !important;
  height: auto !important;
  box-shadow: none !important;
  padding: 0 !important;
}
input[type="text"].topbar-search-input::-moz-placeholder {
  color: var(--text-muted) !important;
}
input[type="text"].topbar-search-input::placeholder {
  color: var(--text-muted) !important;
}
input[type="text"].topbar-search-input:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--text-primary) ;
}
.home-crumb-icon {
  cursor: pointer;
  color: var(--text-primary) ;
  transition: color 0.2s ease;
  font-size: 13px;
}
.home-crumb-icon:hover {
  color: var(--text-primary) ;
}
.crumb-separator {
  color: var(--text-primary) ;
}
.crumb-clickable {
  cursor: pointer;
  transition: color 0.2s ease;
}
.crumb-clickable:hover {
  color: var(--text-primary) ;
  font-weight: 500;
}
.current-crumb {
  font-weight: 500;
  color: var(--text-primary) ;
}
.breadcrumb-clickable:hover {
  text-decoration: underline;
}
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.notification-bell,
.more-actions-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.2s ease;
}
.notification-bell:hover,
.more-actions-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
/* TOAST NOTIFICATION */
.toast-notification {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  padding: 10px 20px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  z-index: 200;
  animation: slideUpFade 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
}
@keyframes slideUpFade {
  from {
    transform: translate(-50%, 15px);
    opacity: 0;
  }

  to {
    transform: translate(-50%, 0);
    opacity: 1;
  }
}
/* Dark Mode Overrides for Expenses Layout */
body.dark .topbar-search-bar {
  background-color: var(--hover-bg) !important;
}
body.dark .topbar-search-bar:focus-within {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
body.dark .topbar-search-input {
  color: var(--text-primary) !important;
}
body.dark .breadcrumbs {
  color: var(--text-secondary) !important;
}
body.dark .crumb-separator {
  color: var(--border-color) !important;
}
body.dark .home-crumb-icon:hover,
body.dark .crumb-clickable:hover {
  color: var(--text-primary) !important;
}
body.dark .current-crumb {
  color: var(--text-primary) !important;
}
body.dark .notification-bell,
body.dark .more-actions-btn {
  color: var(--text-secondary) !important;
}
body.dark .notification-bell:hover,
body.dark .more-actions-btn:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}
.payroll-topbar-btn { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 6px; color: var(--text-primary) ; cursor: pointer; font-size: 16px; transition: all 0.2s ease; }
.payroll-topbar-btn:hover { background-color: var(--hover-bg) ; color: var(--text-primary) ; }/* HR Setup Page Styles */
.hr-setup-layout {
  display: flex;
  height: 100vh;
  overflow: hidden;
  background-color: var(--hover-bg);
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary);
}

/* SIDEBAR STYLES */
.hr-setup-layout .hr-sidebar,
.hr-sidebar {
  width: 260px !important;
  background: var(--bg-secondary);
  border-right: 1px solid var(--border-color) !important;
  /* Design token border */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
  box-sizing: border-box;
  flex-shrink: 0 !important;
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), padding 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  /* Added relative positioning for the toggle button */
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Sidebar Toggle Trigger Button */
.sidebar-toggle-trigger {
  position: absolute;
  top: 20px;
  right: -14px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bg-secondary);
  border: 1.5px solid #94a3b8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  color: var(--text-primary);
  font-size: 12px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
}

.sidebar-toggle-trigger:hover {
  background: var(--bg-secondary);
  color: #0b9e6f;
  border-color: #0b9e6f;
  box-shadow: 0 4px 12px rgba(11, 158, 111, 0.25);
  transform: scale(1.1);
}

.sidebar-collapsed .hr-sidebar {
  width: 70px !important;
  padding: 0 !important;
}

/* Hide text and non-icon elements when sidebar is collapsed */
.sidebar-collapsed .brand-text,
.sidebar-collapsed .brand-chevron,
.sidebar-collapsed .sidebar-search input,
.sidebar-collapsed .search-shortcut,
.sidebar-collapsed .sidebar-notification span,
.sidebar-collapsed .nav-item span,
.sidebar-collapsed .nav-left span,
.sidebar-collapsed .arrow-right,
.sidebar-collapsed .sidebar-submenu,
.sidebar-collapsed .user-details {
  display: none !important;
}

/* Center elements in collapsed mode */
.sidebar-collapsed .sidebar-search,
.sidebar-collapsed .sidebar-notification,
.sidebar-collapsed .nav-item {
  justify-content: center;
  padding: 0;
  width: 44px;
  height: 44px;
  margin: 0 auto 4px auto;
  border-radius: 12px;
  box-sizing: border-box;
}

.sidebar-collapsed .sidebar-footer {
  justify-content: center;
  padding: 12px 0 0 0;
  margin: 0 auto;
  width: 100%;
}

/* Make nav-left (expandable group) centered when collapsed */
.sidebar-collapsed .nav-left {
  width: 100%;
  justify-content: center;
  gap: 0;
  margin: 0;
}

/* Remove icon right margin in collapsed mode */
.sidebar-collapsed .nav-icon {
  margin-right: 0 !important;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
}

.sidebar-collapsed .notification-icon {
  margin-right: 0;
}

/* Brand area: show small clipped icon when collapsed */
.sidebar-collapsed .sidebar-brand-wrapper {
  justify-content: center;
  padding: 0;
  width: 100% !important;
  margin: 0 !important;
}

/* Collapsed brand: circular icon badge */
.sidebar-collapsed .sidebar-brand {
  justify-content: center !important;
  margin-left: 0 !important;
  background-color: transparent !important;
}

/* The brand-icon-box shown when collapsed */
.sidebar-collapsed .brand-icon-box {
  display: none !important;
}

.sidebar-collapsed .menu-header {
  display: none !important;
}

/* Hide the full logo image when collapsed — show brand-icon-box instead */
.sidebar-collapsed .sidebar-brand .brand-logo-img {
  display: none !important;
}

/* Adjust notification drawer margin-left when sidebar is collapsed */
.sidebar-collapsed .notification-drawer {
  margin-left: 70px;
}


.sidebar-top {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

.sidebar-brand-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 16px;
  height: 60px !important;
  border-bottom: 1px solid var(--border-color);
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Brand Section */
.sidebar-brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 0;
  cursor: default;
  border-radius: 20px;
  background-color: transparent;
  transition: background-color 0.2s;
}

.sidebar-collapsed .sidebar-brand {
  justify-content: center;
  margin-left: 0;
}

/* .sidebar-logo-divider removed to use global SharedSidebar.css rule */

.brand-logo-img {
  width: 180px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 100%;
  transition: width 0.2s ease;
}

.brand-icon-box {
  display: none;
  /* Hidden by default; shown only in collapsed state via .sidebar-collapsed CSS */
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-family: 'Noto Sans Devanagari', sans-serif;
  font-weight: 700;
  color: var(--text-primary);
}

.brand-chevron {
  color: var(--text-primary);
  font-size: 12px;
  margin-left: 8px;
}

/* Search Bar */
.sidebar-search {
  display: flex;
  align-items: center;
  background-color: var(--hover-bg);
  border-radius: 20px;
  padding: 8px 12px;
  gap: 8px;
  margin-top: 4px;
}

.search-icon {
  color: var(--text-primary);
  font-size: 13px;
}

.sidebar-search input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 13px;
  width: 100%;
  color: var(--text-primary);
}

.sidebar-search input::-moz-placeholder {
  color: var(--text-primary);
}

.sidebar-search input::placeholder {
  color: var(--text-primary);
}

.search-shortcut {
  font-size: 11px;
  color: var(--text-primary);
  background-color: #e5e7eb;
  padding: 2px 4px;
  border-radius: 18px;
  font-weight: 500;
  white-space: nowrap;
}

/* Notification bar */
.sidebar-notification {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  border-radius: 20px;
  transition: background-color 0.2s;
  margin-top: 4px;
  font-weight: 500;
}

.sidebar-notification:hover {
  background-color: var(--hover-bg);
}

.notification-icon {
  color: var(--text-primary);
  font-size: 14px;
}

/* Navigation links area */
.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-grow: 1;
  padding: 0 16px;
}

.nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 8px 12px;
  border-radius: 20px;
  color: var(--text-primary) !important;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
}

.nav-item span {
  flex-grow: 1;
  text-align: left;
}

.nav-item:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}

.nav-item:hover .nav-icon,
.nav-item:hover svg,
.nav-item:hover .arrow-right {
  color: var(--text-primary) !important;
}

.nav-item.active {
  background-color: #E7F8EE !important;
  color: #047857 !important;
  font-weight: 700 !important;
}

.nav-icon {
  margin-right: 12px;
  color: #64748b !important;
  /* Secondary text token */
  font-size: 14px;
  width: 16px;
  text-align: center;
  transition: color 0.2s ease;
}

.nav-item.active .nav-icon,
.nav-item.active svg,
.nav-item.active .arrow-right {
  color: #15803d !important;
}

.nav-left {
  display: flex;
  align-items: center;
}

.arrow-right {
  font-size: 10px;
  color: var(--text-primary);
}

.sidebar-user-container {
  padding: 12px 16px 12px 6px !important;
}

.sidebar-collapsed .sidebar-user-container {
  padding: 12px 0 !important;
  display: flex;
  justify-content: center;
}

/* User Profile Section */
.sidebar-user {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-top: 1px solid var(--border-color);
  margin-top: auto;
}

.sidebar-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 1px solid #f3f4f6;
  padding-top: 16px !important;
  min-width: 0;
}

.hr-sidebar .avatar-circle {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  background: #d1fae5 !important;
  color: #16a34a !important;
  border: 1px solid #bbf7d0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.user-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
}

.user-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) !important;
  /* Primary text token */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-email {
  font-size: 12px;
  color: #94a3b8 !important;
  /* Muted text token */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* MAIN CONTENT AREA STYLES */
.hr-setup-layout .hr-main-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  background: #F8F9FA !important;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.hr-setup-layout .hr-main-content::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.hr-setup-layout .hr-main-content::-webkit-scrollbar-track {
  background: transparent;
}

.hr-setup-layout .hr-main-content::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

.hr-setup-layout .hr-main-content::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

.theme-dark .hr-setup-layout .hr-main-content::-webkit-scrollbar-thumb {
  background: #4b5563;
}

.theme-dark .hr-setup-layout .hr-main-content::-webkit-scrollbar-thumb:hover {
  background: #6b7280;
}

.hr-setup-layout .hr-main-content.dashboard-bg {
  background-color: #F8F9FA !important;
}

.hr-setup-layout .hr-main-content.dashboard-bg .content-header {
  background: #F8F9FA !important;
  border-bottom: 1px solid var(--border-color) !important;
}

/* Header/Breadcrumb Bar */
.hr-setup-layout .content-header,
.recruitment-layout .content-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 32px 0 24px !important;
  /* 24px left padding, 24px + 8px right padding */
  margin-top: 0 !important;
  /* Overrides margin-top: -32px from ShiftAttendance */
  margin-bottom: 0 !important;
  /* Overrides margin-bottom: 12px from ShiftAttendance */
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #F8F9FA !important;
  border-bottom: 1px solid var(--border-color) !important;
  /* Design token border */
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  height: 60px !important;
  min-height: 60px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.hr-setup-layout .breadcrumb-section,
.recruitment-layout .breadcrumb-section {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px !important;
  /* Matched to Shift & Attendance 13px font-size */
  color: var(--text-primary);
}

.sidebar-toggle-btn {
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
  font-size: 15px;
  margin-right: 8px;
}

.sidebar-toggle-btn:hover {
  color: var(--text-primary);
}

.hr-setup-layout .breadcrumb-home-btn,
.recruitment-layout .breadcrumb-home-btn {
  background: transparent !important;
  border: none !important;
  padding: 4px !important;
  margin: 0 !important;
  cursor: pointer;
  color: #64748b !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  height: auto !important;
  min-height: 0 !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}

.hr-setup-layout .breadcrumb-home-btn:hover,
.recruitment-layout .breadcrumb-home-btn:hover {
  color: var(--text-primary) !important;
  background: var(--hover-bg) !important;
}

.hr-setup-layout .breadcrumb-home-icon,
.recruitment-layout .breadcrumb-home-icon {
  font-size: 14px !important;
  /* Matched to Shift & Attendance 14px */
  color: inherit;
}

.hr-setup-layout .breadcrumb-separator,
.recruitment-layout .breadcrumb-separator {
  color: var(--text-primary);
  font-weight: 500 !important;
  font-size: 13px !important;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin: 0 !important;
}

.hr-setup-layout .breadcrumb-parent,
.recruitment-layout .breadcrumb-parent {
  color: var(--text-primary);
  font-weight: 500;
  cursor: pointer;
  transition: color 0.2s ease;
  padding: 0;
  border-radius: 0;
  font-size: 13px !important;
  /* Matched to Shift & Attendance 13px */
}

.hr-setup-layout .breadcrumb-parent:hover,
.recruitment-layout .breadcrumb-parent:hover {
  color: var(--text-primary);
  text-decoration: none;
  background: transparent;
}

.hr-setup-layout .breadcrumb-current,
.recruitment-layout .breadcrumb-current {
  color: var(--text-primary);
  font-weight: 600;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  /* Matched to Shift & Attendance 13px */
}

.header-actions {
  display: flex;
  align-items: center;
}

.options-btn {
  background: none;
  border: none;
  padding: 6px 8px;
  cursor: pointer;
  color: var(--text-primary);
  font-size: 14px;
  border-radius: 18px;
  transition: background-color 0.2s, color 0.2s;
}

.options-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

/* Reports & Masters Section */
.reports-masters-container {
  padding: 24px;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}

.reports-header h2 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin-top: 0;
  margin-bottom: 20px;
}

/* Individual Grid Cards */
.reports-card-item {
  background: var(--bg-secondary);
  border-radius: 20px;
  border: 1px solid var(--border-color);
  padding: 24px 28px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Columns Grid */
.reports-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* On smaller screens adjust columns */
@media (max-width: 1024px) {
  .reports-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .reports-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .hr-sidebar {
    display: none;
  }
}

.section-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
  padding-bottom: 2px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.section-links-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.link-item {
  display: flex;
}

.link-text {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-size: 13.5px;
  color: var(--text-primary);
  font-weight: 450;
  transition: color 0.15s ease;
  line-height: 1.4;
  width: -moz-fit-content;
  width: fit-content;
}

.link-text:hover {
  color: #0b9e6f;
  text-decoration: none;
}

.arrow-indicator {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  color: var(--text-primary);
  font-weight: 500;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease;
}

.link-text:hover .arrow-indicator {
  color: #0b9e6f;
  transform: translate(3px, -3px);
}

/* SEARCH MODAL STYLES */
.search-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(1.5px);
}

.search-modal {
  background: var(--bg-secondary);
  width: 100%;
  max-width: 620px;
  border-radius: 20px;
  margin-top: 80px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  animation: modalSlideDown 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalSlideDown {
  from {
    transform: translateY(-16px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.search-modal-header {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #f1f2f4;
  gap: 12px;
}

.search-modal-icon {
  color: var(--text-primary);
  font-size: 15px;
}

.search-modal-header input {
  border: none;
  outline: none;
  width: 100%;
  font-size: 15px;
  color: var(--text-primary);
  background: transparent;
}

.search-modal-header input::-moz-placeholder {
  color: var(--text-primary);
}

.search-modal-header input::placeholder {
  color: var(--text-primary);
}

.search-modal-results {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 320px;
  overflow-y: auto;
}

.search-result-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 16px;
  border-radius: 20px;
  cursor: pointer;
  font-size: 15px;
  color: var(--text-primary);
  transition: background-color 0.15s ease;
}

.result-name {
  font-weight: 600;
  color: var(--text-primary);
}

.result-type {
  font-size: 15px;
  color: var(--text-primary);
  /* Elegant lighter gray inline text */
  font-weight: 400;
  margin-left: 6px;
}

.search-result-item:hover,
.search-result-item.active {
  background-color: var(--hover-bg);
}

.search-result-item.active .result-name {
  color: var(--text-primary);
}

.search-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 12px 20px;
  background-color: #fafafa;
  border-top: 1px solid #f1f2f4;
  gap: 20px;
  flex-wrap: wrap;
}

.shortcut-guide {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-primary);
}

kbd {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  box-shadow: 0 1px 0px rgba(0, 0, 0, 0.08);
  padding: 2px 6px;
  font-size: 10px;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1;
}

/* NOTIFICATION DRAWER STYLES */
.notification-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.08);
  /* Minimal overlay dimming */
  display: flex;
  justify-content: flex-start;
  z-index: 9900;
}

.notification-drawer {
  background: var(--bg-secondary);
  width: 100%;
  max-width: 440px;
  height: 100vh;
  margin-left: 260px;
  /* Sits immediately next to the sidebar */
  box-shadow: 10px 0 30px rgba(0, 0, 0, 0.03), -10px 0 30px rgba(0, 0, 0, 0.06);
  border-right: 1px solid #eef0f2;
  display: flex;
  flex-direction: column;
  position: relative;
  animation: drawerSlideRightIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes drawerSlideRightIn {
  from {
    transform: translateX(-24px);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color);
  background: var(--bg-secondary);
}

.drawer-tabs {
  display: flex;
  gap: 20px;
}

.drawer-tab {
  background: none;
  border: none;
  padding: 8px 0;
  font-size: 14.5px;
  font-weight: 550;
  color: var(--text-primary);
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
}

.drawer-tab:hover {
  color: var(--text-primary);
}

.drawer-tab.active {
  color: #16a34a;
  font-weight: 600;
}

.drawer-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #16a34a;
}

.drawer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.drawer-action-btn {
  background: none;
  border: none;
  padding: 6px;
  font-size: 15px;
  color: var(--text-primary);
  cursor: pointer;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s, color 0.15s;
}

.drawer-action-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.drawer-action-btn.close {
  font-size: 14px;
  font-weight: 500;
  margin-left: 4px;
}

.drawer-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  background: var(--bg-secondary);
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.mailbox-icon-container {
  margin-bottom: 8px;
}

.empty-state h3 {
  font-size: 15px;
  font-weight: 650;
  color: var(--text-primary);
  margin: 0;
}

.empty-state p {
  font-size: 13px;
  color: var(--text-primary);
  margin: 0;
  max-width: 250px;
  line-height: 1.4;
}

.drawer-collapse-btn {
  position: absolute;
  left: -16px;
  bottom: 120px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg-secondary);
  border: 1px solid #eef0f2;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  color: var(--text-primary);
  z-index: 10;
  transition: background-color 0.15s, color 0.15s, transform 0.15s ease;
}

.drawer-collapse-btn:hover {
  background: var(--bg-primary);
  color: var(--text-primary);
  transform: scale(1.05);
}

/* DASHBOARD METRICS STYLES */
.hr-setup-layout .dashboard-metrics-container,
.recruitment-layout .dashboard-metrics-container {
  padding: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  text-align: left !important;
}

/* Dashboard Filter Bar */
.dashboard-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  background: var(--bg-secondary);
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  margin-bottom: 24px;
  align-items: center;
  justify-content: space-between;
}

.dashboard-filter-bar .filter-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 150px;
}

.dashboard-filter-bar .filter-group .filter-label {
  font-family: Inter, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
  white-space: nowrap;
}

.filter-select-wrapper {
  position: relative;
  width: 100%;
}

.filter-select-wrapper select {
  border: 1px solid rgb(226, 232, 240);
  outline: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231E293B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat rgb(248, 250, 252);
  font-size: 13px;
  font-weight: 700 !important;
  color: var(--text-primary);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 6px 30px 6px 12px;
  border-radius: 6px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  width: 100%;
  min-width: 140px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.filter-select-wrapper select:focus {
  border-color: #3b82f6;
  background: var(--bg-secondary);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

.filter-select-wrapper .filter-chevron {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-primary);
  pointer-events: none;
  font-size: 14px;
}

.filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.reset-filters-btn {
  background: transparent;
  border: none;
  color: #3b82f6;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background-color 0.2s ease;
}

.reset-filters-btn:hover {
  background-color: #eff6ff;
}

.kpi-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

@media (max-width: 1024px) {
  .kpi-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .kpi-cards-grid {
    grid-template-columns: 1fr;
  }
}

.kpi-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 10px !important;
  padding: 17.5px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 125px !important;
  min-height: 125px !important;
  max-height: 125px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box !important;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.kpi-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

.kpi-card-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  flex-grow: 1;
}

.kpi-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.kpi-card-value {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  line-height: 1 !important;
  text-align: left;
  margin: 0 !important;
}

.kpi-trend {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  margin-top: 8px;
  text-align: left;
}

.kpi-trend .trend-arrow {
  font-size: 13px;
  line-height: 1;
}

.kpi-trend .trend-text {
  font-size: 12px;
}

.kpi-trend.trend-up {
  color: #047857 !important;
  /* Dark emerald green for high contrast */
}

.kpi-trend.trend-down {
  color: #b91c1c !important;
  /* Dark red for high contrast */
}

.kpi-trend.trend-neutral {
  color: #b45309 !important;
  /* Dark amber for high contrast */
}

.kpi-icon-wrapper {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

.kpi-icon-wrapper.blue {
  background-color: #eff6ff;
  color: #3b82f6;
}

.kpi-icon-wrapper.green {
  background-color: #f0fdf4;
  color: #22c55e;
}

.kpi-icon-wrapper.purple {
  background-color: #faf5ff;
  color: #a855f7;
}

.kpi-icon-wrapper.orange {
  background-color: #fff7ed;
  color: #f97316;
}

.kpi-icon-wrapper.red {
  background-color: #fef2f2;
  color: #ef4444;
}

.kpi-icon-wrapper.teal {
  background-color: #f0fdfa;
  color: #14b8a6;
}

/* KPI Dots */
.kpi-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.kpi-dot.dot-blue {
  background-color: #3b82f6;
}

.kpi-dot.dot-green {
  background-color: #10b981;
}

.kpi-dot.dot-purple {
  background-color: #a855f7;
}

.kpi-dot.dot-orange {
  background-color: #f97316;
}

.kpi-dot.dot-red {
  background-color: #ef4444;
}

.kpi-dot.dot-teal {
  background-color: #14b8a6;
}

/* KPI Info Modal Backdrop */
.kpi-info-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.2s ease;
}

/* KPI Info Modal Box */
.kpi-info-modal-box {
  background: var(--bg-secondary);
  border-radius: 24px;
  width: 800px;
  max-width: 95%;
  max-height: 90vh;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: slideUp 0.25s ease-out;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.kpi-info-modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.kpi-modal-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.kpi-info-modal-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
}

.kpi-info-modal-subtitle {
  font-size: 11px;
  color: var(--text-primary);
  font-weight: 500;
}

.kpi-info-modal-close-btn {
  background: var(--hover-bg);
  border: none;
  font-size: 12px;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.kpi-info-modal-close-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.kpi-info-modal-body {
  padding: 24px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.kpi-modal-grid-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.kpi-modal-value-card {
  width: 140px;
  height: 140px;
  background-color: #eff6ff;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 16px;
}

.value-card-label {
  font-size: 10px;
  font-weight: 700;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
}

.value-card-number {
  font-size: 32px;
  font-weight: 800;
  color: #1e3a8a;
}

.kpi-modal-details-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-grow: 1;
  text-align: left;
}

.kpi-details-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.kpi-details-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.kpi-details-icon.info-blue {
  color: #3b82f6;
  font-size: 14px;
}

.kpi-details-bullet-icon {
  color: #8b5cf6;
  font-weight: 700;
  font-size: 15px;
}

.kpi-details-text {
  font-size: 12.5px;
  color: var(--text-primary);
  margin: 0;
  line-height: 1.45;
}

.kpi-details-counts-box {
  background-color: #faf5ff;
  border: 1px solid #f3e8ff;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}

.kpi-details-counts-text {
  font-size: 12.5px;
  color: #7c3aed;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}

.insight-icon {
  color: #d97706;
  font-size: 15px;
}

.kpi-details-insight-box {
  background-color: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}

.kpi-details-insight-text {
  font-size: 12.5px;
  color: #b45309;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}

.kpi-info-modal-footer {
  padding: 16px 24px;
  background-color: var(--hover-bg);
  border-top: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.items-counted-section {
  display: flex;
  align-items: center;
  gap: 8px;
}

.items-counted-section .database-icon {
  color: #eab308;
  font-size: 14px;
}

.items-counted-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.kpi-info-modal-ok-btn {
  background-color: var(--text-primary);
  color: var(--text-primary);
  border: none;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kpi-info-modal-ok-btn:hover {
  background-color: var(--text-primary);
}

/* Drill-Down Table Layout & Alignments */
.items-counted-section-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 14px;
}

.items-counted-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.items-counted-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.items-counted-title .database-icon {
  color: #eab308;
  font-size: 15px;
}

.items-counted-list {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  max-height: 280px;
  overflow-y: auto;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
}

.no-items-counted {
  padding: 24px;
  text-align: center;
  color: var(--text-primary);
  font-size: 13.5px;
}

.drilldown-table-wrapper {
  width: 100%;
}

.drilldown-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.drilldown-table th {
  background-color: var(--hover-bg);
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border-color);
  position: sticky;
  top: 0;
  z-index: 10;
}

.drilldown-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-primary);
  font-size: 13px;
  vertical-align: middle;
}

.drilldown-table tr:last-child td {
  border-bottom: none;
}

.drilldown-table tr:hover td {
  background-color: var(--hover-bg);
}

.emp-info-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Custom override for smaller avatar in the table */
.drilldown-table .emp-avatar-circle {
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
  box-shadow: none !important;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
  font-weight: 700;
  flex-shrink: 0;
}

.drilldown-table .emp-avatar-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

.drilldown-table .emp-avatar-text {
  line-height: 1;
}

.emp-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.emp-meta-name {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 13.5px;
}

.emp-meta-email {
  font-size: 11px;
  color: var(--text-primary);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Dashboard Greeting Banner */
.hr-setup-layout .dashboard-greeting-banner {
  background: linear-gradient(to right, var(--hover-bg), #f9fafb) !important;
  border-radius: 12px !important;
  border: 1px solid var(--border-color) !important;
  padding: 14px 28px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Background Decorative SVGs positioning */
.hr-setup-layout .banner-bg-decor {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.hr-setup-layout .decor-left {
  left: 22% !important;
  top: -10px !important;
}

.hr-setup-layout .decor-center {
  left: 54% !important;
  top: -10px !important;
}

.hr-setup-layout .decor-right {
  right: 14% !important;
  top: -5px !important;
}

.hr-setup-layout .greeting-banner-left {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  position: relative !important;
  z-index: 1 !important;
  /* Render on top of SVGs */
}

.hr-setup-layout .greeting-banner-right {
  position: relative !important;
  z-index: 1 !important;
  /* Render on top of SVGs */
}

.greeting-banner-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.greeting-banner-text h1 {
  font-size: 26.25px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.025em;
  margin: 0;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.greeting-date {
  font-size: 12.25px;
  color: var(--text-primary);
  margin: 0;
}

/* Report Dropdown */
.report-btn-wrapper {
  position: relative;
  display: inline-block;
}

.report-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  min-width: 210px;
  z-index: 500;
  padding: 6px 0;
  animation: fadeInDown 0.15s ease;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.report-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  transition: background 0.15s ease;
}

.report-dropdown-item:hover {
  background-color: var(--hover-bg);
}

.report-dropdown-icon {
  font-size: 17px;
  flex-shrink: 0;
}

.pdf-icon {
  color: #e53e3e;
}

.xls-icon {
  color: #22863a;
}


.clock-hand.minute {
  width: 2.5px;
  height: 17px;
  background-color: var(--text-primary);
  z-index: 3;
  bottom: 50%;
  margin-left: -1.25px;
}

.clock-hand.second {
  width: 1px;
  height: 24px;
  background-color: #ef4444;
  z-index: 4;
  bottom: calc(50% - 5px);
  margin-left: -0.5px;
  transform-origin: center 19px;
  /* 19px from top = 5px from bottom of 24px height */
  border-radius: 0;
}

/* Clock notches/markings around the dial */
.clock-notch {
  position: absolute;
  left: 50%;
  transform-origin: center 26.5px;
  /* Matches center of bezel ring */
}

.clock-notch.minute-notch {
  width: 0.8px;
  height: 2px;
  background-color: #94a3b8;
  margin-left: -0.4px;
  top: 1.5px;
}

.clock-notch.hour-notch {
  width: 1.2px;
  height: 4px;
  background-color: var(--text-primary);
  margin-left: -0.6px;
  top: 1.5px;
}

/* Generate Report Button */
.generate-report-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.generate-report-btn:hover {
  background-color: #16a34a !important;
  box-shadow: none !important;
}

.generate-report-btn .btn-icon-left {
  font-size: 13px;
}

.generate-report-btn .btn-icon-right {
  font-size: 11px;
  opacity: 0.85;
  margin-left: 2px;
}

@media (max-width: 640px) {
  .hr-setup-layout .dashboard-greeting-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .generate-report-btn {
    width: 100%;
    justify-content: center;
  }
}

/* Report Generating Loader */
.report-generating-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  backdrop-filter: blur(2px);
  animation: fadeIn 0.2s ease;
}

.report-generating-box {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
  width: 280px;
  box-sizing: border-box;
}

.report-generating-box p {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  margin: 0;
  text-align: center;
}

.report-generating-box .spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #f1f5f9;
  border-top-color: #22c55e;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.charts-stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.chart-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex;
  flex-direction: column;
  gap: 12px !important;
}

.chart-card-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  border-bottom: 1px solid var(--border-color) !important;
  padding-bottom: 4px !important;
}

.chart-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px !important;
  text-align: left;
}

.chart-title-group h3 {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  margin: 0 0 2px 0 !important;
}

.chart-subtitle {
  font-size: 11px !important;
  color: #94a3b8 !important;
  display: block !important;
}

.chart-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hr-setup-layout .chart-card-header .kpi-info-icon {
  font-size: 18px !important;
  /* Size matching sa-card-action-btn size 17.91px */
  color: #94a3b8 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.15s ease !important;
  padding: 2px !important;
}

.hr-setup-layout .chart-card-header .kpi-info-icon:hover {
  color: #475569 !important;
}

.chart-action-btn {
  background: none;
  border: none;
  padding: 6px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s, color 0.15s;
}

.chart-action-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.chart-action-btn.filter {
  background-color: var(--hover-bg);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  padding: 5px 8px;
  border-radius: 18px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.chart-action-btn.filter:hover {
  background-color: #e5e7eb;
  color: var(--text-primary);
}

.chart-card-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}

.chart-grid-container {
  display: flex;
  gap: 16px;
  align-items: stretch;
  height: 180px;
  position: relative;
}

.chart-y-axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  width: 16px;
  font-size: 11px;
  color: var(--text-primary);
  font-weight: 500;
}

.chart-grid-lines {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  padding: 6px 0;
}

.grid-line {
  height: 1px;
  background-color: #f1f2f4;
  width: 100%;
}

.chart-x-axis {
  margin-left: 32px;
  font-size: 11px;
  color: var(--text-primary);
  font-weight: 500;
  text-align: center;
  margin-top: -8px;
}

.chart-legend {
  display: flex;
  gap: 24px;
  margin-left: 32px;
  font-size: 12px;
  color: var(--text-primary);
  font-weight: 500;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.legend-box {
  width: 12px;
  height: 12px;
  border-radius: 16px;
  display: inline-block;
}

.legend-box.hiring {
  background-color: #60a5fa;
  /* light blue matching screenshot */
}

.legend-box.attrition {
  background-color: #6366f1;
  /* violet matching screenshot */
}

.breadcrumb-parent {
  color: var(--text-primary);
  cursor: pointer;
  transition: color 0.15s ease;
}

.breadcrumb-parent:hover {
  color: var(--text-primary);
  text-decoration: underline;
}

.empty-tab-content {
  padding: 48px;
  text-align: center;
  color: var(--text-primary);
}

/* 2-Column Dashboard Cards Grid Layout */
.charts-grid-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

@media (max-width: 768px) {
  .charts-grid-two-col {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.chart-no-data-body {
  height: 200px;
  background-color: #f6f8fa;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
  font-size: 14.5px;
  font-weight: 550;
  border: 1px solid #f1f2f4;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.01);
}

.chart-x-axis.age-brackets {
  margin-left: 32px;
  display: flex;
  justify-content: space-between;
  font-size: 10.5px;
  color: var(--text-primary);
  font-weight: 500;
  margin-top: 4px;
  text-align: center;
}

/* EMPLOYEE WORKSPACE STYLES */
.employee-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.emp-action-btn {
  height: 30px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

body .emp-action-btn {
  height: 30px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 500;
  border-radius: 6px !important;
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease-in-out;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.emp-action-btn.border-btn {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

.emp-action-btn.border-btn:hover {
  background: var(--bg-primary);
  color: var(--text-primary);
  border-color: var(--text-muted);
}

.emp-action-btn.solid-btn {
  background-color: var(--text-primary);
  border: none;
  color: var(--text-primary);
  font-weight: 600;
  padding: 0 14px !important;
}

.emp-action-btn.solid-btn:hover {
  background-color: #111827;
}

.emp-action-btn.solid-btn.green-btn,
.emp-action-btn.solid-btn.green-save-btn {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: 1px solid #22c55e !important;
  padding: 6px 12px !important;
  font-weight: 500 !important;
}

.emp-action-btn.solid-btn.green-btn:hover,
.emp-action-btn.solid-btn.green-save-btn:hover {
  background-color: #16a34a !important;
  box-shadow: 0 2px 6px rgba(34, 197, 94, 0.25) !important;
}

.emp-action-icon {
  font-size: 14px;
  color: var(--text-primary);
}

.emp-chevron-icon {
  font-size: 11px;
  color: var(--text-primary);
  margin-left: 4px;
}

.refresh-btn {
  width: 38px;
  height: 38px;
  padding: 0 !important;
  justify-content: center;
}

.options-btn-dots {
  width: 38px;
  height: 38px;
  padding: 0 !important;
  justify-content: center;
}

/* Custom classes for inline support */
.emp-action-btn-icon {
  font-size: 15px;
  color: inherit;
}

.emp-action-btn.border-btn .emp-action-btn-icon {
  color: var(--text-primary);
}

.emp-action-btn.border-btn:hover .emp-action-btn-icon {
  color: var(--text-primary);
}

.emp-action-btn-chevron {
  font-size: 13px;
  color: var(--text-primary);
  margin-left: 2px;
}

.emp-action-btn:hover .emp-action-btn-chevron {
  color: var(--text-primary);
}

.employee-workspace-container {
  padding: 16px 24px;
  background: var(--bg-secondary);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-grow: 1;
}

.emp-filters-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.emp-filters-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-grow: 1;
}

.filter-field-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background-color: var(--hover-bg);
  border-radius: 18px;
  width: 160px;
  height: 32px;
  box-sizing: border-box;
  border: 1px solid transparent;
}

.filter-input {
  background: none;
  border: none;
  outline: none;
  padding: 0 10px;
  font-size: 13px;
  color: var(--text-primary);
  width: 100%;
  height: 100%;
}

.comparison-symbol {
  font-size: 14px;
  color: var(--text-primary);
  padding-right: 10px;
  font-weight: 500;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.emp-filters-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.emp-badge-btn {
  background-color: var(--hover-bg);
  border: none;
  border-radius: 18px;
  height: 32px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.15s;
}

.emp-badge-btn:hover {
  background-color: #e5e7eb;
}

.badge-btn-icon {
  font-size: 11px;
  color: var(--text-primary);
}

.badge-count {
  background-color: var(--text-primary);
  color: var(--text-primary);
  border-radius: 18px;
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
}

.badge-close {
  font-size: 10px;
  color: var(--text-primary);
  margin-left: 2px;
}

.emp-sort-btn {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 32px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.15s, border-color 0.15s;
}

.emp-sort-btn:hover {
  background: var(--bg-primary);
  border-color: #c1c5cb;
}

.sort-btn-icon {
  font-size: 11px;
  color: var(--text-primary);
}

.sort-chevron {
  font-size: 9px;
  color: var(--text-primary);
}

.emp-empty-state-card {
  background: var(--bg-secondary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 120px 24px;
  text-align: center;
  flex-grow: 1;
}

.empty-state-file-icon {
  margin-bottom: 16px;
  color: var(--text-primary);
}

.empty-state-message {
  font-size: 13px;
  color: var(--text-primary);
  margin: 0 0 16px 0;
  max-width: 480px;
  font-weight: 450;
  line-height: 1.4;
}

.empty-state-create-btn {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  padding: 7px 16px;
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.empty-state-create-btn:hover {
  background: var(--bg-primary);
  border-color: #c1c5cb;
  color: var(--text-primary);
}

/* ORG CHART WORKSPACE STYLES */
.org-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.org-action-btn {
  height: 32px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 18px;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
  box-sizing: border-box;
}

.org-action-btn.border-btn {
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

.org-action-btn.border-btn:hover {
  background-color: #e5e7eb;
  color: var(--text-primary);
  border-color: var(--border-color);
}

.org-workspace-container {
  padding: 16px 24px;
  background: var(--bg-secondary);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-grow: 1;
}

.org-select-wrapper {
  display: flex;
  justify-content: flex-start;
}

.org-select-company {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  padding: 0 16px;
  height: 32px;
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 500;
  width: 180px;
  outline: none;
  cursor: text;
  transition: border-color 0.15s ease;
}

.org-select-company:focus {
  border-color: #6b7280;
}

.org-company-dropdown {
  position: absolute;
  top: 36px;
  left: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  width: 240px;
  max-height: 200px;
  overflow-y: auto;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  z-index: 9999;
  padding: 4px 0;
  box-sizing: border-box;
}

.org-company-option {
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  transition: background-color 0.1s, color 0.1s;
}

.org-company-option:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.org-company-no-results {
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text-primary);
  text-align: left;
}

/* ORG ERROR MODAL STYLES */
.org-error-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.org-error-modal {
  background: var(--bg-secondary);
  border-radius: 20px;
  width: 100%;
  max-width: 500px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: errorModalZoomIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes errorModalZoomIn {
  from {
    transform: scale(0.95);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.org-error-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid #f1f2f4;
}

.org-error-title-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.org-error-dot {
  color: #c22b2b;
  /* dark red color matching dot */
  font-size: 16px;
  line-height: 1;
}

.org-error-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

.org-error-close-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-primary);
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
}

.org-error-close-btn:hover {
  color: var(--text-primary);
}

.org-error-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.org-error-message-line {
  font-size: 14.5px;
  color: var(--text-primary);
  line-height: 1.5;
  text-align: left;
}

.org-error-divider {
  height: 1px;
  background-color: #f1f2f4;
  width: 100%;
}

/* SIDEBAR SUBMENU STYLES */
.sidebar-submenu {
  display: flex;
  flex-direction: column;
  padding: 4px 0 6px 0;
  margin-left: 20px;
  border-left: 1.5px solid #cbd5e1;
  overflow: hidden;
  animation: submenuSlideDown 0.15s ease-out;
}

@keyframes submenuSlideDown {
  from {
    max-height: 0;
    opacity: 0;
  }

  to {
    max-height: 250px;
    opacity: 1;
  }
}

.submenu-item,
.sidebar-submenu .submenu-item {
  display: block;
  padding: 6px 12px 6px 14px;
  font-size: 13.5px;
  font-weight: 450;
  color: var(--text-primary);
  text-decoration: none;
  text-align: left;
  transition: all 0.15s ease;
  cursor: pointer;
  box-sizing: border-box;
  border: none !important;
  outline: none !important;
  background: transparent;
  box-shadow: none !important;
}

.submenu-item::before,
.sidebar-submenu .submenu-item::before {
  display: none !important;
  content: none !important;
}

.submenu-item:hover {
  color: #0b9e6f;
}

/* HR SETTINGS WORKSPACE STYLES */
.settings-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.settings-save-btn {
  background-color: #0b9e6f;
  color: var(--text-primary);
  font-weight: 600;
  font-size: 13px;
  height: 34px;
  padding: 0 18px;
  border-radius: 18px;
  border: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(11, 158, 111, 0.2);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.settings-save-btn:hover {
  background-color: #098a60;
  box-shadow: 0 4px 12px rgba(11, 158, 111, 0.3);
  transform: translateY(-1px);
}

.settings-save-btn:active {
  transform: translateY(0);
}

.settings-workspace-container {
  display: flex;
  flex-grow: 1;
  background-color: var(--hover-bg);
  min-height: calc(100vh - 57px);
  width: 100%;
  box-sizing: border-box;
}

.settings-left-content {
  flex: 1;
  min-width: 0;
  padding: 32px 24px 80px 24px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  box-sizing: border-box;
  background: var(--bg-secondary);
}

.settings-right-sidebar {
  width: 300px;
  flex-shrink: 0;
  border-left: 1px solid var(--border-color);
  padding: 32px 24px 64px 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 28px;
  background: var(--bg-secondary);
  text-align: left;
}

.settings-tabs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;
}

.settings-tab {
  background: none;
  border: none;
  padding: 10px 4px;
  font-size: 13.5px;
  font-weight: 550;
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
  border-bottom: 2px solid transparent;
}

.settings-tab:hover {
  color: #0b9e6f;
}

.settings-tab.active {
  color: #0b9e6f;
  font-weight: 600;
  border-bottom: 2px solid #0b9e6f;
}

.settings-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: left;
}

.settings-section-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.settings-grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 36px;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .settings-grid-2col {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .settings-workspace-container {
    flex-direction: column;
  }

  .settings-left-content {
    width: 100%;
  }

  .settings-right-sidebar {
    width: 100%;
    border-left: none;
    border-top: 1px solid var(--border-color);
  }
}

.settings-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

.settings-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.settings-select-input {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 36px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.2s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
  padding-right: 36px;
}

.settings-select-input:hover {
  border-color: #94a3b8;
}

.settings-select-input:focus {
  border-color: #0b9e6f;
  box-shadow: 0 0 0 3px rgba(11, 158, 111, 0.12);
}

.settings-text-input {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 36px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.2s ease-in-out;
}

.settings-text-input:hover {
  border-color: #94a3b8;
}

.settings-text-input:focus {
  border-color: #0b9e6f;
  box-shadow: 0 0 0 3px rgba(11, 158, 111, 0.12);
}

.settings-desc {
  font-size: 11px;
  color: var(--text-primary);
  margin-top: 2px;
}

.settings-section-divider {
  border: none;
  height: 1px;
  background-color: var(--hover-bg);
  margin: 8px 0;
  width: 100%;
}

.settings-checkbox-col {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
}

.settings-checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-weight: 500;
}

.settings-checkbox-label input[type="checkbox"] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid #cbd5e1;
  border-radius: 18px;
  outline: none;
  background: var(--bg-secondary);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-grid;
  place-content: center;
  cursor: pointer;
  position: relative;
  margin: 0;
}

.settings-checkbox-label input[type="checkbox"]::before {
  content: "";
  width: 9px;
  height: 9px;
  transform: scale(0);
  transition: 100ms transform ease-in-out;
  background: var(--bg-secondary);
  transform-origin: center;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.settings-checkbox-label input[type="checkbox"]:checked {
  border-color: #0b9e6f;
  background-color: #0b9e6f;
}

.settings-checkbox-label input[type="checkbox"]:checked::before {
  transform: scale(1.1);
}

.settings-checkbox-label input[type="checkbox"]:hover {
  border-color: #0b9e6f;
}

.required-star {
  color: #ef4444;
  margin-left: 2px;
  font-weight: bold;
}

.settings-comment-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
}

.settings-comment-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: #e0f2fe;
  color: #0369a1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12.5px;
  font-weight: 600;
  flex-shrink: 0;
  border: 1px solid #bae6fd;
}

.settings-comment-input-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  background: var(--bg-secondary);
  overflow: hidden;
  transition: all 0.2s ease;
}

.settings-comment-input-wrapper:focus-within {
  border-color: #0b9e6f;
  box-shadow: 0 0 0 3px rgba(11, 158, 111, 0.12);
}

.settings-comment-input {
  border: none;
  background: transparent;
  padding: 12px 16px;
  font-size: 13.5px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
}

.settings-comment-input::-moz-placeholder {
  color: var(--text-primary);
}

.settings-comment-input::placeholder {
  color: var(--text-primary);
}

.settings-comment-actions {
  display: flex;
  gap: 6px;
  padding: 8px 12px;
  background-color: var(--hover-bg);
  border-top: 1px solid var(--border-color);
  align-items: center;
}

.comment-formatting-btn {
  background: none;
  border: none;
  font-size: 12px;
  color: var(--text-primary);
  cursor: pointer;
  border-radius: 18px;
  width: 24px;
  height: 24px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

.comment-formatting-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.settings-activity-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 4px;
}

.settings-new-email-btn {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 600;
  border-radius: 18px;
  height: 32px;
  padding: 0 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.settings-new-email-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
  border-color: #94a3b8;
}

.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 16px;
  margin-bottom: 4px;
}

.sidebar-header-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.sidebar-heart-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
  padding: 4px;
  border-radius: 18px;
}

.sidebar-heart-btn:hover {
  color: #ef4444;
  background-color: var(--hover-bg);
}

.sidebar-options-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 4px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 16px;
}

.sidebar-option-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  box-sizing: border-box;
  background-color: transparent;
  border: none;
}

.option-link-left {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 550;
}

.sidebar-option-link:hover {
  background-color: transparent;
}

.sidebar-option-link:hover .option-link-left {
  color: var(--text-primary);
}

.sidebar-option-icon {
  font-size: 12.5px;
  color: var(--text-primary);
}

.sidebar-option-plus {
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
}

.sidebar-option-link:hover .sidebar-option-plus {
  color: var(--text-primary);
}

.sidebar-metadata {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  color: var(--text-primary);
  margin-top: 8px;
  text-align: left;
  width: 100%;
  background-color: transparent;
  border: none;
  padding: 4px;
  box-sizing: border-box;
}

.metadata-time {
  color: var(--text-primary);
  font-weight: normal;
}

/* ACTIVITY LIST TIMELINE STYLES */
.activity-list {
  list-style: none;
  padding: 12px 0 0 4px;
  margin: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}

.activity-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  padding-bottom: 24px;
  box-sizing: border-box;
}

.activity-item:last-child {
  padding-bottom: 0;
}

.activity-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #cbd5e1;
  border: 2px solid #ffffff;
  z-index: 2;
  margin-top: 5px;
  box-shadow: 0 0 0 2px #e2e8f0;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

.activity-item:hover .activity-dot {
  background-color: #0b9e6f;
  box-shadow: 0 0 0 2px rgba(11, 158, 111, 0.2);
}

.activity-line {
  position: absolute;
  left: 5px;
  top: 15px;
  bottom: 0;
  width: 1.5px;
  background-color: var(--hover-bg);
  z-index: 1;
}

.activity-content {
  font-size: 13px;
  color: var(--text-primary);
  text-align: left;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.timeline-time {
  color: var(--text-primary);
  font-weight: 400;
}

.activity-collapse-btn {
  background-color: var(--hover-bg);
  border: none;
  border-radius: 18px;
  width: 26px;
  height: 26px;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  margin-left: auto;
  font-size: 9px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.activity-collapse-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.settings-bottom-spacer {
  height: 64px;
  width: 100%;
  flex-shrink: 0;
}

/* Brand Dropdown Menu Styles */
.brand-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 240px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  z-index: 10000;
  padding: 6px;
  box-sizing: border-box;
  animation: dropdownFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.brand-dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

.brand-dropdown-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.brand-dropdown-item.logout:hover {
  background-color: #fef2f2;
  color: #dc2626;
}

.dropdown-item-icon {
  font-size: 13.5px;
  color: var(--text-primary);
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}

.brand-dropdown-item:hover .dropdown-item-icon {
  color: inherit;
}

.dropdown-item-text {
  flex-grow: 1;
  text-align: left;
}

.dropdown-item-arrow {
  font-size: 9px;
  color: var(--text-primary);
}

.dropdown-item-shortcut {
  font-size: 11px;
  color: var(--text-primary);
  font-family: inherit;
}

.brand-dropdown-divider {
  height: 1px;
  background-color: var(--hover-bg);
  margin: 6px 4px;
}

/* Adjust position when sidebar is collapsed */
.sidebar-collapsed .brand-dropdown-menu {
  left: 8px;
  width: 200px;
}

/* Workspace Submenu Styles */
.brand-dropdown-item.workspace-item {
  position: relative;
}

.desktop-submenu {
  display: none;
  position: absolute;
  top: -8px;
  left: calc(100% + 4px);
  width: 220px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  z-index: 10005;
  padding: 6px;
  box-sizing: border-box;
  flex-direction: column;
}

.brand-dropdown-item.workspace-item:hover .desktop-submenu {
  display: flex;
}

.desktop-submenu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 10px;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

.desktop-submenu-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.submenu-circle-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #0b9e6f;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex-shrink: 0;
}

.submenu-text {
  text-align: left;
}

/* Adjust position when sidebar is collapsed */
.sidebar-collapsed .desktop-submenu {
  left: calc(100% + 4px);
}

/* Desktop Full Page Dashboard Styles */
.desktop-full-page .hr-sidebar {
  display: none !important;
}

.desktop-full-page .hr-main-content {
  width: 100%;
  background: var(--bg-secondary);
}

.desktop-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  background: var(--bg-secondary);
  border-bottom: 1px solid #eef0f2;
  border-top: 4px solid #1f2937;
  /* Dark top accent bar */
  height: 52px;
  box-sizing: border-box;
}

.desktop-logo-box {
  width: 28px;
  height: 28px;
  background-color: #475569;
  /* Dark background matching mockup branding box */
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: all 0.15s ease;
}

.desktop-logo-box:hover {
  background-color: #0b9e6f;
  /* Highlights green on hover */
}

.desktop-header-center {
  flex-grow: 1;
  max-width: 320px;
  /* Centered, compact search box width */
  margin: 0 auto;
}

.desktop-search-bar {
  display: flex;
  align-items: center;
  background-color: var(--hover-bg);
  /* Flat, borderless grey input */
  border-radius: 18px;
  padding: 6px 12px;
  gap: 8px;
  cursor: pointer;
  height: 30px;
  box-sizing: border-box;
  color: var(--text-primary);
  /* Light grey placeholder look */
  font-size: 13px;
  border: none;
  transition: all 0.15s ease;
  width: 100%;
}

.desktop-search-bar:hover {
  background-color: #e5e7eb;
}

.desktop-search-icon {
  font-size: 12px;
}

.desktop-search-kbd {
  margin-left: auto;
  font-size: 11px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  padding: 1px 5px;
  border-radius: 18px;
  font-weight: 600;
}

.desktop-header-right {
  display: flex;
  align-items: center;
  gap: 18px;
}

.desktop-header-bell {
  color: var(--text-primary);
  cursor: pointer;
  font-size: 16px;
  transition: color 0.15s ease;
}

.desktop-header-bell:hover {
  color: var(--text-primary);
}

.desktop-header-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #e0f2fe;
  color: #0369a1;
  font-weight: 600;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #bae6fd;
  cursor: pointer;
}

/* Banner Styles */
.desktop-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 16px 24px;
  margin: 32px auto 0 auto;
  max-width: 1000px;
  width: calc(100% - 48px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box;
}

.desktop-banner-left {
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: left;
}

.desktop-banner-info-icon {
  font-size: 18px;
  color: var(--text-primary);
}

.desktop-banner-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.desktop-banner-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.desktop-banner-subtitle {
  font-size: 11.5px;
  color: var(--text-primary);
}

.desktop-banner-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.desktop-banner-upgrade-btn {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  border-radius: 18px;
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.desktop-banner-upgrade-btn:hover {
  background-color: var(--hover-bg);
  border-color: #94a3b8;
}

.desktop-banner-close-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  font-size: 12px;
  cursor: pointer;
  padding: 4px;
  transition: color 0.15s ease;
}

.desktop-banner-close-btn:hover {
  color: var(--text-primary);
}

/* Grid Container & Tiles */
.desktop-grid-container {
  display: flex;
  justify-content: center;
  padding: 40px 24px;
  width: 100%;
  box-sizing: border-box;
}

.desktop-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 36px 48px;
  max-width: 1000px;
  width: 100%;
}

@media (max-width: 900px) {
  .desktop-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 600px) {
  .desktop-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.desktop-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.desktop-tile:hover {
  transform: translateY(-2px);
}

.desktop-tile-icon-box {
  width: 54px;
  height: 54px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--text-primary);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.desktop-tile-icon-box.grey {
  background-color: #64748b;
}

.desktop-tile-icon-box.blue {
  background-color: #1e88e5;
}

.desktop-tile-icon-box.green {
  background-color: #0b9e6f;
}

.desktop-tile-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  text-align: center;
  white-space: nowrap;
}

/* Display Submenu Styles */
.brand-dropdown-item.display-item {
  position: relative;
}

.display-submenu {
  display: none;
  position: absolute;
  top: -8px;
  left: calc(100% + 4px);
  width: 240px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  z-index: 10005;
  padding: 6px;
  box-sizing: border-box;
  flex-direction: column;
}

.brand-dropdown-item.display-item:hover .display-submenu {
  display: flex;
}

.session-defaults-submenu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

.session-defaults-submenu-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.session-defaults-submenu-item .submenu-item-icon {
  font-size: 13px;
  color: var(--text-primary);
  width: 16px;
  text-align: center;
  flex-shrink: 0;
}

.session-defaults-submenu-item:hover .submenu-item-icon {
  color: inherit;
}

.session-defaults-submenu-item .submenu-item-text {
  flex-grow: 1;
  text-align: left;
}

.session-defaults-submenu-item .submenu-item-shortcut {
  font-size: 11px;
  color: var(--text-primary);
  font-family: inherit;
}

/* Help Submenu Styles */
.brand-dropdown-item.help-item {
  position: relative;
}

.help-submenu {
  display: none;
  position: absolute;
  bottom: -6px;
  /* Align with bottom edge of Help item so it stays in page bounds */
  left: calc(100% + 4px);
  width: 200px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  z-index: 10005;
  padding: 6px;
  box-sizing: border-box;
  flex-direction: column;
}

.brand-dropdown-item.help-item:hover .help-submenu {
  display: flex;
}

.help-submenu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
  text-align: left;
}

.help-submenu-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.help-submenu-item .submenu-item-text {
  flex-grow: 1;
}

.help-submenu-item .submenu-item-shortcut {
  font-size: 11px;
  color: var(--text-primary);
  font-family: inherit;
}

/* Logout Confirmation Modal Styles */
.logout-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.45);
  /* Dimmed backdrop */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20000;
  animation: modalFadeIn 0.2s ease;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.logout-modal-box {
  width: 440px;
  background: var(--bg-secondary);
  border-radius: 20px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  animation: modalScaleIn 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
  text-align: left;
}

@keyframes modalScaleIn {
  from {
    transform: scale(0.95);
  }

  to {
    transform: scale(1);
  }
}

.logout-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-color);
}

.logout-modal-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

.logout-modal-close-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  font-size: 13px;
  cursor: pointer;
  padding: 4px;
  transition: color 0.15s ease;
}

.logout-modal-close-btn:hover {
  color: var(--text-primary);
}

.logout-modal-body {
  padding: 20px;
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

.logout-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 20px 16px 20px;
}

.logout-modal-no-btn {
  background-color: var(--hover-bg);
  color: var(--text-primary);
  border: none;
  border-radius: 18px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.logout-modal-no-btn:hover {
  background-color: var(--hover-bg);
}

.logout-modal-yes-btn {
  background-color: var(--text-primary);
  color: var(--text-primary);
  border: none;
  border-radius: 18px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.logout-modal-yes-btn:hover {
  background-color: var(--text-primary);
}

/* Switch Theme Modal Styles */
.theme-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20000;
  animation: modalFadeIn 0.2s ease;
}

.theme-modal-box {
  width: 580px;
  background-color: #18181b;
  /* Dark theme dialog container */
  color: var(--text-primary);
  border-radius: 20px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  animation: modalScaleIn 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}

.theme-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid #27272a;
}

.theme-modal-title {
  font-size: 16px;
  font-weight: 700;
}

.theme-modal-close-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  font-size: 14px;
  cursor: pointer;
  padding: 4px;
  transition: color 0.15s ease;
}

.theme-modal-close-btn:hover {
  color: var(--text-primary);
}

.theme-modal-body {
  padding: 24px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.theme-option-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.theme-card-preview {
  position: relative;
  width: 100%;
  height: 96px;
  border-radius: 20px;
  cursor: pointer;
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid transparent;
  transition: all 0.2s ease;
}

.theme-card-preview.light {
  background: var(--bg-secondary);
  box-shadow: inset 0 0 0 1px #e2e8f0;
}

.theme-card-preview.dark {
  background-color: #09090b;
  box-shadow: inset 0 0 0 1px #27272a;
}

.theme-card-preview.auto {
  display: flex;
  background: var(--bg-secondary);
}

.preview-split-left {
  width: 50%;
  height: 100%;
  background: var(--bg-secondary);
}

.preview-split-right {
  width: 50%;
  height: 100%;
  background-color: #18181b;
}

/* Simulated UI features inside preview cards */
.theme-card-preview .preview-top-bar {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 48px;
  height: 12px;
  border-radius: 18px;
}

.theme-card-preview.light .preview-top-bar {
  background-color: #e4e4e7;
}

.theme-card-preview.dark .preview-top-bar {
  background-color: #27272a;
}

.theme-card-preview.auto .preview-top-bar {
  background-color: #e4e4e7;
}

.theme-card-preview .preview-bubble {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 24px;
  height: 12px;
  border-radius: 18px;
}

.theme-card-preview.light .preview-bubble {
  background-color: #18181b;
}

.theme-card-preview.dark .preview-bubble {
  background: var(--bg-secondary);
}

/* Selection Highlight Rings */
.theme-card-preview.selected {
  border-color: #ffffff;
  /* White border outline around selected option */
  transform: scale(1.02);
}

.theme-card-preview.light.selected {
  border-color: #18181b;
}

.theme-card-preview.dark.selected {
  border-color: #ffffff;
}

.theme-card-preview.auto.selected {
  border-color: #71717a;
}

/* Check badge */
.preview-check-badge {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #f4f4f5;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.2s ease;
}

.theme-card-preview.selected .preview-check-badge {
  opacity: 1;
  transform: scale(1);
}

.theme-option-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
}

/* Timeless Night (Dark Mode) Theme Overrides */
.theme-dark {
  background-color: #111111 !important;
  color: #f4f4f5 !important;
}

.theme-dark .hr-sidebar {
  background-color: #18181b !important;
  border-right-color: #27272a !important;
}

.theme-dark .hr-sidebar .sidebar-brand {
  border-bottom-color: #27272a !important;
}

.theme-dark .hr-sidebar .sidebar-brand .brand-title {
  color: #ffffff !important;
}

.theme-dark .hr-sidebar .sidebar-brand .brand-chevron {
  color: #a1a1aa !important;
}

.theme-dark .hr-sidebar .nav-item {
  color: #a1a1aa !important;
}

.theme-dark .hr-sidebar .nav-item:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .hr-sidebar .nav-item.active {
  background-color: #27272a !important;
  color: #10b981 !important;
}

.theme-dark .hr-sidebar .sidebar-footer {
  border-top-color: #27272a !important;
}

.theme-dark .hr-sidebar .sidebar-footer .user-name {
  color: #ffffff !important;
}

.theme-dark .hr-sidebar .sidebar-footer .user-email {
  color: #71717a !important;
}

.theme-dark .hr-main-content {
  background-color: #111111 !important;
  color: #f4f4f5 !important;
}

.theme-dark .content-header {
  background-color: #111111 !important;
  border-bottom-color: transparent !important;
  /* Flat breadcrumb bar, no outline */
  color: #ffffff !important;
}

.theme-dark .content-header .breadcrumb-parent {
  color: #a1a1aa !important;
}

.theme-dark .content-header .breadcrumb-current {
  color: #ffffff !important;
}

/* Reports & Masters dark overrides */
.theme-dark .reports-masters-container {
  background-color: #111111 !important;
}

.theme-dark .reports-header h2 {
  color: #ffffff !important;
}

.theme-dark .reports-card-item {
  background: #1b1b1d !important;
  /* Solid dark grey cards */
  border-color: #28282a !important;
  box-shadow: none !important;
}

.theme-dark .section-title {
  color: #ffffff !important;
}

.theme-dark .link-text {
  color: #cbd5e1 !important;
}

.theme-dark .link-text:hover {
  color: #ffffff !important;
}

.theme-dark .arrow-indicator {
  color: #71717a !important;
}

.theme-dark .settings-left-content {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .settings-section {
  color: #f4f4f5 !important;
}

.theme-dark .settings-section-title {
  color: #ffffff !important;
  border-bottom-color: #27272a !important;
}

.theme-dark .settings-text-input,
.theme-dark .settings-select-input {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
  color: #ffffff !important;
}

.theme-dark .settings-label {
  color: #a1a1aa !important;
}

.theme-dark .settings-desc {
  color: #71717a !important;
}

.theme-dark .settings-tab {
  color: #a1a1aa !important;
}

.theme-dark .settings-tab.active {
  color: #10b981 !important;
  border-bottom-color: #10b981 !important;
}

.theme-dark .settings-right-sidebar {
  background-color: #18181b !important;
  border-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .sidebar-option-link {
  color: #a1a1aa !important;
  border-color: #27272a !important;
}

.theme-dark .sidebar-option-link:hover {
  background-color: #27272a !important;
}

.theme-dark .comment-input-box {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .comment-textarea {
  background-color: #27272a !important;
  color: #ffffff !important;
  border-color: #3f3f46 !important;
}

.theme-dark .formatting-bar {
  background-color: #18181b !important;
  border-bottom-color: #27272a !important;
}

.theme-dark .format-btn {
  color: #a1a1aa !important;
}

.theme-dark .format-btn:hover {
  background-color: #27272a !important;
}

.theme-dark .activity-item-card {
  background-color: #18181b !important;
  border-color: #27272a !important;
  color: #f4f4f5 !important;
}

.theme-dark .activity-title {
  color: #ffffff !important;
}

.theme-dark .activity-time {
  color: #71717a !important;
}

.theme-dark .timeline-border-line {
  background-color: #27272a !important;
}

.theme-dark .desktop-header {
  background-color: #18181b !important;
  border-bottom-color: #27272a !important;
  border-top-color: #10b981 !important;
  /* Elegant green accent bar on top of dark mode */
}

.theme-dark .desktop-logo-box {
  background-color: #27272a !important;
}

.theme-dark .desktop-search-bar {
  background-color: #27272a !important;
  color: #71717a !important;
}

.theme-dark .desktop-search-kbd {
  background-color: #18181b !important;
  border-color: #3f3f46 !important;
  color: #71717a !important;
}

.theme-dark .desktop-banner {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .desktop-banner-title {
  color: #ffffff !important;
}

.theme-dark .desktop-banner-subtitle {
  color: #a1a1aa !important;
}

.theme-dark .desktop-banner-upgrade-btn {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
  color: #ffffff !important;
}

.theme-dark .desktop-banner-upgrade-btn:hover {
  background-color: #3f3f46 !important;
}

.theme-dark .desktop-tile-name {
  color: #a1a1aa !important;
}

.theme-dark .desktop-tile:hover .desktop-tile-name {
  color: #ffffff !important;
}

/* Centered content limits (Normal Mode) - Updated to fit page full width */
.reports-grid,
.reports-header,
.settings-workspace-container,
.employee-workspace-container,
.dashboard-metrics-container {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  box-sizing: border-box;
}

/* Toggle Full Width Layout Overrides (Active Mode) */
.layout-full-width .reports-grid,
.layout-full-width .reports-header,
.layout-full-width .settings-workspace-container,
.layout-full-width .employee-workspace-container,
.layout-full-width .dashboard-metrics-container {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Assign ToDo Modal Styles */
.assign-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20000;
}

.assign-modal-container {
  background: var(--bg-secondary);
  border-radius: 20px;
  width: 540px;
  max-width: 90%;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  animation: modalFadeIn 0.2s ease-out;
  border: 1px solid var(--border-color);
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.assign-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color);
}

.assign-modal-header h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

.assign-modal-close-btn {
  background: none;
  border: none;
  font-size: 14px;
  color: var(--text-primary);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
}

.assign-modal-close-btn:hover {
  color: var(--text-primary);
}

.assign-modal-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-sizing: border-box;
  text-align: left;
}

.assign-checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-weight: 500;
}

.assign-checkbox-row input[type="checkbox"] {
  width: 15px;
  height: 15px;
  border: 1.5px solid #cbd5e1;
  border-radius: 18px;
  cursor: pointer;
}

.assign-field-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.assign-field-group label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.assign-field-group label span {
  color: #ef4444;
  margin-left: 2px;
}

.assign-input-text {
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 38px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s ease;
}

.assign-input-text:focus {
  border-color: #0b9e6f;
  background: var(--bg-secondary);
}

/* Custom Select styles */
.assign-select-custom {
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 38px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.assign-select-custom:hover {
  border-color: var(--border-color);
}

.assign-select-chevron {
  color: var(--text-primary);
  font-size: 14px;
}

/* Priority custom dropdown list */
.priority-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  z-index: 20006;
  padding: 4px 0;
  box-sizing: border-box;
}

.priority-dropdown-item {
  padding: 10px 14px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.priority-dropdown-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.priority-dropdown-item.selected {
  background-color: var(--hover-bg);
  color: var(--text-primary);
  font-weight: 500;
}

/* Calendar Date Picker Popup Styles */
.calendar-popup {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 280px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  z-index: 20006;
  padding: 16px;
  box-sizing: border-box;
}

/* Upward pointing triangle arrow for calendar popup */
.calendar-popup::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 20px;
  width: 10px;
  height: 10px;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
  transform: rotate(45deg);
}

.calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 8px;
}

.calendar-month-year {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.calendar-nav-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 18px;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.calendar-nav-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.calendar-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 8px;
  text-align: center;
}

.calendar-weekday {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  padding: 2px 0;
}

.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 12px;
}

.calendar-day-btn {
  background: none;
  border: none;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
  height: 32px;
  width: 32px;
  border-radius: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.calendar-day-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.calendar-day-btn.faded {
  color: var(--text-primary);
}

.calendar-day-btn.selected {
  background-color: var(--text-primary);
  color: #ffffff !important;
  font-weight: 600;
}

.calendar-footer {
  border-top: 1px solid var(--border-color);
  padding-top: 8px;
  display: flex;
  justify-content: center;
}

.calendar-today-btn {
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  cursor: pointer;
  padding: 6px 16px;
  border-radius: 18px;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.calendar-today-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.assign-modal-divider {
  border: none;
  height: 1px;
  background-color: var(--hover-bg);
  margin: 4px 0;
  width: 100%;
}

.assign-grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.assign-select {
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 38px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='8 11 12 7 16 11 M8 13 12 17 16 13'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
}

.assign-select:focus {
  border-color: #0b9e6f;
  background: var(--bg-secondary);
}

.rich-editor-wrapper {
  border: 1px solid var(--border-color);
  border-radius: 20px;
  background: var(--bg-secondary);
}

.rich-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 8px 12px;
  background-color: var(--hover-bg);
  border-bottom: 1px solid var(--border-color);
  align-items: center;
  font-size: 12px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.toolbar-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  cursor: pointer;
  padding: 2px 4px;
  font-weight: 500;
  border-radius: 18px;
  transition: all 0.1s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toolbar-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.toolbar-select {
  background: none;
  border: none;
  font-size: 12px;
  color: var(--text-primary);
  cursor: pointer;
  padding-right: 12px;
  font-weight: 500;
  outline: none;
}

.toolbar-separator {
  color: var(--text-primary);
}

.toolbar-btn.active {
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

/* Color Picker Dropdown */
.color-picker-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 8px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
  z-index: 20007;
  width: 170px;
  box-sizing: border-box;
}

.color-picker-cell {
  width: 20px;
  height: 20px;
  border-radius: 18px;
  cursor: pointer;
  border: 1px solid var(--border-color);
  transition: transform 0.1s ease;
}

.color-picker-cell:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 2px #cbd5e1;
}

/* Table Menu Dropdown */
.table-menu-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 6px 0;
  z-index: 20007;
  width: 160px;
  box-sizing: border-box;
}

.table-menu-item {
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.table-menu-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.rich-editor-textarea {
  width: 100%;
  min-height: 180px;
  border: none;
  outline: none;
  padding: 12px;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 13px;
  color: var(--text-primary);
  resize: vertical;
  background: var(--bg-secondary);
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  overflow-y: auto;
  text-align: left;
}

.rich-editor-textarea[placeholder]:empty::before {
  content: attr(placeholder);
  color: var(--text-primary);
  cursor: text;
}

.assign-modal-footer {
  display: flex;
  justify-content: flex-end;
  padding: 16px 24px;
  border-top: 1px solid var(--border-color);
}

.assign-add-btn {
  background-color: var(--text-primary);
  color: var(--text-primary);
  border: none;
  border-radius: 18px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.assign-add-btn:hover {
  background-color: var(--text-primary);
}

/* User Group Autocomplete Dropdown Styles */
.user-group-dropdown {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  width: 100%;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  z-index: 20005;
  padding: 4px 0;
  box-sizing: border-box;
}

.user-group-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.user-group-dropdown-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.dropdown-item-icon {
  font-size: 12.5px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
}

/* New User Group Workspace styles */
.badge-not-saved {
  background-color: #fff7ed;
  color: #ea580c;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 20px;
  margin-left: 12px;
  line-height: 1.5;
  display: inline-block;
  align-self: center;
}

.user-group-save-btn {
  background-color: var(--text-primary);
  color: var(--text-primary);
  border: none;
  border-radius: 18px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.user-group-save-btn:hover {
  background-color: var(--text-primary);
}

.user-group-form-container {
  background: var(--bg-secondary);
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  min-height: calc(100vh - 57px);
}

.user-group-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

.user-group-label {
  font-size: 12.5px;
  font-weight: 600;
  color: #000000;
  /* Black labels */
}

.user-group-label span {
  color: #ef4444;
  /* Red asterisk */
  margin-left: 2px;
}

.user-group-input {
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  height: 38px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s ease;
}

.user-group-input:focus {
  border-color: #0b9e6f;
  background: var(--bg-secondary);
}

.name-input {
  max-width: 500px;
}

.members-input {
  width: 100%;
}

/* EMPLOYEE ADD FORM & LIST VIEW STYLES */
.emp-form-card {
  background: var(--bg-secondary);
  border-radius: 20px;
  border: 1px solid #eef0f2;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  padding: 24px;
  margin-top: 8px;
  text-align: left;
}

.hr-setup-layout .emp-list-card,
.employee-workspace-container .emp-list-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 8px;
  text-align: left;
}

.emp-form-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 8px;
  margin-bottom: 16px;
}

.emp-form-tab {
  background: var(--hover-bg);
  border: 1px solid var(--border-color);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  padding: 8px 16px;
  border-radius: 20px;
  position: relative;
  transition: all 0.2s ease;
}

.emp-form-tab:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
  border-color: var(--border-color);
}

.emp-form-tab.active {
  background: #16a34a;
  color: #ffffff;
  border-color: #16a34a;
  font-weight: 600;
}

.emp-form-tab.active::after {
  display: none;
}

/* Form layouts */
.form-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 32px;
       column-gap: 32px;
  row-gap: 20px;
}

@media (max-width: 992px) {
  .form-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .form-grid-3 {
    grid-template-columns: 1fr;
  }
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.required-star {
  color: #ef4444;
  margin-left: 2px;
}

.form-input,
.form-select {
  height: 38px;
  background-color: var(--hover-bg);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  padding: 0 12px;
  font-size: 13.5px;
  color: var(--text-primary);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.15s ease;
}

.form-input:focus,
.form-select:focus {
  border-color: #94a3b8;
  background: var(--bg-secondary);
}

.input-hint,
.checkbox-hint {
  font-size: 11px;
  color: var(--text-primary);
  line-height: 1.4;
  margin-top: 2px;
}

/* Collapsible sections */
.collapsible-section-wrapper {
  margin: 16px 0;
}

.collapsible-header {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 8px 0;
}

.collapsible-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
}

.user-details-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-top: 12px;
}

@media (max-width: 768px) {
  .user-details-grid {
    grid-template-columns: 1fr;
  }
}

.checkbox-alignment-group {
  justify-content: flex-start;
  gap: 4px;
  padding-top: 4px;
}

.checkbox-label-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.form-checkbox {
  width: 16px;
  height: 16px;
  border-radius: 18px;
  border: 1px solid var(--border-color);
  cursor: pointer;
}

.checkbox-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.form-section-divider {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: 24px 0;
}

.section-subtitle {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 16px 0;
}

/* Header customization for saves */
.green-save-btn {
  background-color: #22c55e !important;
}

.green-save-btn:hover {
  background-color: #16a34a !important;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2) !important;
}

.add-emp-primary {
  background-color: var(--text-primary) !important;
}

.add-emp-primary:hover {
  background-color: var(--text-primary) !important;
}

/* List view table styling */
.table-responsive-wrapper {
  overflow-x: auto;
  width: 100%;
}

.employee-list-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.employee-list-table th {
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #f1f5f9;
}

.employee-list-table td {
  padding: 14px 16px;
  font-size: 13.5px;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-color);
}

.employee-list-table tr:hover td {
  background-color: var(--hover-bg);
}

.emp-cell-id {
  font-weight: 600;
  color: var(--text-primary);
}

.emp-cell-name {
  font-weight: 500;
  color: var(--text-primary);
}

.emp-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
}

.emp-status-badge.active {
  background-color: #dcfce7;
  color: #15803d;
}

.emp-status-badge.left {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.emp-status-badge.inactive,
.emp-status-badge.suspended {
  background-color: #fee2e2;
  color: #b91c1c;
}

/* ── Unified action icon buttons (edit + delete) ── */
.emp-edit-row-btn,
.emp-delete-row-btn {
  border: none;
  cursor: pointer;
  padding: 5px 6px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease, color 0.15s ease;
  font-size: 15px;
  line-height: 1;
}

.emp-edit-row-btn {
  color: var(--text-primary);
  background: transparent;
}

.emp-edit-row-btn:hover {
  color: var(--text-primary);
  background: transparent;
}

.emp-delete-row-btn {
  color: #ef4444;
  background-color: #fef2f2;
}

.emp-delete-row-btn:hover {
  color: #ef4444;
  background-color: #fef2f2;
}

.form-tab-content-placeholder {
  padding: 16px 0;
}

.mock-tab-fields {
  margin-top: 16px;
  max-width: 500px;
}

/* CUSTOM DATE PICKER STYLES */
.custom-datepicker-container {
  position: relative;
  width: 100%;
}

.datepicker-input-field {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  padding-right: 36px !important;
}

.datepicker-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 998;
}

.datepicker-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  width: 280px;
  padding: 16px;
  z-index: 999;
  box-sizing: border-box;
  animation: slideUpDown 0.15s ease-out;
}

@keyframes slideUpDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Calendar header */
.datepicker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.dp-nav-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 300;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.dp-nav-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.dp-current-month-year {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

/* Weekdays */
.datepicker-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  margin-bottom: 8px;
}

.datepicker-weekdays span {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: 0.05em;
}

/* Days grid */
.datepicker-days-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  row-gap: 4px;
  -moz-column-gap: 4px;
       column-gap: 4px;
}

.dp-day-cell {
  background: none;
  border: none;
  height: 32px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12.5px;
  font-weight: 500;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.1s ease;
  box-sizing: border-box;
}

.dp-day-cell.current-month {
  color: var(--text-primary);
}

.dp-day-cell.current-month:hover {
  background-color: var(--hover-bg);
}

.dp-day-cell.other-month {
  color: var(--text-primary);
}

.dp-day-cell.selected {
  background-color: var(--text-primary) !important;
  color: #ffffff !important;
  font-weight: 600;
}

/* Datepicker footer */
.datepicker-footer {
  margin-top: 14px;
  border-top: 1px solid var(--border-color);
  padding-top: 12px;
  display: flex;
  justify-content: center;
}

.dp-today-btn {
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  cursor: pointer;
  padding: 6px 16px;
  border-radius: 18px;
  transition: background-color 0.15s ease;
}

.dp-today-btn:hover {
  background-color: var(--hover-bg);
}

/* RICH TEXT EDITOR MOCKUP STYLES */
.mock-rich-text-editor {
  border: 1px solid var(--border-color);
  border-radius: 20px;
  overflow: hidden;
  background: var(--bg-secondary);
  margin-top: 4px;
}

.editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  background-color: var(--hover-bg);
  border-bottom: 1px solid var(--border-color);
  padding: 8px 12px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.editor-select {
  height: 26px;
  font-size: 12.5px;
  padding: 0 4px;
  border: 1px solid var(--border-color);
  border-radius: 18px;
  background: var(--bg-secondary);
  outline: none;
  color: var(--text-primary);
  cursor: pointer;
}

.toolbar-btn {
  background: none;
  border: 1px solid transparent;
  border-radius: 18px;
  color: var(--text-primary);
  font-size: 12px;
  padding: 3px 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  min-width: 20px;
  height: 24px;
}

.toolbar-btn:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.toolbar-btn.bold {
  font-weight: 700;
}

.toolbar-btn.italic {
  font-style: italic;
}

.toolbar-btn.underline {
  text-decoration: underline;
}

.toolbar-btn.strike {
  text-decoration: line-through;
}

.toolbar-separator {
  color: var(--text-primary);
  margin: 0 4px;
  font-size: 12px;
}

.editor-textarea {
  width: 100%;
  border: none;
  outline: none;
  padding: 16px;
  font-size: 13.5px;
  color: var(--text-primary);
  font-family: inherit;
  resize: vertical;
  background: var(--bg-secondary);
  box-sizing: border-box;
}

/* CUSTOM EDITOR DROPDOWNS */
.editor-custom-dropdown {
  position: relative;
  display: inline-block;
}

.editor-dropdown-trigger {
  height: 28px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  padding: 0 10px;
  font-size: 13px;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  outline: none;
  transition: all 0.15s ease;
}

.editor-dropdown-trigger:hover {
  background-color: var(--hover-bg);
  border-color: #94a3b8;
}

.dropdown-caret {
  font-size: 9px;
  color: var(--text-primary);
}

.editor-dropdown-list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
  min-width: 180px;
  z-index: 1000;
  padding: 6px 0;
}

.editor-dropdown-option {
  padding: 8px 16px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  transition: background-color 0.1s ease;
}

.editor-dropdown-option:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

/* Heading items sizes to match mockup */
.editor-dropdown-option.h1 {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary);
}

.editor-dropdown-option.h2 {
  font-size: 17px;
  font-weight: 600;
  color: var(--text-primary);
}

.editor-dropdown-option.h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

.editor-dropdown-option.h4 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

.editor-dropdown-option.h5 {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.editor-dropdown-option.h6 {
  font-size: 11px;
  font-weight: 500;
  color: var(--text-primary);
}

.editor-dropdown-option.normal {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
}

.editor-dropdown-option.active {
  background-color: var(--hover-bg);
}

/* ==========================================
   EMPLOYEE DETAIL VIEW
   ========================================== */

.emp-detail-view {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.emp-profile-header-card {
  background: var(--bg-secondary);
  border-radius: 12px 12px 0 0;
  border: 1px solid #eef0f2;
  border-bottom: none;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.emp-avatar-circle {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #10b981, #059669);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 700;
  color: var(--text-primary);
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}

.emp-profile-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.emp-profile-name {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
}

.emp-profile-id {
  font-size: 13px;
  color: var(--text-primary);
  margin: 0;
  font-family: 'Courier New', monospace;
}

.emp-profile-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.emp-meta-chip {
  background-color: var(--hover-bg);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: 28px;
  padding: 3px 12px;
  font-size: 12px;
  font-weight: 500;
}

.emp-meta-chip.dept {
  background-color: #e0e7ff;
  border-color: #c7d2fe;
  color: #4f46e5;
}

.emp-view-tab-body {
  padding: 28px 32px;
}

.view-fields-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.view-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
  background-color: var(--hover-bg);
  border-radius: 20px;
  border: 1px solid var(--border-color);
}

.vf-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.vf-value {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

/* Clickable row */
.emp-row-clickable {
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.emp-row-clickable:hover {
  background-color: #f0f9ff !important;
}

/* ==========================================
   VIEW TOGGLE (LIST / GRID)
   ========================================== */
.emp-view-toggle {
  display: flex;
  background-color: var(--hover-bg);
  border-radius: 8px;
  padding: 3px;
  border: 1px solid var(--border-color);
  height: 30px;
  box-sizing: border-box;
}

.emp-view-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 22px;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
}

.emp-view-toggle-btn:hover {
  color: var(--text-primary);
}

.emp-view-toggle-btn.active {
  background: var(--bg-secondary);
  color: #22c55e;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* ==========================================
   EMPLOYEE GRID VIEW
   ========================================== */
.emp-grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 20px;
  padding: 10px 0;
}

.emp-grid-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 40px;
  color: var(--text-primary);
  font-size: 14px;
  background: var(--bg-secondary);
  border-radius: 14px;
  border: 1px solid var(--border-color);
}

.emp-grid-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.emp-grid-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-color: var(--border-color);
}

.emp-grid-card-top {
  display: flex;
  align-items: flex-start;
  margin-bottom: 24px;
  position: relative;
}

.emp-grid-card-avatar-wrapper {
  position: relative;
  margin-right: 16px;
}

.emp-grid-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #3b82f6;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.emp-grid-status-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background-color: #94a3b8;
}

.emp-grid-status-dot.active {
  background-color: #22c55e;
}

.emp-grid-status-dot.offline {
  background-color: #ef4444;
}

.emp-grid-card-title-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.emp-grid-card-name {
  margin: 0 0 2px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.emp-grid-card-sub {
  margin: 0;
  font-size: 12px;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.emp-grid-card-ellipsis {
  margin-left: 12px;
}

.emp-icon-btn {
  background: none;
  border: none;
  color: var(--text-primary);
  cursor: pointer;
  padding: 4px;
  margin: -4px -4px -4px 12px;
  border-radius: 4px;
}

.emp-icon-btn:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

.emp-grid-card-stats {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
}

.emp-grid-stat-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.emp-grid-stat-label {
  font-size: 10px;
  color: var(--text-primary);
  text-transform: uppercase;
  font-weight: 500;
}

.emp-grid-stat-value {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.emp-grid-card-divider-section {
  margin-bottom: 24px;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  padding: 16px 0;
}

.emp-grid-divider-text {
  font-size: 10px;
  color: var(--text-primary);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 12px;
}

.emp-grid-reporting-mgr {
  display: flex;
  align-items: center;
  gap: 8px;
}

.emp-grid-mgr-avatar-wrapper {
  position: relative;
}

.emp-grid-mgr-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #3b82f6;
  color: var(--text-primary);
  font-size: 10px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.emp-grid-mgr-avatar.unassigned {
  background: var(--hover-bg);
  color: var(--text-primary);
}

.emp-grid-status-dot.small {
  width: 8px;
  height: 8px;
  border-width: 1px;
}

.emp-grid-mgr-name {
  font-size: 13px;
  color: var(--text-primary);
  font-weight: 600;
}

.emp-grid-mgr-name.unassigned {
  color: var(--text-primary);
  font-weight: 500;
}

.emp-grid-card-bottom {
  display: flex;
  gap: 12px;
  margin-top: auto;
}

.emp-grid-btn-outline {
  flex: 1;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 500;
  padding: 8px 0;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.emp-grid-btn-outline:hover {
  background: var(--hover-bg);
  border-color: var(--border-color);
}



.emp-grid-btn-outline.delete:hover {
  background: #fef2f2;
  border-color: #f87171;
}

/* ==========================================
   MODERN EMPLOYEE LIST TABLE
   ========================================== */

.emp-modern-table-wrapper {
  width: 100%;
  overflow-x: hidden;
  background: var(--bg-secondary);
  border-radius: 14px;
  border: 1px solid var(--border-color);
}

.emp-modern-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  color: var(--text-primary);
}

.emp-modern-table thead tr {
  border-bottom: 1px solid #d1d5db;
}

.emp-modern-table thead th {
  background-color: var(--hover-bg);
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: normal;
  text-align: left;
}

.emp-modern-table thead th.emp-col-check {
  width: 36px;
  padding-left: 16px;
}

.emp-modern-table thead th.emp-col-meta {
  width: 90px;
}

.emp-modern-row {
  border-bottom: 1px solid #f1f3f5;
  transition: background-color 0.12s ease;
}

.emp-modern-row:hover {
  background-color: #f8f9fb;
}

.emp-modern-table tbody td {
  padding: 10px 10px;
  vertical-align: middle;
  white-space: normal;
  color: var(--text-primary);
}

.emp-col-check {
  width: 36px;
  padding-left: 16px !important;
}

.emp-checkbox {
  width: 14px;
  height: 14px;
  cursor: pointer;
  accent-color: #3b82f6;
  border: 1px solid var(--border-color);
  border-radius: 16px;
}

.emp-col-name {
  min-width: 160px;
}

.emp-name-text {
  font-weight: 600;
  color: var(--text-primary);
}

.emp-id-cell {
  font-size: 13px;
  color: var(--text-primary);
}

/* Row-end meta column */
.emp-col-meta {
  text-align: right;
  padding-right: 16px !important;
}

.emp-row-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.emp-edit-row-btn,
.emp-delete-row-btn {
  opacity: 0.85;
}

.emp-modern-row:hover .emp-edit-row-btn,
.emp-modern-row:hover .emp-delete-row-btn {
  opacity: 1;
}

.emp-row-time {
  font-size: 11.5px;
  color: var(--text-primary);
  white-space: nowrap;
}

.emp-row-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--text-primary);
}

.emp-meta-dot {
  color: var(--text-primary);
  font-size: 14px;
}

.emp-icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-primary);
  font-size: 12px;
  padding: 2px 4px;
  border-radius: 18px;
  transition: color 0.12s;
}

.emp-icon-btn:hover {
  color: #3b82f6;
}

/* Table footer — "N of N" count */
.emp-table-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 8px 16px;
  border-top: 1px solid var(--border-color);
  background-color: #fafafa;
  border-radius: 0 0 10px 10px;
}

.emp-count-label {
  font-size: 12px;
  color: var(--text-primary);
  font-weight: 500;
}

/* View switcher dropdown menu */
.view-dropdown-wrapper {
  position: relative;
  display: inline-flex;
}

.view-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  min-width: 170px;
  z-index: 999;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  animation: viewDropdownFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes viewDropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.view-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  border-radius: 20px;
  transition: all 0.15s ease;
}

.view-dropdown-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.view-dropdown-icon {
  font-size: 16px;
  color: var(--text-primary);
  flex-shrink: 0;
  transition: color 0.15s ease;
}

.view-dropdown-item:hover .view-dropdown-icon {
  color: var(--text-primary);
}

/* Department dropdown custom select styles */
.dept-dropdown-wrapper {
  position: relative;
  display: inline-flex;
}

body .select-dept-btn {
  border-radius: 8px !important;
  /* Rounded rectangle shape */
  font-weight: 500;
  color: var(--text-primary);
}

.dept-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.dept-dropdown-item {
  padding: 10px 14px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
}

.dept-dropdown-item:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.dept-dropdown-item.selected {
  background-color: #22c55e;
  color: var(--text-primary);
}

.dept-dropdown-item.selected:hover {
  background-color: #16a34a;
  color: var(--text-primary);
}

/* View switcher selected option highlight */
.view-dropdown-item.selected {
  background-color: #22c55e;
  color: var(--text-primary);
}

.view-dropdown-item.selected:hover {
  background-color: #16a34a;
  color: var(--text-primary);
}

.view-dropdown-item.selected .view-dropdown-icon {
  color: var(--text-primary);
}

/* Kanban Board Styles */
.emp-kanban-board {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 10px 0 20px 0;
  width: 100%;
  min-height: calc(100vh - 380px);
  box-sizing: border-box;
}

.emp-kanban-column {
  min-width: 0;
  background-color: var(--hover-bg);
  border-radius: 20px;
  padding: 16px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border-color);
}

.emp-kanban-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.emp-kanban-title {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: capitalize;
}

.emp-kanban-count {
  font-size: 11px;
  font-weight: 600;
  background-color: var(--hover-bg);
  color: var(--text-primary);
  padding: 2px 8px;
  border-radius: 18px;
}

.emp-kanban-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.emp-kanban-card-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 8px;
}

.emp-kanban-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: left;
}

.emp-kanban-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-color: var(--border-color);
}

.emp-kanban-card-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.emp-kanban-card-id {
  font-size: 11.5px;
  color: var(--text-primary);
}

.emp-kanban-card-badge {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 18px;
  background-color: var(--hover-bg);
  color: var(--text-primary);
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
}

.emp-kanban-card-dept {
  font-size: 11.5px;
  color: var(--text-primary);
  margin-top: 4px;
}

.emp-kanban-card-amount {
  font-size: 14px;
  font-weight: 700;
  color: #10b981;
}

/* Kanban column header indicator dots */
.emp-kanban-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.emp-kanban-dot.active,
.emp-kanban-dot.approved {
  background-color: #10b981;
}

.emp-kanban-dot.inactive,
.emp-kanban-dot.rejected {
  background-color: #ef4444;
}

.emp-kanban-dot.pending,
.emp-kanban-dot.draft,
.emp-kanban-dot.suspended {
  background-color: #f59e0b;
}

.emp-kanban-dot.paid {
  background-color: #3b82f6;
}

.emp-kanban-dot.left {
  background-color: #64748b;
}

/* Kanban Header Overview Card */
.kanban-overview-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 20px 24px;
  box-sizing: border-box;
}

.overview-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 16px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: left;
}

.overview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.overview-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

.overview-badge {
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 10007px;
  width: -moz-fit-content;
  width: fit-content;
}

.overview-badge.draft {
  background-color: #eff6ff;
  color: #1e40af;
  border: 1px solid #bfdbfe;
}

.overview-badge.pending,
.overview-badge.suspended {
  background-color: #fffbeb;
  color: #92400e;
  border: 1px solid #fde68a;
}

.overview-badge.approved {
  background-color: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.overview-badge.rejected {
  background-color: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.overview-badge.left {
  background-color: var(--hover-bg);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}

.overview-desc {
  font-size: 12.5px;
  color: var(--text-primary);
  margin: 0;
  line-height: 1.4;
}

/* Empty Column Dash Cards */
.emp-kanban-empty-card {
  border: 1.5px dashed #cbd5e1;
  border-radius: 18px;
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
}

.emp-kanban-empty-card:hover {
  background-color: var(--hover-bg);
  border-color: #94a3b8;
}

.emp-kanban-empty-card .empty-plus {
  font-size: 20px;
  color: var(--text-primary);
  font-weight: 300;
}

.emp-kanban-empty-card .empty-text {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: 0.5px;
}

.emp-kanban-add-btn {
  background: none;
  border: none;
  font-size: 18px;
  color: var(--text-primary);
  cursor: pointer;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
  font-weight: 300;
}

.emp-kanban-add-btn:hover {
  color: var(--text-primary);
}

@media (max-width: 1024px) {
  .emp-kanban-board {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .emp-kanban-board {
    grid-template-columns: 1fr;
  }
}

/* General Modern Popup Modal Styles */
.hr-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(15, 23, 42, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(4px);
}

.hr-modal-content {
  background: var(--bg-secondary);
  border-radius: 20px;
  width: 90%;
  max-width: 440px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: modalFadeIn 0.2s ease-out;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.hr-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid #eef1f6;
}

.hr-modal-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.hr-modal-close-btn {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--text-primary);
  padding: 4px;
  line-height: 1;
  transition: color 0.15s ease;
}

.hr-modal-close-btn:hover {
  color: var(--text-primary);
}

.hr-modal-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hr-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 24px;
  border-top: 1px solid #eef1f6;
  background: var(--hover-bg);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* PROMOTION MODAL STYLES */
.promo-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  backdrop-filter: blur(2px);
  animation: promoFadeIn 0.2s ease-out;
}

.promo-modal-box {
  background: var(--bg-secondary);
  width: 100%;
  max-width: 520px;
  border-radius: 22px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.05);
  overflow: visible;
  display: flex;
  flex-direction: column;
  animation: promoSlideUp 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes promoFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes promoSlideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.promo-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-color);
}

.promo-modal-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.promo-modal-close-btn {
  background: none;
  border: none;
  font-size: 16px;
  color: var(--text-primary);
  cursor: pointer;
  padding: 4px;
  transition: color 0.15s;
}

.promo-modal-close-btn:hover {
  color: var(--text-primary);
}

.promo-modal-body {
  padding: 24px;
}

.promo-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-top: 1px solid var(--border-color);
  background: var(--bg-secondary);
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
}

/* Custom Dropdown for search input matching user screenshot */
.promo-dropdown-overlay {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  margin-top: 4px;
  z-index: 10002;
  max-height: 250px;
  overflow-y: auto;
}

.promo-dropdown-item {
  padding: 10px 14px;
  font-size: 14px;
  color: var(--text-primary);
  cursor: pointer;
  transition: background-color 0.15s;
}

.promo-dropdown-item:hover {
  background-color: var(--hover-bg);
}

.promo-dropdown-action {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  font-size: 13.5px;
  color: var(--text-primary);
  font-weight: 500;
  border-top: 1px solid var(--border-color);
  background: var(--bg-primary);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}

.promo-dropdown-action:hover {
  background-color: var(--hover-bg);
  color: var(--text-primary);
}

.promo-dropdown-action .action-icon {
  font-size: 14px;
  color: var(--text-primary);
}

/* Modal Buttons */
.promo-btn-secondary {
  background: var(--bg-secondary) !important;
  color: #374151 !important;
  border: 1px solid var(--border-color) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  transition: background-color 0.2s, border-color 0.2s !important;
}

.promo-btn-secondary:hover {
  background: var(--bg-primary) !important;
  border-color: var(--text-muted) !important;
}

.promo-btn-primary {
  background-color: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  height: 32px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  transition: background-color 0.2s !important;
}

.promo-btn-primary:hover {
  background-color: #16a34a !important;
}

/* User profile dropdown styles inside HR Setup */
.profile-dropdown-menu {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  right: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 6px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  font-size: 13px;
  color: var(--text-primary);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.dropdown-item:hover {
  background-color: var(--hover-bg);
}

.dropdown-item.logout {
  color: #ef4444;
}

.dropdown-item.logout:hover {
  background-color: #fde8e8;
  color: #c81e1e;
}

/* Theme dark overrides for dropdown */
.theme-dark .profile-dropdown-menu {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .dropdown-item {
  color: #a1a1aa !important;
}

.theme-dark .dropdown-item:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .dropdown-item.logout:hover {
  background-color: #7f1d1d !important;
  color: #fca5a5 !important;
}

/* Dark mode overrides for emp-modern-table (both body.dark and theme-dark states) */
body.dark .emp-modern-table-wrapper,
.theme-dark .emp-modern-table-wrapper {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

body.dark .emp-modern-table thead th,
.theme-dark .emp-modern-table thead th {
  background-color: var(--table-header-bg) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-secondary) !important;
}

body.dark .emp-modern-table tbody tr,
.theme-dark .emp-modern-table tbody tr {
  border-bottom-color: var(--border-color) !important;
}

body.dark .emp-modern-table tbody tr:hover,
.theme-dark .emp-modern-table tbody tr:hover {
  background-color: var(--hover-bg) !important;
}

body.dark .emp-modern-table tbody td,
.theme-dark .emp-modern-table tbody td {
  color: var(--text-secondary) !important;
}

body.dark .emp-modern-table thead tr,
.theme-dark .emp-modern-table thead tr {
  border-bottom-color: var(--border-color) !important;
}

.charts-grid-three-col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .charts-grid-three-col {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .charts-grid-three-col {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Bento Grid Layout */
.charts-bento-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bento-span-1 {
  grid-column: span 1;
}

.bento-span-2 {
  grid-column: span 2;
}

.bento-span-3 {
  grid-column: span 3;
}

@media (max-width: 1024px) {
  .charts-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bento-span-2 {
    grid-column: span 2;
  }

  .bento-span-1 {
    grid-column: span 1;
  }

  .bento-span-3 {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .charts-bento-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .bento-span-1,
  .bento-span-2,
  .bento-span-3 {
    grid-column: span 1;
  }
}

/* Premium Form Section Styles matching Mockup Image 1 */
.premium-form-section-card {
  background: var(--bg-secondary);
  border: 1px solid #ebf0f5;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.01), 0 10px 20px -5px rgba(0, 0, 0, 0.015);
}

.section-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.section-card-icon-container {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #f0fdf4;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.section-card-icon-container.blue-icon {
  background-color: #eff6ff;
  color: #2563eb;
}

.section-card-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.section-card-info-icon {
  color: var(--text-primary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.premium-form-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 32px;
}

@media (max-width: 1024px) {
  .premium-form-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .premium-form-grid-4 {
    grid-template-columns: 1fr;
  }
}

.premium-form-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 32px;
}

@media (max-width: 768px) {
  .premium-form-grid-3 {
    grid-template-columns: 1fr;
  }
}

.premium-form-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 32px;
}

@media (max-width: 768px) {
  .premium-form-grid-2 {
    grid-template-columns: 1fr;
  }
}

/* User Details split container */
.user-details-split-container {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 32px;
  align-items: flex-start;
}

@media (max-width: 992px) {
  .user-details-split-container {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Input prefix icon container */
.input-with-prefix-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.input-prefix-icon {
  position: absolute;
  left: 12px;
  color: var(--text-primary);
  pointer-events: none;
  display: flex;
  align-items: center;
}

.input-with-prefix {
  padding-left: 36px !important;
}

/* Premium subtext hint */
.premium-hint {
  font-size: 11.5px;
  color: var(--text-primary);
  margin-top: 6px;
  line-height: 1.3;
}

/* Premium toggle switch card */
.premium-toggle-card {
  background-color: #f0fdf4;
  border: 1px solid #dcfce7;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 100%;
  box-sizing: border-box;
}

.toggle-card-content {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.toggle-card-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.toggle-card-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #15803d;
  margin: 0 0 4px 0;
}

.toggle-card-description {
  font-size: 11.5px;
  color: #166534;
  margin: 0;
  line-height: 1.35;
}

/* Switch styling */
.premium-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.premium-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.switch-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  transition: .2s;
  border-radius: 24px;
}

.switch-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: var(--bg-secondary);
  transition: .2s;
  border-radius: 50%;
}

input:checked+.switch-slider {
  background-color: #16a34a;
}

input:checked+.switch-slider:before {
  transform: translateX(20px);
}

/* Premium Info Banner */
.premium-info-banner {
  background-color: #eff6ff;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  text-align: left;
}

.info-banner-icon {
  color: #2563eb;
  flex-shrink: 0;
  margin-top: 2px;
}

.info-banner-text {
  display: flex;
  flex-direction: column;
}

.info-banner-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #1e3a8a;
  margin: 0 0 2px 0;
}

.info-banner-desc {
  font-size: 12px;
  color: #1e40af;
  margin: 0;
}

/* Compact Premium Toggle Card matching Input height */
.premium-toggle-card.compact-card {
  background-color: #f0fdf4;
  border: 1px solid #dcfce7;
  border-radius: 8px !important;
  /* Same rounded edges as input beside it */
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 49.28px !important;
  /* Exact same height as input beside it */
  box-sizing: border-box;
}

/* Dashboard Sections */
.dashboard-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 0;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 0;
}

.section-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.section-title-group h2 {
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.025em;
  margin: 0;
}

.section-chevron {
  font-size: 20px;
  color: var(--text-primary);
  cursor: pointer;
}

/* ── Dashboard Dark Mode Overrides ── */
.theme-dark .dashboard-greeting-banner,
.theme-dark .dashboard-filter-bar,
.theme-dark .kpi-card,
.theme-dark .chart-card,
.theme-dark .pd-welcome-card {
  background: #1b1b1d !important;
  border-color: #28282a !important;
}

.theme-dark .dashboard-greeting-banner .greeting-text h2,
.theme-dark .dashboard-greeting-banner .greeting-date,
.theme-dark .kpi-card-value,
.theme-dark .chart-title-group .kpi-title,
.theme-dark .section-title-group h2,
.theme-dark .pd-welcome-title,
.theme-dark .pd-welcome-date {
  color: #f4f4f5 !important;
}

.theme-dark .dashboard-filter-bar select {
  background-color: #27272a !important;
  color: #f4f4f5 !important;
  border-color: #3f3f46 !important;
}

.theme-dark .dashboard-filter-bar label,
.theme-dark .kpi-title {
  color: #a1a1aa !important;
}

.theme-dark .chart-card-header {
  border-bottom-color: #28282a !important;
}

.theme-dark .reset-filters-btn {
  color: #38bdf8 !important;
}

.theme-dark .reset-filters-btn:hover {
  background-color: var(--text-primary) !important;
}

.theme-dark .kpi-trend {
  color: #cbd5e1 !important;
}

/* Driver.js Custom Styling */
.driver-popover {
  border-radius: 12px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
  padding: 20px !important;
  border: 1px solid var(--border-color) !important;
  background-color: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  font-family: 'Inter', 'Segoe UI', sans-serif !important;
  min-width: 320px !important;
}

.driver-popover-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  color: var(--text-primary) !important;
}

.driver-popover-description {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--text-primary) !important;
  opacity: 0.8 !important;
}

.driver-popover-footer {
  margin-top: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.driver-popover-progress-text {
  font-size: 13px !important;
  color: var(--text-primary) !important;
  opacity: 0.6 !important;
}

.driver-popover-prev-btn,
.driver-popover-next-btn {
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
  text-shadow: none !important;
}

.driver-popover-next-btn {
  background-color: #0b9e6f !important;
  color: white !important;
  border: none !important;
}

.driver-popover-next-btn:hover {
  background-color: #09825b !important;
}

.driver-popover-prev-btn {
  background-color: transparent !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  margin-right: 8px !important;
}

.driver-popover-prev-btn:hover {
  background-color: var(--hover-bg) !important;
}

.driver-popover-close-btn {
  color: var(--text-primary) !important;
  opacity: 0.5 !important;
}

.driver-popover-close-btn:hover {
  opacity: 1 !important;
}.org-switcher-wrapper {
  position: relative;
  padding: 16px 16px 16px 16px; /* Added bottom padding to fix clipping */
  margin: 0;
}

.org-switcher {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 4px 10px;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  background: var(--bg-secondary) ;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.org-switcher:hover {
  background-color: var(--hover-bg) ;
  border-color: var(--border-color) ;
}

.org-switcher .avatar {
  width: 28px;
  height: 28px;
  background: var(--hover-bg) ;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 14px;
  margin-right: 12px;
  flex-shrink: 0;
}

.org-switcher .meta {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.org-switcher .org {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.org-switcher .label {
  font-size: 11px;
  color: var(--text-primary) ;
  line-height: 1.5;
  margin-top: 0;
  font-weight: 400;
}

.org-switcher .chev {
  color: var(--text-primary) ;
  flex-shrink: 0;
  margin-left: 8px;
}

.org-switcher.personal {
  background: var(--bg-secondary);
}

/* Dark mode support */
:global(.dark) .org-switcher {
  background: #151b26 ;
  border-color: #2b3441;
}

:global(.dark) .org-switcher:hover {
  background: #1e2532 ;
  border-color: #3b4453;
}

:global(.dark) .org-switcher .org {
  color: var(--text-primary) ;
}

:global(.dark) .org-switcher .label,
:global(.dark) .org-switcher .chev {
  color: var(--text-primary) ;
}

:global(.dark) .org-switcher .avatar {
  background: #1e2532;
  color: var(--text-primary) ;
}

/* Collapsed state */
.org-switcher.collapsed {
  margin: 16px auto 12px auto;
  padding: 6px;
  border: 1px solid var(--border-color) ;
  background: var(--bg-secondary) ;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  box-sizing: border-box;
  cursor: pointer;
}

.org-switcher.collapsed:hover {
  background-color: var(--hover-bg) ;
  border-color: var(--border-color) ;
}

.org-switcher.collapsed .avatar {
  margin-right: 0;
}

/* Dropdown Menu Styles (Replacing Tailwind) */
.org-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background: var(--bg-secondary) ;
  border-radius: 12px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--border-color) ;
  padding: 8px 0;
  z-index: 50;
}

.org-dropdown-list {
  max-height: 240px;
  overflow-y: auto;
}

.org-dropdown-item {
  width: 100%;
  padding: 8px 12px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}

.org-dropdown-item:hover {
  background-color: var(--hover-bg) ;
}

.org-dropdown-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  font-weight: bold;
  flex-shrink: 0;
  overflow: hidden;
  font-size: 12px;
}

.org-dropdown-avatar.current {
  background-color: #10b981;
}

.org-dropdown-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.org-dropdown-text {
  flex: 1;
  min-width: 0;
}

.org-dropdown-name {
  font-weight: 500;
  color: var(--text-primary) ;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12.25px;
}

.org-dropdown-sub {
  font-size: 10.5px;
  color: var(--text-primary) ;
  line-height: 14px;
}

.org-dropdown-check {
  color: #10b981;
  flex-shrink: 0;
}

.org-dropdown-divider {
  border-top: 1px solid var(--border-color) ;
  margin-top: 8px;
  padding-top: 8px;
}

/* Dark mode support for dropdown */
:global(.dark) .org-dropdown-menu {
  background: #151b26 ;
  border-color: #2b3441;
}

:global(.dark) .org-dropdown-item:hover {
  background: #1e2532 ;
}

:global(.dark) .org-dropdown-name {
  color: var(--text-primary) ;
}

:global(.dark) .org-dropdown-divider {
  border-color: #2b3441;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PAYROLL DASHBOARD â€” Premium Analytics UI
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
:root {
  --pd-bg: #f1f5f9;
  --pd-white: #ffffff;
  --pd-border: var(--border-color) ;
  --pd-text: #0f172a;
  --pd-muted: #64748b;
  --pd-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --pd-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04);
  --pd-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 8px rgba(0, 0, 0, 0.04);
  --pd-radius: 12px;
  --pd-radius-sm: 8px;
  --pd-indigo: #6366f1;
  --pd-green: #10b981;
  --pd-amber: #f59e0b;
  --pd-blue: #3b82f6;
  --pd-red: #ef4444;
  --pd-teal: #14b8a6;
  --pd-pink: #ec4899;
}
/* â”€â”€ Container â”€â”€ */
.pd-container {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: var(--pd-bg);
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--pd-text);
  gap: 0;
}
/* â”€â”€ Topbar â”€â”€ */
.pd-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--pd-white);
  padding: 0 24px;
  height: 60px;
  border-bottom: 1px solid var(--pd-border);
  flex-shrink: 0;
}
.pd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--pd-muted);
}
.pd-bc-icon {
  cursor: pointer;
  display: flex;
  align-items: center;
  color: var(--pd-muted);
  transition: color 0.2s;
}
.pd-bc-icon:hover {
  color: var(--pd-text);
}
.pd-bc-sep {
  color: var(--text-primary) ;
}
.pd-bc-link {
  cursor: pointer;
  transition: color 0.2s;
}
.pd-bc-link:hover {
  color: var(--pd-text);
}
.pd-bc-active {
  color: var(--pd-text);
  font-weight: 600;
}
.pd-topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--pd-muted);
}
.pd-topbar-icon {
  cursor: pointer;
  transition: color 0.2s;
}
.pd-topbar-icon:hover {
  color: var(--pd-text);
}
/* â”€â”€ Welcome Card â”€â”€ */
.pd-welcome-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  padding: 18px 24px;
  position: relative;
  flex-shrink: 0;
}
.pd-welcome-decor {
  display: none;
}
.pd-welcome-left {
  display: flex;
  align-items: center;
  gap: 18px;
}
.pd-welcome-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: var(--pd-text);
}
.pd-welcome-date {
  font-size: 13px;
  color: var(--pd-muted);
  margin: 0;
}
.pd-welcome-right {
  position: relative;
  z-index: 10;
}
/* â”€â”€ Buttons â”€â”€ */
.pd-btn-green {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  background: #16a34a;
  color: white;
  border: none;
  border-radius: var(--pd-radius-sm);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(22, 163, 74, 0.25);
}
.pd-btn-green:hover {
  background: #15803d;
  box-shadow: 0 4px 8px rgba(22, 163, 74, 0.35);
  transform: translateY(-1px);
}
.pd-report-btn-wrap {
  position: relative;
}
.pd-overlay {
  position: fixed;
  inset: 0;
  z-index: 10;
}
.pd-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius-sm);
  box-shadow: var(--pd-shadow-lg);
  z-index: 20;
  min-width: 190px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.pd-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--pd-border);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s;
}
.pd-dropdown-item:last-child {
  border-bottom: none;
}
.pd-dropdown-item:hover {
  background: var(--hover-bg) ;
}
/* â”€â”€ Inner Content Wrapper â”€â”€ */
.pd-inner {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
}
/* â”€â”€ KPI Grid â”€â”€ */
.pd-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  min-width: 0;
}
.pd-kpi-card {
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: var(--pd-shadow-sm);
  transition: all 0.25s;
  cursor: default;
}
.pd-kpi-card:hover {
  box-shadow: var(--pd-shadow-lg);
  transform: translateY(-2px);
  border-color: #c7d2fe;
}
.pd-kpi-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.pd-kpi-icon-wrap {
  width: 36px;
  height: 36px;
  border-radius: var(--pd-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-kpi-arrow {
  color: var(--text-primary) ;
}
.pd-kpi-value {
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-top: 4px;
  margin-bottom: 6px;
}
.pd-kpi-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--pd-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pd-kpi-sub {
  font-size: 11px;
  font-weight: 500;
  margin-top: 2px;
}
.pd-skeleton {
  display: inline-block;
  background: linear-gradient(90deg, var(--hover-bg) 25%, var(--border-color) 50%, var(--hover-bg) 75%);
  background-size: 200% 100%;
  animation: pd-shimmer 1.5s infinite;
  border-radius: 4px;
  width: 60px;
  height: 22px;
}
@keyframes pd-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}
/* â”€â”€ Main Grid â”€â”€ */
.pd-main-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 20px;
  align-items: start;
  min-width: 0;
}
/* ── Bento Grid ── */
.pd-bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px;
  width: 100%;
}
.pd-bento-span-12 { grid-column: span 12; }
.pd-bento-span-8 { grid-column: span 8; }
.pd-bento-span-6 { grid-column: span 6; }
.pd-bento-span-4 { grid-column: span 4; }
@media (max-width: 1100px) {
  .pd-bento-grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .pd-bento-span-8, .pd-bento-span-4 {
    grid-column: span 12;
  }
}
@media (max-width: 768px) {
  .pd-bento-span-6 {
    grid-column: span 12;
  }
}
.pd-col-main,
.pd-col-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* â”€â”€ Panel â”€â”€ */
.pd-panel {
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  box-shadow: var(--pd-shadow-sm);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.pd-panel:hover {
  box-shadow: var(--pd-shadow);
}
.pd-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 20px 0 20px;
}
.pd-panel-header-tabbed {
  padding: 0;
  border-bottom: 1px solid var(--pd-border);
}
.pd-panel-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin: 0 0 4px 0;
}
.pd-panel-sub {
  font-size: 12px;
  color: var(--pd-muted);
  margin: 0;
}
.pd-panel-body {
  padding: 20px;
}
.pd-panel-body-flush {
  padding: 0;
  overflow-x: auto;
}
/* â”€â”€ Tabs â”€â”€ */
.pd-tabs {
  display: flex;
}
.pd-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 20px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-size: 13px;
  font-weight: 600;
  color: var(--pd-muted);
  cursor: pointer;
  transition: all 0.2s;
}
.pd-tab:hover {
  color: var(--pd-text);
}
.pd-tab-active {
  color: var(--pd-indigo);
  border-bottom-color: var(--pd-indigo);
}
/* â”€â”€ Chart â”€â”€ */
.pd-chart-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pd-bar-chart {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  height: 200px;
  padding-bottom: 0;
  border-bottom: 2px solid var(--pd-border);
  gap: 8px;
}
.pd-bar-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  height: 100%;
  flex: 1;
}
.pd-bars {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 100%;
}
.pd-bar {
  width: 10px;
  border-radius: 3px 3px 0 0;
  transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  min-height: 4px;
}
.pd-bar:hover {
  opacity: 0.8;
  cursor: pointer;
}
.pd-bar-gross {
  background: var(--pd-indigo);
}
.pd-bar-net {
  background: var(--pd-green);
}
.pd-bar-ded {
  background: var(--pd-amber);
}
.pd-bar-label {
  font-size: 11px;
  color: var(--pd-muted);
  font-weight: 500;
}
.pd-chart-legend {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.pd-leg {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--pd-muted);
  font-weight: 500;
}
.pd-leg-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
/* â”€â”€ Department Breakdown â”€â”€ */
.pd-dept-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.pd-dept-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pd-dept-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pd-dept-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pd-text);
}
.pd-dept-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pd-dept-nums {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pd-dept-gross {
  font-size: 13px;
  font-weight: 700;
  color: var(--pd-text);
}
.pd-dept-share {
  font-size: 11px;
  font-weight: 700;
  color: var(--pd-muted);
  background: var(--pd-bg);
  padding: 2px 6px;
  border-radius: 4px;
}
.pd-dept-bar-track {
  width: 100%;
  height: 6px;
  background: var(--hover-bg) ;
  border-radius: 3px;
  overflow: hidden;
}
.pd-dept-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pd-dept-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--pd-muted);
}
/* â”€â”€ Table â”€â”€ */
.pd-table {
  width: 100%;
  border-collapse: collapse;
}
.pd-table th {
  text-align: left;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--pd-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--hover-bg) ;
  border-bottom: 1px solid var(--pd-border);
}
.pd-table td {
  padding: 13px 16px;
  font-size: 13px;
  color: var(--pd-text);
  border-bottom: 1px solid var(--border-color) ;
}
.pd-table tbody tr {
  transition: background 0.15s;
}
.pd-table tbody tr:hover {
  background: #fafbfe;
}
.pd-table tbody tr:last-child td {
  border-bottom: none;
}
.pd-td-muted {
  color: var(--pd-muted);
}
.pd-td-bold {
  font-weight: 600;
}
.pd-td-green {
  color: var(--pd-green);
  font-weight: 600;
}
.pd-td-red {
  color: var(--pd-red);
}
.pd-id-chip {
  display: inline-block;
  background: #eef2ff;
  color: var(--pd-indigo);
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
}
.pd-table-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: none;
  border: 1px solid var(--pd-border);
  border-radius: 6px;
  cursor: pointer;
  color: var(--pd-muted);
  transition: all 0.2s;
}
.pd-table-btn:hover {
  background: var(--pd-bg);
  color: var(--pd-text);
  box-shadow: var(--pd-shadow-sm);
}
.pd-table-btn-text {
  width: auto;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--pd-blue);
  border-color: #bfdbfe;
}
.pd-table-btn-text:hover {
  background: #eff6ff;
  color: var(--pd-blue);
}
/* â”€â”€ Badges â”€â”€ */
.pd-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: capitalize;
}
.pd-badge-warning {
  background: #fef3c7;
  color: #d97706;
}
.pd-badge-success {
  background: #dcfce7;
  color: #16a34a;
}
.pd-badge-paid {
  background: #dbeafe;
  color: #2563eb;
}
.pd-badge-danger {
  background: #fee2e2;
  color: #dc2626;
}
/* â”€â”€ Module Grid â”€â”€ */
.pd-module-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--pd-border);
}
.pd-module-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 12px;
  border-right: 1px solid var(--pd-border);
  border-bottom: 1px solid var(--pd-border);
  text-align: center;
  transition: background 0.2s;
}
.pd-module-item:nth-child(2n) {
  border-right: none;
}
.pd-module-item:nth-child(3),
.pd-module-item:nth-child(4) {
  border-bottom: none;
}
.pd-module-item:hover {
  background: #fafbfe;
}
.pd-module-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--pd-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.pd-module-count {
  font-size: 22px;
  font-weight: 800;
  color: var(--pd-text);
  line-height: 1;
}
.pd-module-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--pd-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
/* â”€â”€ Status Distribution â”€â”€ */
.pd-status-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pd-status-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pd-status-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pd-status-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--pd-text);
}
.pd-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pd-status-nums {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pd-status-count {
  font-size: 14px;
  font-weight: 700;
  color: var(--pd-text);
}
.pd-status-pct {
  font-size: 12px;
  font-weight: 600;
}
.pd-status-track {
  width: 100%;
  height: 6px;
  background: var(--hover-bg) ;
  border-radius: 3px;
  overflow: hidden;
}
.pd-status-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* â”€â”€ Payroll Health â”€â”€ */
.pd-health-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pd-health-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--pd-radius-sm);
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.pd-health-item:hover {
  border-color: var(--pd-border);
  box-shadow: var(--pd-shadow-sm);
}
.pd-health-ok {
  background: #f0fdf4;
}
.pd-health-warn {
  background: #fffbeb;
}
.pd-health-danger {
  background: #fef2f2;
}
.pd-health-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
}
.pd-health-icon-ok {
  background: #dcfce7;
  color: var(--pd-green);
}
.pd-health-icon-warn {
  background: #fef3c7;
  color: var(--pd-amber);
}
.pd-health-icon-danger {
  background: #fee2e2;
  color: var(--pd-red);
}
.pd-health-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pd-health-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--pd-text);
}
.pd-health-count {
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  color: var(--pd-text);
}
.pd-health-arrow {
  color: var(--pd-muted);
}
/* â”€â”€ Quick Actions â”€â”€ */
.pd-quick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 20px 20px;
}
.pd-btn-green {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #22c55e;
  color: var(--text-primary) ;
  border: none;
  padding: 10px 16px;
  border-radius: var(--pd-radius-sm);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.25);
}
.pd-btn-green:hover {
  background: #16a34a;
  transform: translateY(-1px);
}
.pd-quick-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 12px;
  background: var(--hover-bg) ;
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius-sm);
  font-size: 12px;
  font-weight: 600;
  color: var(--pd-text);
  cursor: pointer;
  transition: all 0.2s;
}
.pd-quick-btn:hover {
  background: var(--pd-white);
  border-color: #c7d2fe;
  box-shadow: var(--pd-shadow-sm);
  color: var(--pd-indigo);
}
.pd-quick-btn-primary {
  grid-column: span 2;
  background: var(--pd-indigo);
  color: white;
  border-color: transparent;
  justify-content: center;
  font-size: 13px;
  padding: 12px;
  box-shadow: 0 2px 4px rgba(99, 102, 241, 0.25);
}
.pd-quick-btn-primary:hover {
  background: #4f46e5;
  color: white;
  box-shadow: 0 4px 10px rgba(99, 102, 241, 0.35);
  transform: translateY(-1px);
}
/* â”€â”€ Empty State â”€â”€ */
.pd-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: var(--pd-muted);
  text-align: center;
}
.pd-empty-icon {
  opacity: 0.4;
  margin-bottom: 12px;
}
.pd-empty-state h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--pd-text);
  margin: 0 0 6px 0;
}
.pd-empty-state p {
  font-size: 13px;
  margin: 0;
}
/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 1400px) {
  .pd-kpi-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1100px) {
  .pd-main-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .pd-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pd-inner {
    padding: 16px;
  }
}
.kpi-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 1024px) {
  .kpi-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .kpi-cards-grid {
    grid-template-columns: 1fr;
  }
}
.kpi-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px !important;
  padding: 17.5px !important;
  min-height: 125px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.kpi-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}
.kpi-card-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  flex-grow: 1;
}
.kpi-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
.kpi-card-value {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  line-height: 1 !important;
  text-align: left;
  margin: 0 !important;
}
.kpi-trend {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  margin-top: 8px;
  text-align: left;
}
.kpi-trend.trend-up {
  color: #10b981;
}
.kpi-trend.trend-down {
  color: #ef4444;
}
.kpi-trend.trend-neutral {
  color: #f59e0b;
}
.kpi-info-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.2s ease;
}
/* KPI Info Modal Box */
.kpi-info-modal-box {
  background: var(--bg-secondary) ;
  border-radius: 24px;
  width: 800px;
  max-width: 95%;
  max-height: 90vh;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: slideUp 0.25s ease-out;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.kpi-info-modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-color) ;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kpi-modal-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}
.kpi-info-modal-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary) ;
}
.kpi-info-modal-subtitle {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: 500;
}
.kpi-info-modal-close-btn {
  background: var(--hover-bg) ;
  border: none;
  font-size: 12px;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.kpi-info-modal-close-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.kpi-info-modal-body {
  padding: 24px;
  box-sizing: border-box;
  flex-shrink: 0;
}
.kpi-modal-grid-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.kpi-modal-value-card {
  min-width: 140px;
  max-width: 220px;
  width: auto;
  min-height: 140px;
  height: auto;
  background-color: #eff6ff;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 24px 20px;
}
.value-card-label {
  font-size: 10px;
  font-weight: 700;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
}
.value-card-number {
  font-size: 28px;
  font-weight: 800;
  color: #1e3a8a;
  text-align: center;
  word-break: break-word;
}
.kpi-modal-details-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-grow: 1;
  text-align: left;
}
.kpi-details-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.kpi-details-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.kpi-details-icon.info-blue {
  color: #3b82f6;
  font-size: 14px;
}
.kpi-details-bullet-icon {
  color: #8b5cf6;
  font-weight: 700;
  font-size: 15px;
}
.kpi-details-text {
  font-size: 12.5px;
  color: var(--text-primary) ;
  margin: 0;
  line-height: 1.45;
}
.kpi-details-counts-box {
  background-color: #faf5ff;
  border: 1px solid #f3e8ff;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}
.kpi-details-counts-text {
  font-size: 12.5px;
  color: #7c3aed;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}
.insight-icon {
  color: #d97706;
  font-size: 15px;
}
.kpi-details-insight-box {
  background-color: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}
.kpi-details-insight-text {
  font-size: 12.5px;
  color: #b45309;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}
.kpi-info-modal-footer {
  padding: 16px 24px;
  background-color: var(--hover-bg) ;
  border-top: 1px solid var(--border-color) ;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.items-counted-section {
  display: flex;
  align-items: center;
  gap: 8px;
}
.items-counted-section .database-icon {
  color: #eab308;
  font-size: 14px;
}
.items-counted-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.kpi-info-modal-ok-btn {
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  border: none;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.kpi-info-modal-ok-btn:hover {
  background-color: var(--text-primary) ;
}
/* Drill-Down Table Layout & Alignments */
.items-counted-section-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 14px;
}
.items-counted-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.items-counted-title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.items-counted-title .database-icon {
  color: #eab308;
  font-size: 15px;
}
.items-counted-list {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
}
.no-items-counted {
  padding: 24px;
  text-align: center;
  color: var(--text-primary) ;
  font-size: 13.5px;
}
.drilldown-table-wrapper {
  width: 100%;
}
.drilldown-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.drilldown-table th {
  background-color: var(--hover-bg) ;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border-color) ;
  position: sticky;
  top: 0;
  z-index: 10;
}
.drilldown-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  font-size: 13px;
  vertical-align: middle;
}
.drilldown-table tr:last-child td {
  border-bottom: none;
}
.drilldown-table tr:hover td {
  background-color: var(--hover-bg) ;
}
.emp-info-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* Custom override for smaller avatar in the table */
.drilldown-table .emp-avatar-circle {
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
  box-shadow: none !important;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  font-weight: 700;
  flex-shrink: 0;
}
.drilldown-table .emp-avatar-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.drilldown-table .emp-avatar-text {
  line-height: 1;
}
.emp-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.emp-meta-name {
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 13.5px;
}
.emp-meta-email {
  font-size: 11px;
  color: var(--text-primary) ;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.pd-container .items-counted-list {
  max-height: none !important;
  overflow-y: visible !important;
}
.pd-container .kpi-info-modal-box {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar {
  width: 8px;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar-track {
  background: transparent;
  margin-top: 24px;
  margin-bottom: 24px;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 10px;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8;
}
.pd-action-btn-outline {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border: 1px solid var(--border-color) ;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
}
.pd-action-btn-outline:hover {
  background-color: var(--hover-bg) ;
}
.pd-badge-neutral {
  background: var(--hover-bg) ;
  color: var(--text-primary) ;
}
/* HRMS Reports Center Styles */
:root {
  --rep-primary: #2563eb;
  --rep-primary-hover: #1d4ed8;
  --rep-green: #10b981;
  --rep-red: #ef4444;
  --rep-orange: #f59e0b;
  --rep-blue: #3b82f6;
  --rep-purple: #8b5cf6;
  --rep-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.hrms-report-container {
  padding: 24px;
  background-color: var(--bg-primary);
  min-height: 100vh;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--text-primary);
  flex-grow: 1;
  overflow-y: auto;
}

/* Header */
.rep-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.rep-header-title h2 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: var(--text-primary);
}

.rep-header-title p {
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0;
}

.rep-header-actions {
  display: flex;
  gap: 12px;
}

.rep-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid var(--border-color);
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

.rep-btn:hover {
  background-color: var(--border-color);
}

.rep-btn.primary {
  background-color: var(--rep-primary);
  color: white;
  border: none;
}

.rep-btn.primary:hover {
  background-color: var(--rep-primary-hover);
}

/* Global Filters */
.rep-filters-bar {
  background: var(--bg-secondary);
  border-radius: 12px;
  padding: 16px 20px;
  border: 1px solid var(--border-color);
  box-shadow: var(--rep-shadow);
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.rep-filter-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.rep-filter-group label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.rep-filter-group select, .rep-filter-group input {
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  font-size: 14px;
  color: var(--text-primary);
  background: var(--hover-bg);
  outline: none;
  min-width: 140px;
}

.rep-filter-group select:focus, .rep-filter-group input:focus {
  border-color: var(--rep-primary);
  background: var(--bg-secondary) ;
}

/* KPIs */
.rep-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.rep-kpi-card {
  background: var(--bg-secondary);
  border-radius: 12px;
  padding: 20px;
  border: 1px solid var(--border-color);
  box-shadow: var(--rep-shadow);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.rep-kpi-card span {
  font-size: 13px;
  color: var(--text-secondary);
  font-weight: 600;
}

.rep-kpi-card h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
  color: var(--text-primary);
}

/* Grid Layouts */
.rep-layout-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

.rep-full-width-card {
  background: var(--bg-secondary);
  border-radius: 12px;
  padding: 24px;
  border: 1px solid var(--border-color);
  box-shadow: var(--rep-shadow);
}

/* Categories Grid */
.rep-categories {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}

.rep-category-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 16px;
}

.rep-category-card:hover {
  border-color: var(--rep-primary);
  box-shadow: var(--rep-shadow);
  transform: translateY(-2px);
}

.rep-category-icon {
  width: 48px;
  height: 48px;
  background: var(--hover-bg);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--rep-primary);
}

.rep-category-info h4 {
  margin: 0 0 4px 0;
  font-size: 15px;
  font-weight: 600;
}

.rep-category-info p {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary);
}

/* Individual Report View */
.rep-view-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.rep-view-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rep-back-btn {
  background: none;
  border: none;
  font-size: 20px;
  color: var(--text-secondary);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}

.rep-back-btn:hover {
  background: var(--hover-bg);
  color: var(--text-primary);
}

.rep-view-title h2 {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

/* Data Table */
.rep-table-container {
  background: var(--bg-secondary);
  border-radius: 12px;
  border: 1px solid var(--border-color);
  box-shadow: var(--rep-shadow);
  overflow-x: auto;
}

.rep-table {
  width: 100%;
  border-collapse: collapse;
}

.rep-table th, .rep-table td {
  padding: 16px 20px;
  text-align: left;
  border-bottom: 1px solid var(--border-color);
}

.rep-table th {
  background-color: var(--hover-bg);
  font-weight: 600;
  font-size: 13px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: sticky;
  top: 0;
  z-index: 10;
}

.rep-table td {
  font-size: 14px;
  color: var(--text-primary);
}

.rep-table tbody tr:hover {
  background-color: var(--hover-bg) ;
}

/* Empty State */
.rep-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}

.rep-empty-icon {
  font-size: 64px;
  color: var(--border-color);
  margin-bottom: 16px;
}

.rep-empty h3 {
  font-size: 18px;
  margin: 0 0 8px 0;
  color: var(--text-primary);
}

.rep-empty p {
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0;
}

/* Charts */
.rep-chart-wrapper {
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rep-chart-bars {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  width: 100%;
  height: 250px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 10px;
}

.rep-bar-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  height: 100%;
}

.rep-bar {
  width: 32px;
  background: var(--rep-blue);
  border-radius: 4px 4px 0 0;
  transition: height 0.5s ease;
}

.rep-bar.green { background: var(--rep-green); }
.rep-bar.orange { background: var(--rep-orange); }
.rep-bar.purple { background: var(--rep-purple); }

.rep-bar-label {
  font-size: 12px;
  color: var(--text-secondary);
}
/* PayrollSettings.css */

.payroll-settings-container {
  padding: 24px;
  padding-bottom: 48px;
  background-color: var(--bg-primary, #f8fafc);
  box-sizing: border-box;
  color: var(--text-primary, #0f172a);
  flex: 1;
  height: 100vh;
  overflow-y: auto;
}

.payroll-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  background: var(--card-bg, #ffffff);
  padding: 20px 24px;
  border-radius: 14px;
  border: 1px solid var(--border-color, #e2e8f0);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.payroll-settings-title-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.payroll-settings-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
  display: flex;
  align-items: center;
  gap: 10px;
}

.payroll-settings-subtitle {
  font-size: 13px;
  color: var(--text-secondary, #64748b);
}

.payroll-settings-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.settings-btn-primary {
  height: 36px;
  padding: 0 18px;
  background-color: #22c55e;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  border: none;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(34, 197, 94, 0.2);
}

.settings-btn-primary:hover {
  background-color: #16a34a;
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(34, 197, 94, 0.3);
  color: #ffffff !important;
}

.settings-btn-secondary {
  height: 36px;
  padding: 0 16px;
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--border-color) ;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.settings-btn-secondary:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

/* Grid Layout */
.payroll-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 1024px) {
  .payroll-settings-grid {
    grid-template-columns: 1fr;
  }
}

/* Settings Card */
.settings-card {
  background: var(--card-bg, #ffffff);
  border-radius: 14px;
  border: 1px solid var(--border-color, #e2e8f0);
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.settings-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-color, #f1f5f9);
}

.settings-icon-badge {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f0fdf4;
  color: #16a34a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.settings-icon-badge.blue {
  background: #eff6ff;
  color: #2563eb;
}

.settings-icon-badge.amber {
  background: #fffbe8;
  color: #d97706;
}

.settings-icon-badge.purple {
  background: #faf5ff;
  color: #9333ea;
}

.settings-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-primary, #0f172a);
}

.settings-card-subtitle {
  font-size: 12px;
  color: var(--text-secondary, #64748b);
}

/* Toggle Switch Row */
.setting-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--border-color, #f8fafc);
}

.setting-toggle-row:last-child {
  border-bottom: none;
}

.setting-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-right: 16px;
}

.setting-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary, #1e293b);
}

.setting-description {
  font-size: 12px;
  color: var(--text-secondary, #64748b);
  line-height: 1.4;
}

/* Custom Toggle Switch Component */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  transition: 0.3s;
  border-radius: 24px;
}

.toggle-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: var(--bg-secondary) ;
  transition: 0.3s;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

input:checked+.toggle-slider {
  background-color: #22c55e;
}

input:focus+.toggle-slider {
  box-shadow: 0 0 1px #22c55e;
}

input:checked+.toggle-slider:before {
  transform: translateX(20px);
}

/* Form Input Groups inside Settings */
.settings-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

.settings-form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #334155);
}

.settings-form-input,
.settings-form-select,
.settings-form-textarea {
  width: 100%;
  padding: 10px 14px;
  font-size: 13px;
  border: 1px solid var(--border-color, #cbd5e1);
  border-radius: 8px;
  background: var(--bg-secondary, #ffffff);
  color: var(--text-primary, #0f172a);
  transition: border-color 0.2s ease;
}

.settings-form-input:focus,
.settings-form-select:focus,
.settings-form-textarea:focus {
  outline: none;
  border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.settings-form-textarea {
  min-height: 80px;
  resize: vertical;
  font-family: inherit;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PAYROLL DASHBOARD â€” Premium Analytics UI
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
:root {
  --pd-bg: #f1f5f9;
  --pd-white: #ffffff;
  --pd-border: var(--border-color) ;
  --pd-text: #0f172a;
  --pd-muted: #64748b;
  --pd-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --pd-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04);
  --pd-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.08), 0 4px 8px rgba(0, 0, 0, 0.04);
  --pd-radius: 12px;
  --pd-radius-sm: 8px;
  --pd-indigo: #6366f1;
  --pd-green: #10b981;
  --pd-amber: #f59e0b;
  --pd-blue: #3b82f6;
  --pd-red: #ef4444;
  --pd-teal: #14b8a6;
  --pd-pink: #ec4899;
}
/* â”€â”€ Container â”€â”€ */
.pd-container {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: var(--pd-bg);
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--pd-text);
  gap: 0;
}
/* â”€â”€ Topbar â”€â”€ */
.pd-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--pd-white);
  padding: 0 24px;
  height: 60px;
  border-bottom: 1px solid var(--pd-border);
  flex-shrink: 0;
}
.pd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--pd-muted);
}
.pd-bc-icon {
  cursor: pointer;
  display: flex;
  align-items: center;
  color: var(--pd-muted);
  transition: color 0.2s;
}
.pd-bc-icon:hover {
  color: var(--pd-text);
}
.pd-bc-sep {
  color: var(--text-primary) ;
}
.pd-bc-link {
  cursor: pointer;
  transition: color 0.2s;
}
.pd-bc-link:hover {
  color: var(--pd-text);
}
.pd-bc-active {
  color: var(--pd-text);
  font-weight: 600;
}
.pd-topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--pd-muted);
}
.pd-topbar-icon {
  cursor: pointer;
  transition: color 0.2s;
}
.pd-topbar-icon:hover {
  color: var(--pd-text);
}
/* â”€â”€ Welcome Card â”€â”€ */
.pd-welcome-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  padding: 18px 24px;
  position: relative;
  flex-shrink: 0;
}
.pd-welcome-decor {
  display: none;
}
.pd-welcome-left {
  display: flex;
  align-items: center;
  gap: 18px;
}
.pd-welcome-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: var(--pd-text);
}
.pd-welcome-date {
  font-size: 13px;
  color: var(--pd-muted);
  margin: 0;
}
.pd-welcome-right {
  position: relative;
  z-index: 10;
}
/* â”€â”€ Buttons â”€â”€ */
.pd-btn-green {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  background: #16a34a;
  color: white;
  border: none;
  border-radius: var(--pd-radius-sm);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 4px rgba(22, 163, 74, 0.25);
}
.pd-btn-green:hover {
  background: #15803d;
  box-shadow: 0 4px 8px rgba(22, 163, 74, 0.35);
  transform: translateY(-1px);
}
.pd-report-btn-wrap {
  position: relative;
}
.pd-overlay {
  position: fixed;
  inset: 0;
  z-index: 10;
}
.pd-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius-sm);
  box-shadow: var(--pd-shadow-lg);
  z-index: 20;
  min-width: 190px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.pd-dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--pd-border);
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.15s;
}
.pd-dropdown-item:last-child {
  border-bottom: none;
}
.pd-dropdown-item:hover {
  background: var(--hover-bg) ;
}
/* â”€â”€ Inner Content Wrapper â”€â”€ */
.pd-inner {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
}
/* ——— Dashboard Filter Bar ——— */
.dashboard-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  background: var(--bg-secondary) ;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-color) ;
  margin-bottom: 0;
  align-items: center;
  justify-content: space-between;
}
.dashboard-filter-bar .filter-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 150px;
}
.dashboard-filter-bar .filter-group .filter-label {
  font-family: Inter, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
  white-space: nowrap;
}
.filter-select-wrapper {
  position: relative;
  width: 100%;
}
.filter-select-wrapper select {
  border: 1px solid rgb(226, 232, 240);
  outline: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231E293B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat rgb(248, 250, 252);
  font-size: 13px;
  font-weight: 700 !important;
  color: var(--text-primary) ;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 6px 30px 6px 12px;
  border-radius: 6px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  width: 100%;
  min-width: 140px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.filter-select-wrapper select:focus {
  border-color: #3b82f6;
  background: var(--bg-secondary) ;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}
.filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.reset-filters-btn {
  background: transparent;
  border: none;
  color: #3b82f6;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 6px;
  transition: all 0.2s;
  white-space: nowrap;
}
.reset-filters-btn:hover {
  background-color: #eff6ff;
  color: #2563eb;
}
/* ——— KPI Grid ——— */
.pd-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  min-width: 0;
}
.pd-kpi-card {
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: var(--pd-shadow-sm);
  transition: all 0.25s;
  cursor: default;
}
.pd-kpi-card:hover {
  box-shadow: var(--pd-shadow-lg);
  transform: translateY(-2px);
  border-color: #c7d2fe;
}
.pd-kpi-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.pd-kpi-icon-wrap {
  width: 36px;
  height: 36px;
  border-radius: var(--pd-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-kpi-arrow {
  color: var(--text-primary) ;
}
.pd-kpi-value {
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.5px;
  margin-top: 4px;
  margin-bottom: 6px;
}
.pd-kpi-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--pd-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pd-kpi-sub {
  font-size: 11px;
  font-weight: 500;
  margin-top: 2px;
}
.pd-skeleton {
  display: inline-block;
  background: linear-gradient(90deg, var(--hover-bg) 25%, var(--border-color) 50%, var(--hover-bg) 75%);
  background-size: 200% 100%;
  animation: pd-shimmer 1.5s infinite;
  border-radius: 4px;
  width: 60px;
  height: 22px;
}
@keyframes pd-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}
/* â”€â”€ Main Grid â”€â”€ */
.pd-main-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 20px;
  align-items: start;
  min-width: 0;
}
.pd-col-main,
.pd-col-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* â”€â”€ Panel â”€â”€ */
.pd-panel {
  background: var(--pd-white);
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius);
  box-shadow: var(--pd-shadow-sm);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.pd-panel:hover {
  box-shadow: var(--pd-shadow);
}
.pd-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 20px 0 20px;
}
.pd-panel-header-tabbed {
  padding: 0;
  border-bottom: 1px solid var(--pd-border);
}
.pd-panel-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--pd-text);
  margin: 0 0 4px 0;
}
.pd-panel-sub {
  font-size: 12px;
  color: var(--pd-muted);
  margin: 0;
}
.pd-panel-body {
  padding: 20px;
}
.pd-panel-body-flush {
  padding: 0;
  overflow-x: auto;
}
/* â”€â”€ Tabs â”€â”€ */
.pd-tabs {
  display: flex;
}
.pd-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 20px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-size: 13px;
  font-weight: 600;
  color: var(--pd-muted);
  cursor: pointer;
  transition: all 0.2s;
}
.pd-tab:hover {
  color: var(--pd-text);
}
.pd-tab-active {
  color: var(--pd-green);
  border-bottom-color: var(--pd-green);
}
/* â”€â”€ Chart â”€â”€ */
.pd-chart-area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pd-bar-chart {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  height: 200px;
  padding-bottom: 0;
  border-bottom: 2px solid var(--pd-border);
  gap: 8px;
}
.pd-bar-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  height: 100%;
  flex: 1;
}
.pd-bars {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 100%;
}
.pd-bar {
  width: 10px;
  border-radius: 3px 3px 0 0;
  transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  min-height: 4px;
}
.pd-bar:hover {
  opacity: 0.8;
  cursor: pointer;
}
.pd-bar-gross {
  background: var(--pd-indigo);
}
.pd-bar-net {
  background: var(--pd-green);
}
.pd-bar-ded {
  background: var(--pd-amber);
}
.pd-bar-label {
  font-size: 11px;
  color: var(--pd-muted);
  font-weight: 500;
}
.pd-chart-legend {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.pd-leg {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--pd-muted);
  font-weight: 500;
}
.pd-leg-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
/* â”€â”€ Department Breakdown â”€â”€ */
.pd-dept-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.pd-dept-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pd-dept-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pd-dept-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pd-text);
}
.pd-dept-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pd-dept-nums {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pd-dept-gross {
  font-size: 13px;
  font-weight: 700;
  color: var(--pd-text);
}
.pd-dept-share {
  font-size: 11px;
  font-weight: 700;
  color: var(--pd-muted);
  background: var(--pd-bg);
  padding: 2px 6px;
  border-radius: 4px;
}
.pd-dept-bar-track {
  width: 100%;
  height: 6px;
  background: var(--hover-bg) ;
  border-radius: 3px;
  overflow: hidden;
}
.pd-dept-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pd-dept-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--pd-muted);
}
/* â”€â”€ Table â”€â”€ */
.pd-table {
  width: 100%;
  border-collapse: collapse;
}
.pd-table th {
  text-align: left;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--pd-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--hover-bg) ;
  border-bottom: 1px solid var(--pd-border);
}
.pd-table td {
  padding: 13px 16px;
  font-size: 13px;
  color: var(--pd-text);
  border-bottom: 1px solid var(--border-color) ;
}
.pd-table tbody tr {
  transition: background 0.15s;
}
.pd-table tbody tr:hover {
  background: #fafbfe;
}
.pd-table tbody tr:last-child td {
  border-bottom: none;
}
.pd-td-muted {
  color: var(--pd-muted);
}
.pd-td-bold {
  font-weight: 600;
}
.pd-td-green {
  color: var(--pd-green);
  font-weight: 600;
}
.pd-td-red {
  color: var(--pd-red);
}
.pd-id-chip {
  display: inline-block;
  background: #eef2ff;
  color: var(--pd-indigo);
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
}
.pd-table-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: none;
  border: 1px solid var(--pd-border);
  border-radius: 6px;
  cursor: pointer;
  color: var(--pd-muted);
  transition: all 0.2s;
}
.pd-table-btn:hover {
  background: var(--pd-bg);
  color: var(--pd-text);
  box-shadow: var(--pd-shadow-sm);
}
.pd-table-btn-text {
  width: auto;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--pd-blue);
  border-color: #bfdbfe;
}
.pd-table-btn-text:hover {
  background: #eff6ff;
  color: var(--pd-blue);
}
/* â”€â”€ Badges â”€â”€ */
.pd-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  text-transform: capitalize;
}
.pd-badge-warning {
  background: #fef3c7;
  color: #d97706;
}
.pd-badge-success {
  background: #dcfce7;
  color: #16a34a;
}
.pd-badge-paid {
  background: #dbeafe;
  color: #2563eb;
}
.pd-badge-danger {
  background: #fee2e2;
  color: #dc2626;
}
/* â”€â”€ Module Grid â”€â”€ */
.pd-module-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--pd-border);
}
.pd-module-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 12px;
  border-right: 1px solid var(--pd-border);
  border-bottom: 1px solid var(--pd-border);
  text-align: center;
  transition: background 0.2s;
}
.pd-module-item:nth-child(2n) {
  border-right: none;
}
.pd-module-item:nth-child(3),
.pd-module-item:nth-child(4) {
  border-bottom: none;
}
.pd-module-item:hover {
  background: #fafbfe;
}
.pd-module-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--pd-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.pd-module-count {
  font-size: 22px;
  font-weight: 800;
  color: var(--pd-text);
  line-height: 1;
}
.pd-module-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--pd-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
/* â”€â”€ Status Distribution â”€â”€ */
.pd-status-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pd-status-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pd-status-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pd-status-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--pd-text);
}
.pd-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pd-status-nums {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pd-status-count {
  font-size: 14px;
  font-weight: 700;
  color: var(--pd-text);
}
.pd-status-pct {
  font-size: 12px;
  font-weight: 600;
}
.pd-status-track {
  width: 100%;
  height: 6px;
  background: var(--hover-bg) ;
  border-radius: 3px;
  overflow: hidden;
}
.pd-status-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* â”€â”€ Payroll Health â”€â”€ */
.pd-health-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pd-health-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--pd-radius-sm);
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.pd-health-item:hover {
  border-color: var(--pd-border);
  box-shadow: var(--pd-shadow-sm);
}
.pd-health-ok {
  background: #f0fdf4;
}
.pd-health-warn {
  background: #fffbeb;
}
.pd-health-danger {
  background: #fef2f2;
}
.pd-health-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 6px;
}
.pd-health-icon-ok {
  background: #dcfce7;
  color: var(--pd-green);
}
.pd-health-icon-warn {
  background: #fef3c7;
  color: var(--pd-amber);
}
.pd-health-icon-danger {
  background: #fee2e2;
  color: var(--pd-red);
}
.pd-health-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pd-health-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--pd-text);
}
.pd-health-count {
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  color: var(--pd-text);
}
.pd-health-arrow {
  color: var(--pd-muted);
}
/* â”€â”€ Quick Actions â”€â”€ */
.pd-quick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 20px 20px;
}
.pd-btn-green {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #22c55e;
  color: var(--text-primary) ;
  border: none;
  padding: 10px 16px;
  border-radius: var(--pd-radius-sm);
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.25);
}
.pd-btn-green:hover {
  background: #16a34a;
  transform: translateY(-1px);
}
.pd-quick-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 12px;
  background: var(--hover-bg) ;
  border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius-sm);
  font-size: 12px;
  font-weight: 600;
  color: var(--pd-text);
  cursor: pointer;
  transition: all 0.2s;
}
.pd-quick-btn:hover {
  background: var(--pd-white);
  border-color: #c7d2fe;
  box-shadow: var(--pd-shadow-sm);
  color: var(--pd-indigo);
}
.pd-quick-btn-primary {
  grid-column: span 2;
  background: var(--pd-indigo);
  color: white;
  border-color: transparent;
  justify-content: center;
  font-size: 13px;
  padding: 12px;
  box-shadow: 0 2px 4px rgba(99, 102, 241, 0.25);
}
.pd-quick-btn-primary:hover {
  background: #4f46e5;
  color: white;
  box-shadow: 0 4px 10px rgba(99, 102, 241, 0.35);
  transform: translateY(-1px);
}
/* â”€â”€ Empty State â”€â”€ */
.pd-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: var(--pd-muted);
  text-align: center;
}
.pd-empty-icon {
  opacity: 0.4;
  margin-bottom: 12px;
}
.pd-empty-state h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--pd-text);
  margin: 0 0 6px 0;
}
.pd-empty-state p {
  font-size: 13px;
  margin: 0;
}
/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 1400px) {
  .pd-kpi-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1100px) {
  .pd-main-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .pd-kpi-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pd-inner {
    padding: 16px;
  }
}
.kpi-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 1024px) {
  .kpi-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .kpi-cards-grid {
    grid-template-columns: 1fr;
  }
}
@keyframes kpiCardFadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.kpi-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 10px !important;
  padding: 17.5px !important;
  min-height: 125px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  animation: kpiCardFadeInUp 0.5s ease-out forwards;
  opacity: 0;
}
.kpi-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
}
.kpi-card-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  flex-grow: 1;
}
.chart-card {
  animation: kpiCardFadeInUp 0.6s ease-out forwards;
  opacity: 0;
}
.kpi-title {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--pd-text) !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
  }
.kpi-card-value {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--pd-text) !important;
    line-height: 1 !important;
    text-align: left;
    margin: 0 !important;
  }
.kpi-trend {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  margin-top: 8px;
  text-align: left;
}
.kpi-trend.trend-neutral {
  color: #10b981;
}
.kpi-info-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.2s ease;
}
/* KPI Info Modal Box */
.kpi-info-modal-box {
  background: var(--bg-secondary) ;
  border-radius: 24px;
  width: 800px;
  max-width: 95%;
  max-height: 90vh;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: slideUp 0.25s ease-out;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.kpi-info-modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-color) ;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kpi-modal-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}
.kpi-info-modal-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary) ;
}
.kpi-info-modal-subtitle {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: 500;
}
.kpi-info-modal-close-btn {
  background: var(--hover-bg) ;
  border: none;
  font-size: 12px;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.kpi-info-modal-close-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}
.kpi-info-modal-body {
  padding: 24px;
  box-sizing: border-box;
  flex-shrink: 0;
}
.kpi-modal-grid-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.kpi-modal-value-card {
  width: 140px;
  height: 140px;
  background-color: #eff6ff;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 16px;
}
.value-card-label {
  font-size: 10px;
  font-weight: 700;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
}
.value-card-number {
  font-size: 32px;
  font-weight: 800;
  color: #1e3a8a;
}
.kpi-modal-details-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-grow: 1;
  text-align: left;
}
.kpi-details-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.kpi-details-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.kpi-details-icon.info-blue {
  color: #3b82f6;
  font-size: 14px;
}
.kpi-details-bullet-icon {
  color: #8b5cf6;
  font-weight: 700;
  font-size: 15px;
}
.kpi-details-text {
  font-size: 12.5px;
  color: var(--text-primary) ;
  margin: 0;
  line-height: 1.45;
}
.kpi-details-counts-box {
  background-color: #faf5ff;
  border: 1px solid #f3e8ff;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}
.kpi-details-counts-text {
  font-size: 12.5px;
  color: #7c3aed;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}
.insight-icon {
  color: #d97706;
  font-size: 15px;
}
.kpi-details-insight-box {
  background-color: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}
.kpi-details-insight-text {
  font-size: 12.5px;
  color: #b45309;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}
.kpi-info-modal-footer {
  padding: 16px 24px;
  background-color: var(--hover-bg) ;
  border-top: 1px solid var(--border-color) ;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
.items-counted-section {
  display: flex;
  align-items: center;
  gap: 8px;
}
.items-counted-section .database-icon {
  color: #eab308;
  font-size: 14px;
}
.items-counted-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.kpi-info-modal-ok-btn {
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  border: none;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.kpi-info-modal-ok-btn:hover {
  background-color: var(--text-primary) ;
}
/* Drill-Down Table Layout & Alignments */
.items-counted-section-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 14px;
}
.items-counted-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.items-counted-title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.items-counted-title .database-icon {
  color: #eab308;
  font-size: 15px;
}
.items-counted-list {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
}
.no-items-counted {
  padding: 24px;
  text-align: center;
  color: var(--text-primary) ;
  font-size: 13.5px;
}
.drilldown-table-wrapper {
  width: 100%;
}
.drilldown-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.drilldown-table th {
  background-color: var(--hover-bg) ;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border-color) ;
  position: sticky;
  top: 0;
  z-index: 10;
}
.drilldown-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  font-size: 13px;
  vertical-align: middle;
}
.drilldown-table tr:last-child td {
  border-bottom: none;
}
.drilldown-table tr:hover td {
  background-color: var(--hover-bg) ;
}
.emp-info-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* Custom override for smaller avatar in the table */
.drilldown-table .emp-avatar-circle {
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
  box-shadow: none !important;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  font-weight: 700;
  flex-shrink: 0;
}
.drilldown-table .emp-avatar-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.drilldown-table .emp-avatar-text {
  line-height: 1;
}
.emp-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.emp-meta-name {
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 13.5px;
}
.emp-meta-email {
  font-size: 11px;
  color: var(--text-primary) ;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.pd-container .items-counted-list {
  max-height: none !important;
  overflow-y: visible !important;
}
.pd-container .kpi-info-modal-box {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar {
  width: 8px;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar-track {
  background: transparent;
  margin-top: 24px;
  margin-bottom: 24px;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 10px;
}
.pd-container .kpi-info-modal-box::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8;
}
.pd-action-btn-outline {
  background: var(--bg-secondary) ;
  color: var(--text-primary) ;
  border: 1px solid var(--border-color) ;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s;
}
.pd-action-btn-outline:hover {
  background-color: var(--hover-bg) ;
}
.pd-badge-neutral {
  background: var(--hover-bg) ;
  color: var(--text-primary) ;
}
/* LeaveType.css */
.lt-page-container {
  display: flex;
  min-height: 100vh;
  background-color: var(--hover-bg) ;
  font-family: 'Inter', sans-serif;
}

.lt-main-content {
  margin-left: 220px;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--bg-secondary) ;
  min-height: 100vh;
}

.lt-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.lt-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text-primary) ;
}

.lt-breadcrumb-icon {
  cursor: pointer;
  font-size: 16px;
}

.lt-breadcrumb-icon:hover,
.lt-breadcrumb-link:hover {
  color: var(--text-primary) ;
  text-decoration: underline;
}

.lt-breadcrumb-link {
  cursor: pointer;
}

.lt-breadcrumb-current {
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 16px;
}

.lt-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lt-btn {
  background-color: var(--hover-bg) ;
  border: 1px solid transparent;
  color: var(--text-primary) ;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s;
}

.lt-btn:hover,
.lt-btn-active {
  background-color: var(--hover-bg) ;
}

.lt-btn-icon {
  padding: 6px 8px;
}

.lt-btn-primary {
  background-color: #1a1a1a;
  color: var(--text-primary) ;
  border: none;
  padding: 6px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}

.lt-btn-primary:hover {
  background-color: var(--text-primary) ;
}

.lt-btn-arrow {
  font-size: 10px;
  margin-left: 4px;
}

.lt-menu-container {
  position: relative;
}

.lt-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  background: var(--bg-secondary) ;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  min-width: 180px;
  padding: 8px 0;
  z-index: 1000;
  border: 1px solid var(--border-color) ;
}

.lt-dropdown-menu-right {
  left: auto;
  right: 0;
}

.lt-dropdown-item {
  padding: 8px 16px;
  font-size: 14px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  gap: 10px;
}

.lt-dropdown-item:hover {
  background-color: var(--hover-bg) ;
}

.lt-dropdown-item-flex {
  justify-content: space-between;
}

.lt-shortcut {
  color: var(--text-primary) ;
  font-size: 12px;
}

.lt-dropdown-icon {
  font-size: 16px;
  color: var(--text-primary) ;
}

.lt-filters-bar {
  display: flex;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-color) ;
}

.lt-filter-inputs {
  display: flex;
  gap: 12px;
  align-items: center;
}

.lt-filter-input-group {
  display: flex;
  align-items: center;
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  padding: 0 10px;
  height: 32px;
  position: relative;
}

.lt-filter-input-group input {
  border: none;
  background: transparent;
  outline: none;
  font-size: 13px;
  width: 100px;
  color: var(--text-primary) ;
}

.lt-filter-input-group input::-moz-placeholder {
  color: var(--text-primary) ;
}

.lt-filter-input-group input::placeholder {
  color: var(--text-primary) ;
}

.lt-approx-container {
  position: relative;
  display: flex;
  align-items: center;
}

.lt-approx {
  color: var(--text-primary) ;
  font-size: 14px;
  margin-left: 4px;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
}

.lt-approx:hover,
.lt-approx-active {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.lt-approx-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-secondary) ;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  min-width: 120px;
  padding: 8px 0;
  z-index: 1000;
  border: 1px solid var(--border-color) ;
}

.lt-approx-arrow {
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #e2e8f0;
}

.lt-approx-arrow::after {
  content: '';
  position: absolute;
  top: 1px;
  left: -5px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #ffffff;
}

.lt-filter-actions {
  display: flex;
  gap: 8px;
}

.lt-filter-btn-group {
  padding: 0 !important;
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

.lt-filter-btn-main {
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.lt-filter-btn-main:hover {
  background-color: var(--hover-bg) ;
}

.lt-filter-btn-clear {
  padding: 6px 8px;
  border-left: 1px solid var(--border-color) ;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lt-filter-btn-clear:hover {
  background-color: var(--hover-bg) ;
}

/* Filter Popup */
.lt-filter-popup {
  min-width: 420px;
  padding: 16px;
  right: 0;
  left: auto;
}

.lt-filter-popup-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-color) ;
}

.lt-filter-input-small,
.lt-filter-select-small {
  height: 28px;
  border: 1px solid var(--border-color) ;
  border-radius: 4px;
  padding: 0 8px;
  font-size: 13px;
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  outline: none;
}

.lt-filter-select-small {
  cursor: pointer;
}

.lt-filter-input-small {
  flex: 1;
}

.lt-filter-remove {
  color: var(--text-primary) ;
  cursor: pointer;
  font-size: 14px;
}

.lt-filter-remove:hover {
  color: #ef4444;
}

.lt-filter-popup-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lt-filter-add {
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  font-weight: 500;
}

.lt-filter-add:hover {
  color: var(--text-primary) ;
}

.lt-filter-footer-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lt-filter-clear {
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
}

.lt-filter-clear:hover {
  color: var(--text-primary) ;
}

/* Table */
.lt-table-container {
  width: 100%;
}

.lt-table {
  width: 100%;
  border-collapse: collapse;
}

.lt-table th {
  background-color: var(--hover-bg) ;
  padding: 10px 16px;
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  border-bottom: 1px solid var(--border-color) ;
  white-space: nowrap;
}

.lt-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color) ;
  font-size: 13px;
  color: var(--text-primary) ;
}

.lt-th-checkbox,
.lt-td-checkbox {
  width: 40px;
  text-align: center !important;
}

.lt-th-id,
.lt-td-id {
  font-weight: 600;
  color: var(--text-primary) !important;
}

.lt-th-actions-header {
  text-align: right !important;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.lt-header-heart {
  font-size: 14px;
}

.lt-td-actions {
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: var(--text-primary) ;
}

.lt-age {
  margin-right: 12px;
  color: var(--text-primary) ;
}

.lt-icon-message,
.lt-icon-heart {
  font-size: 16px;
  cursor: pointer;
}

.lt-icon-message:hover,
.lt-icon-heart:hover {
  color: var(--text-primary) ;
}

.lt-pagination {
  margin-top: auto;
  padding: 16px 24px;
  display: flex;
  gap: 12px;
}

.lt-page-item {
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 4px;
}

.lt-page-item:hover {
  background-color: var(--hover-bg) ;
}

.lt-page-active {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-weight: 500;
}

/* --- New Grid & Card Layout for Leave Type Form --- */

.setup-form-container {
  padding: 24px;
  background: var(--bg-primary) ;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: calc(100vh - 140px);
}

.leave-type-layout-2col {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 24px;
  align-items: start;
}

.leave-type-main-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.leave-type-side-col {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 24px;
}

.leave-type-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.setup-card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lt-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.lt-card-icon {
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.lt-card-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
  flex: 1;
}

.lt-card-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lt-card-rules-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}

/* Responsive grids inside cards */
.lt-card-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 32px;
}

.lt-card-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}

/* Ensure inputs align horizontally even if labels or descriptions are multi-line */
.lt-card-grid-2 .form-field label,
.lt-card-grid-3 .form-field label,
.setup-card .form-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.setup-card .form-input,
.setup-card .form-select {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 12px;
  height: 38px;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  font-size: 14px;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.setup-card .form-input:hover,
.setup-card .form-select:hover {
  border-color: var(--text-muted) ;
}

.setup-card .form-input:focus,
.setup-card .form-select:focus {
  border-color: #10b981;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

.setup-card .form-input::-moz-placeholder {
  color: var(--text-primary) ;
  font-size: 14px;
}

.setup-card .form-input::placeholder {
  color: var(--text-primary) ;
  font-size: 14px;
}

.lt-card-grid-2 .form-field,
.lt-card-grid-3 .form-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 4px;
}

.field-desc {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: 4px;
  line-height: 1.4;
}

@media (max-width: 1024px) {
  .lt-card-grid-3 {
    grid-template-columns: 1fr 1fr;
  }
  .leave-type-layout-2col {
    grid-template-columns: 1fr;
  }
  .leave-type-side-col {
    position: relative;
    top: 0;
  }
}

@media (max-width: 768px) {
  .leave-type-grid {
    grid-template-columns: 1fr;
  }

  .lt-card-grid-2,
  .lt-card-grid-3 {
    grid-template-columns: 1fr;
  }
}

/* Custom Toggle Switch for Leave Rules */
.lt-toggle-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.lt-toggle-info {
  display: flex;
  flex-direction: column;
}

.lt-toggle-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  gap: 6px;
}

.lt-toggle-desc {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: 4px;
}

.lt-toggle-switch {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  flex-shrink: 0;
}

.lt-toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.lt-toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbd5e1;
  transition: .2s;
  border-radius: 20px;
}

.lt-toggle-slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background: var(--bg-secondary) ;
  transition: .2s;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

input:checked+.lt-toggle-slider {
  background-color: #10b981;
}

input:checked+.lt-toggle-slider:before {
  transform: translateX(16px);
}

/* Preview Summary Footer */
.lt-preview-footer {
  display: flex;
  align-items: center;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  padding: 16px 24px;
  gap: 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.lt-preview-header {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 180px;
}

.lt-preview-icon-wrapper {
  background: var(--hover-bg) ;
  padding: 8px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
}

.lt-preview-stats {
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: center;
}

.lt-preview-stat-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lt-preview-stat-icon {
  color: var(--text-primary) ;
  font-size: 18px;
}

.lt-preview-stat-text {
  display: flex;
  flex-direction: column;
}

.lt-preview-stat-label {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.lt-preview-stat-value {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}
.setup-section { 
  background: var(--bg-secondary) ;
  border-radius: 8px;
  border: 1px solid var(--border-color) ;
  padding: 24px;
  display: flex; 
  flex-direction: column; 
  gap: 16px; 
}


.setup-card-header { 
  font-size: 14.5px; 
  font-weight: 600; 
  color: var(--text-primary) ; 
  margin-top: 0; 
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}



/* Leaves Module Layout */
.leaves-page-layout {
  display: flex;
  height: 100vh;
  width: 100vw;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary) ;
  background: var(--bg-primary) ;
  overflow: hidden;
}
.leaves-main-content {
  flex-grow: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  background: var(--bg-primary) ;
  width: 100%;
}
.tax-benefits-page-layout {
  display: flex;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  background: var(--bg-secondary) ;
}

/* Toast */
.tb-toast-notification {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Cards for Dashboard */
.tb-section-card {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  padding: 16px 20px;
  width: 280px;
  min-height: 120px;
}

.tb-section-title {
  font-size: 12px;
  color: var(--text-primary) ;
  font-weight: 600;
  margin-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
  padding-bottom: 8px;
}

.tb-links-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tb-links-list li {
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border-radius: 6px;
  transition: background 0.15s, color 0.15s;
}

.tb-links-list li:hover {
  background: var(--bg-primary) ;
  color: var(--text-primary) ;
}

.tb-arrow-icon {
  font-size: 12px;
  color: var(--text-primary) ;
  opacity: 0;
  transition: opacity 0.15s;
}

.tb-links-list li:hover .tb-arrow-icon {
  opacity: 1;
}
/* Shift & Attendance Styling */

/* Page layout */
.shift-attendance-layout {
  display: flex;
  height: 100vh;
  overflow: hidden;
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar {
  width: 70px !important;
  min-width: 70px !important;
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar .nav-item {
  justify-content: center !important;
  padding: 10px !important;
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar .nav-left {
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar .user-details,
.shift-attendance-layout.sidebar-collapsed .hr-sidebar span,
.shift-attendance-layout.sidebar-collapsed .hr-sidebar .arrow-right {
  display: none;
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar .sidebar-submenu,
.shift-attendance-layout.sidebar-collapsed .hr-sidebar .brand-logo-img,
.shift-attendance-layout.sidebar-collapsed .hr-sidebar .brand-icon-box {
  display: none !important;
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar .sidebar-brand-wrapper {
  justify-content: center;
  padding: 0;
}

.shift-attendance-layout.sidebar-collapsed .hr-sidebar .sidebar-brand-wrapper::after {
  content: 'अ';
  font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
  font-size: 26px;
  font-weight: 800;
  color: var(--text-primary) ;
}

.shift-attendance-layout.sidebar-collapsed .sa-main-content {
  margin-left: 0;
}

.sa-main-content {
  flex: 1;
  min-width: 0;
  margin-left: 0;
  background-color: var(--hover-bg) ;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Sidebar Styling */
.sa-topbar {
  height: 60px;
  border-bottom: 1px solid var(--border-color) ;
  background: var(--bg-secondary) ;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.sa-scrollable {
  flex-grow: 1;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 24px;
}

.shift-attendance-layout .hr-sidebar {
  width: 260px;
  min-width: 260px;
  background: var(--bg-secondary) ;
  border-right: 1px solid var(--border-color) ;
  height: 100vh;
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start !important;
  z-index: 100;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.sidebar-brand-wrapper {
  height: 60px !important;
  padding: 0 16px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-color) ;
  flex-shrink: 0;
}

.brand-logo-img {
  max-height: 48px;
  width: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.brand-icon-box {
  display: none !important;
}

/* .sidebar-logo-divider removed to use global SharedSidebar.css rule */



.nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 8px 12px;
  background: none;
  border: none;
  border-radius: 20px;
  color: var(--text-primary) ;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  white-space: nowrap;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
}

.ts-nav-item:hover,
.sidebar-item:hover,
.nav-item:hover,
.submenu-item:hover,
.ts-subnav-item:hover,
.sidebar-submenu a:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}

.ts-nav-item:hover svg,
.sidebar-item:hover svg,
.nav-item:hover svg,
.nav-item:hover .nav-icon,
.submenu-item:hover svg,
.ts-subnav-item:hover svg,
.sidebar-submenu a:hover svg,
.nav-item:hover .arrow-right {
  color: var(--text-primary) !important;
}

.nav-item.active {
  background-color: #E7F8EE !important;
  color: #047857 !important;
  font-weight: 700 !important;
}

.nav-item.active .nav-icon,
.nav-item.active svg {
  color: #047857 !important;
}

.nav-left {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  overflow: hidden;
}

.nav-left span {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.nav-icon {
  font-size: 18px;
}

.arrow-right {
  font-size: 14px;
}

.shift-attendance-layout .hr-sidebar .sidebar-submenu {
  margin-left: 20px !important;
  margin-bottom: 8px !important;
  padding: 0px 0px 0px 10px !important;
  border-left: 1px solid var(--border-color) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  overflow: visible !important;
  animation: none !important;
  transition: border-color 0.2s ease !important;
}

.hr-sidebar .sidebar-submenu.active-submenu {
  border-left: 2px solid #059669 !important;
}

.hr-sidebar .submenu-item {
  display: flex !important;
  align-items: center;
  padding: 8px 12px !important;
  font-size: 13px !important;
  color: var(--text-primary) !important;
  text-decoration: none !important;
  border-radius: 14px !important;
  transition: all 0.2s ease !important;
  font-weight: 500 !important;
  background-color: transparent !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.hr-sidebar .submenu-item::before {
  display: none !important;
  content: none !important;
}

.hr-sidebar .submenu-item.active::before {
  background-color: #059669;
}

.hr-sidebar .submenu-item:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}

.shift-attendance-layout .hr-sidebar .submenu-item.active {
  background-color: #ecfdf5 !important;
  color: #059669 !important;
  font-weight: 600 !important;
}

.sidebar-user-container {
  padding: 12px 16px 12px 6px !important;
  border-top: 1px solid var(--border-color) ;
  flex-shrink: 0;
  background-color: inherit;
  z-index: 10;
}

.sidebar-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 !important;
  margin: 0 !important;
}

.shift-attendance-layout.sidebar-collapsed .sidebar-user-container,
.sidebar-collapsed .sidebar-user-container {
  padding: 16px !important;
  display: flex;
  justify-content: center;
}

.shift-attendance-layout.sidebar-collapsed .sidebar-footer,
.sidebar-collapsed .sidebar-footer {
  justify-content: center;
}

.avatar-circle {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: var(--text-primary) ;
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.user-details {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.user-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.user-email {
  font-size: 12px;
  color: var(--text-primary) ;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

/* Profile dropdown menu */
.profile-dropdown-menu {
  position: absolute;
  bottom: 70px;
  left: 16px;
  right: 16px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  padding: 8px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-primary) ;
  cursor: pointer;
  border-radius: 14px;
  transition: all 0.2s;
}

.dropdown-item:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.dropdown-item.logout {
  color: #ef4444;
}

.dropdown-item.logout:hover {
  background-color: #fef2f2;
}

/* Breadcrumbs */
.breadcrumb-section {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.breadcrumb-home-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-primary) ;
  padding: 4px;
  border-radius: 12px;
  transition: all 0.2s ease;
}

.breadcrumb-home-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.breadcrumb-home-icon {
  font-size: 16px;
}

.breadcrumb-separator {
  color: var(--text-primary) ;
}

.breadcrumb-parent {
  color: var(--text-primary) ;
  cursor: pointer;
  font-weight: 500;
}

.breadcrumb-parent:hover {
  color: var(--text-primary) ;
}

.breadcrumb-current {
  color: var(--text-primary) ;
  font-weight: 600;
}

/* Stats Cards */
.sa-custom-dashboard {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sa-dashboard-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

@media (max-width: 1024px) {
  .sa-dashboard-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .sa-dashboard-cards-grid {
    grid-template-columns: 1fr;
  }
}

.sa-dash-card {
  background: var(--bg-secondary) ;
  border: 1px solid #f3f4f6 !important;
  border-radius: 16px !important;
  padding: 16px !important;
  width: 100% !important;
  height: 125px !important;
  min-height: 125px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 8px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box;
  transition: all 0.2s ease;
}

.theme-dark .sa-dash-card,
body.dark .sa-dash-card {
  background: #151B26 !important;
  border-color: #232B3B !important;
}

.sa-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sa-card-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  letter-spacing: 0.5px !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.theme-dark .sa-card-title,
body.dark .sa-card-title {
  color: #94a3b8 !important;
}

.sa-card-action-btn {
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  font-size: 16px;
  border-radius: 12px;
}

.sa-card-action-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.sa-card-value {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #111827 !important;
  letter-spacing: normal !important;
  margin: 2px 0 !important;
}

.theme-dark .sa-card-value,
body.dark .sa-card-value {
  color: #ffffff !important;
}

.sa-card-value.val-green {
  color: #10b981;
}

.sa-card-value.val-red {
  color: #ef4444;
}

/* Dashboard Panels */
.sa-dashboard-panel {
  background: var(--bg-secondary) ;
  border: 1px solid #eef0f2;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.sa-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid var(--border-color) ;
  padding-bottom: 4px;
}

.sa-panel-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin: 0 0 2px 0;
}

.sa-panel-subtitle {
  font-size: 11px;
  color: var(--text-primary) ;
  display: block;
}

.sa-panel-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sa-action-icon-btn {
  background: none;
  border: none;
  color: var(--text-primary) ;
  cursor: pointer;
  padding: 6px;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid var(--border-color) ;
  transition: all 0.2s;
}

.sa-action-icon-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  border-color: var(--border-color) ;
}

.sa-panel-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.no-data-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--text-primary) ;
  font-size: 14px;
  font-weight: 500;
}

.sa-dashboard-row-half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 1024px) {
  .sa-dashboard-row-half {
    grid-template-columns: 1fr;
  }
}

/* SVG Chart */
.chart-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 240px;
}

.chart-legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-primary) ;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Recent Items List */
.logs-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 280px;
  overflow-y: auto;
}

.log-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background-color: var(--hover-bg) ;
  border-radius: 16px;
  border-left: 3px solid #cbd5e1;
}

.log-item.in {
  border-left-color: #10b981;
}

.log-item.out {
  border-left-color: #3b82f6;
}

.log-emp-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-primary) ;
}

.log-time {
  font-size: 12px;
  color: var(--text-primary) ;
}

.log-type-tag {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 12px;
  text-transform: uppercase;
}

.log-type-tag.in {
  background-color: #d1fae5;
  color: #065f46;
}

.log-type-tag.out {
  background-color: #dbeafe;
  color: #1e40af;
}

/* Roster View Styling */
.roster-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  background: var(--bg-secondary) ;
  padding: 16px 24px;
  border-radius: 18px;
  border: 1px solid var(--border-color) ;
}

.roster-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.roster-month-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
  min-width: 140px;
  text-align: center;
}

.roster-nav-btn {
  background: none;
  border: 1px solid var(--border-color) ;
  width: 32px;
  height: 32px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-primary) ;
  transition: all 0.2s ease;
}

.roster-nav-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.roster-table-outer {
  overflow-x: auto;
  border: 1px solid var(--border-color) ;
  border-radius: 0;
  background: var(--bg-secondary) ;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.01);
}

.roster-table {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  text-align: left;
}

.roster-table th,
.roster-table td {
  padding: 6px 2px !important;
  border-bottom: 1px solid var(--border-color) !important;
  min-width: 20px !important;
}

.roster-table tr:last-child td {
  border-bottom: none;
}



.roster-table th {
  background-color: var(--hover-bg) !important;
  color: #64748b !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

.roster-table th.emp-name-col,
.roster-table td.emp-name-col {
  position: sticky;
  left: 0;
  background: var(--bg-secondary) ;
  z-index: 10;
  width: 240px;
  min-width: 240px;
  max-width: 240px;
  text-align: left;
  font-weight: 600;
  border-right: 1px solid var(--border-color) !important;
  padding-left: 8px !important;
}

.roster-table tr:hover td {
  background-color: var(--hover-bg) ;
}

.roster-table tr:hover td.emp-name-col {
  background-color: var(--hover-bg) ;
}

.roster-cell-shift {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px !important;
  height: 22px !important;
  border-radius: 4px !important;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  box-sizing: border-box;
}

.roster-cell-shift.general {
  background-color: #185FA5 !important;
  color: #ffffff !important;
}

.roster-cell-shift.morning {
  background-color: #0F6E56 !important;
  color: #ffffff !important;
}

.roster-cell-shift.night {
  background-color: #534AB7 !important;
  color: #ffffff !important;
}

.roster-cell-shift.off {
  background-color: var(--text-primary) !important;
  color: #ffffff !important;
  width: auto !important;
  padding: 0 6px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: lowercase;
}

.roster-cell-shift.leave {
  background-color: #D85A30 !important;
  color: #ffffff !important;
}

.roster-cell-shift.holiday {
  background-color: #BA7517 !important;
  color: #ffffff !important;
}

.roster-legend-box {
  display: flex;
  gap: 16px;
  margin-top: 16px;
  font-size: 12px;
  color: var(--text-primary) ;
  padding: 0 8px;
  flex-wrap: wrap;
}

.roster-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Common Workspace Styles */
.emp-list-card {
  background: var(--bg-secondary) ;
  border-radius: 20px;
  border: 1px solid var(--border-color) ;
  padding: 24px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.table-header-filters {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  gap: 16px;
  flex-wrap: wrap;
}

.search-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: var(--bg-secondary) ;
  border-radius: 14px;
  padding: 0 14px;
  height: 34px;
  width: 320px;
  border: 1px solid var(--border-color);
  transition: border-color 0.2s, background-color 0.2s;
  flex: none !important;
}

.search-input-wrapper:focus-within {
  background: var(--bg-secondary) ;
  border-color: var(--border-color) ;
}

.search-input-wrapper input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 13px !important;
  color: #374151 !important;
  width: 100% !important;
  font-family: inherit !important;
  min-height: auto !important;
  height: auto !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.search-input-wrapper input::-moz-placeholder {
  color: var(--text-muted) !important;
}

.search-input-wrapper input::placeholder {
  color: var(--text-muted) !important;
}

.search-input-wrapper input:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.styled-date-picker-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: var(--bg-secondary) ;
  border-radius: 14px;
  padding: 0 14px;
  height: 34px;
  width: 145px;
  border: 1px solid var(--border-color);
  transition: border-color 0.2s, background-color 0.2s;
  flex: none !important;
}

.styled-date-picker-wrapper:focus-within {
  background: var(--bg-secondary) ;
  border-color: var(--border-color) ;
}

.styled-date-picker-wrapper input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 13px !important;
  color: #374151 !important;
  width: 100% !important;
  font-family: inherit !important;
  min-height: auto !important;
  height: auto !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.styled-date-picker-wrapper input:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.search-icon-inside {
  color: var(--text-primary) ;
  font-size: 14px;
  flex-shrink: 0;
}

/* Actions Row Buttons */
.emp-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 14px;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: 10px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  height: 32px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.emp-action-btn.solid-btn.green-btn,
.emp-action-btn.solid-btn.blue-btn {
  background: #22C55E !important;
  color: var(--text-primary) ;
}

.emp-action-btn.solid-btn.green-btn:hover,
.emp-action-btn.solid-btn.blue-btn:hover {
  background: #16a34a !important;
}

.emp-action-btn.outline-btn {
  background: var(--bg-secondary) ;
  border-color: var(--border-color) ;
  color: var(--text-primary) ;
}

.emp-action-btn.outline-btn:hover {
  background: var(--bg-primary) ;
  color: var(--text-primary) ;
}

.header-action-btn,
.add-new-record-btn,
.emp-action-btn.solid-btn,
.console-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  border: none !important;
  background: #22c55e !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  height: 36px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  white-space: nowrap !important;
}

.header-action-btn:hover,
.add-new-record-btn:hover,
.emp-action-btn.solid-btn:hover,
.console-btn:hover {
  background: #16a34a !important;
  box-shadow: 0 2px 6px rgba(22, 163, 74, 0.25) !important;
}

.header-action-btn:active,
.add-new-record-btn:active,
.emp-action-btn.solid-btn:active {
  transform: scale(0.98);
}

.topbar-select-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  border: 1px solid var(--border-color) !important;
  background: var(--bg-secondary) !important;
  color: #374151 !important;
  height: 36px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.topbar-select-btn:hover {
  background: var(--bg-primary) !important;
  border-color: var(--text-muted) !important;
  color: #111827 !important;
}

/* Standard lists & tables */
/* Standard lists & tables matching Frappe HR Employee (/hr-setup/employee) table design */
.sa-table-wrapper {
  width: 100%;
  overflow-x: auto;
  background: var(--bg-secondary) ;
  border-radius: 14px !important;
  border: 1px solid var(--border-color) !important;
  margin-top: 16px;
}

.custom-table,
.sa-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 13px !important;
  color: var(--text-secondary) !important;
}

.custom-table thead tr,
.sa-table thead tr {
  border-bottom: 1px solid #d1d5db !important;
}

.custom-table th,
.custom-table thead th,
.sa-table th,
.sa-table thead th {
  background-color: var(--hover-bg) !important;
  padding: 7px 16px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap !important;
  text-align: left !important;
  border-bottom: 1px solid #d1d5db !important;
}

.custom-table tbody tr,
.sa-table tbody tr {
  border-bottom: 1px solid #f1f3f5 !important;
  transition: background-color 0.12s ease !important;
}

.custom-table tbody tr:hover,
.sa-table tbody tr:hover {
  background-color: #f8f9fb !important;
}

.custom-table td,
.custom-table tbody td,
.sa-table td,
.sa-table tbody td {
  padding: 10px 16px !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  color: var(--text-secondary) !important;
  font-size: 13px !important;
  border-bottom: 1px solid #f1f3f5 !important;
}

.custom-table tr:last-child td,
.sa-table tr:last-child td {
  border-bottom: none !important;
}

.custom-table input[type="date"],
.custom-table input[type="text"],
.custom-table select.table-select {
  padding: 8px 12px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  outline: none;
  background-color: var(--hover-bg) ;
  transition: all 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}

.custom-table input[type="date"]:focus,
.custom-table input[type="text"]:focus,
.custom-table select.table-select:focus {
  border-color: #10b981;
  background: var(--bg-secondary) ;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.custom-table input[type="date"] {
  width: 135px;
}

.custom-table select.table-select {
  min-width: 140px;
}



/* Status tags */
.status-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 14px;
  text-transform: capitalize;
}

.status-tag.present,
.status-tag.approved {
  background-color: #d1fae5;
  color: #065f46;
}

.status-tag.absent,
.status-tag.rejected {
  background-color: #fef2f2;
  color: #991b1b;
}

.status-tag.leave,
.status-tag.pending {
  background-color: #fffbeb;
  color: #92400e;
}

.status-tag.late {
  background-color: #ffedd5;
  color: #9a3412;
}

.status-tag.half-day {
  background-color: #f3e8ff;
  color: #6b21a8;
}

.status-tag.yet-to-check-in {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

/* Action icons */
.action-buttons-cell {
  display: flex;
  gap: 8px;
}

.table-action-icon-btn {
  background: none;
  border: none;
  padding: 6px;
  border-radius: 14px;
  cursor: pointer;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.table-action-icon-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.table-action-icon-btn.approve-btn:hover {
  background-color: #ecfdf5;
  color: #10b981;
}

.table-action-icon-btn.reject-btn:hover {
  background-color: #fef2f2;
  color: #ef4444;
}

/* Modals */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(15, 23, 42, 0.3);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.modal-content-box {
  background: var(--bg-secondary) ;
  border-radius: 20px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  border: 1px solid var(--border-color) ;
}

.modal-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-color) ;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.modal-close-btn {
  background: none;
  border: none;
  font-size: 20px;
  color: var(--text-primary) ;
  cursor: pointer;
}

.modal-close-btn:hover {
  color: var(--text-primary) ;
}

.modal-body {
  padding: 24px;
}

.modal-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.form-group input,
.form-group select,
.form-group textarea {
  padding: 8px 12px;
  border: 1px solid var(--border-color) ;
  border-radius: 14px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.2s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #3b82f6;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 8px;
}

/* Checkin console styling */
.checkin-console-wrapper {
  max-width: 600px;
  margin: 0 auto;
  padding: 40px;
  background: var(--bg-secondary) ;
  border-radius: 24px;
  border: 1px solid var(--border-color) ;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
  text-align: center;
}

.console-clock {
  font-size: 48px;
  font-weight: 800;
  color: var(--text-primary) ;
  font-family: monospace;
  margin: 20px 0;
  letter-spacing: 2px;
}

.console-date {
  font-size: 14px;
  color: var(--text-primary) ;
  font-weight: 500;
  margin-bottom: 30px;
}

.checkin-actions-row {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 30px 0;
}

.console-btn {
  padding: 16px 36px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 12px !important;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}

.console-btn.btn-in {
  background-color: #10b981;
  color: var(--text-primary) ;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.console-btn.btn-in:hover {
  background-color: #059669;
}

.console-btn.btn-out {
  background-color: #3b82f6;
  color: var(--text-primary) ;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
}

.console-btn.btn-out:hover {
  background-color: #1d4ed8;
}

/* Quick Form in Attendance Tool */
.attendance-tool-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.roster-single-date-input {
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  background: var(--bg-secondary) ;
  outline: none;
  cursor: pointer;
  transition: all 0.2s ease;
  height: 38px;
  box-sizing: border-box;
}

.roster-single-date-input:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.emp-name-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.emp-designation-sub {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: 2px;
}

.emp-dept-cell {
  font-weight: 500;
  color: var(--text-primary) ;
}

.attendance-tool-table input[type="time"] {
  padding: 8px 12px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  outline: none;
  background-color: var(--hover-bg) ;
  transition: all 0.2s ease;
  width: 110px;
}

.attendance-tool-table input[type="time"]:focus {
  border-color: #10b981;
  background: var(--bg-secondary) ;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.time-display-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary) ;
  background-color: var(--hover-bg) ;
  width: 100px;
  justify-content: center;
}

.theme-dark .time-display-badge {
  background-color: rgba(30, 41, 59, 0.5) !important;
  border-color: rgba(226, 232, 240, 0.1) !important;
  color: #cbd5e1 !important;
}

/* Status select custom dropdown styling */
.status-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 8px 32px 8px 12px;
  border: 1px solid var(--border-color) ;
  border-radius: 16px;
  font-size: 13px;
  font-weight: 600;
  outline: none;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  transition: all 0.2s ease;
  min-width: 130px;
}

.status-select option,
.table-select option {
  background: var(--bg-secondary) !important;
  color: #334155 !important;
}

/* Status specific stylings */
.status-select.present {
  background-color: #ecfdf5;
  color: #065f46;
  border-color: #a7f3d0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23059669' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.present:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.status-select.absent {
  background-color: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23dc2626' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.absent:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

.status-select.late {
  background-color: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23ea580c' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.late:focus {
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2);
}

.status-select.half-day {
  background-color: #faf5ff;
  color: #6b21a8;
  border-color: #e9d5ff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%237c3aed' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.half-day:focus {
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
}

.status-select.on-leave {
  background-color: #fffbeb;
  color: #92400e;
  border-color: #fef3c7;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23d97706' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.on-leave:focus {
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

.status-select.yet-to-check-in {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  border-color: var(--border-color) ;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.yet-to-check-in:focus {
  box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.2);
}

.status-select.pending {
  background-color: #fffbeb;
  color: #92400e;
  border-color: #fef3c7;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23d97706' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.pending:focus {
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

.status-select.approved {
  background-color: #ecfdf5;
  color: #065f46;
  border-color: #a7f3d0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23059669' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.approved:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.status-select.rejected {
  background-color: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23dc2626' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
}

.status-select.rejected:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

.time-placeholder {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  letter-spacing: 1px;
}

.save-row-btn {
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 12px !important;
  gap: 6px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 4px 0 rgba(16, 185, 129, 0.1);
  height: 38px;
  background-color: #10b981 !important;
  color: #ffffff !important;
}

.save-row-btn:hover {
  background-color: #059669 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px 0 rgba(16, 185, 129, 0.2);
}

.save-row-btn:active {
  transform: translateY(0);
}

.save-row-btn .save-icon {
  font-size: 14px;
}

/* Timeless Night (Dark Mode) Theme Overrides */
.theme-dark {
  background-color: #111111 !important;
  color: #f4f4f5 !important;
}

.theme-dark .hr-sidebar {
  background-color: #18181b !important;
  border-right-color: #27272a !important;
}

.theme-dark .hr-sidebar .sidebar-brand {
  border-bottom-color: #27272a !important;
}

.theme-dark .hr-sidebar .nav-item {
  color: #a1a1aa !important;
}

.theme-dark .hr-sidebar .nav-item:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .hr-sidebar .nav-item.active {
  background-color: #182c25 !important;
  color: #34d399 !important;
}

.theme-dark .hr-sidebar .submenu-item {
  color: #71717a !important;
}

.theme-dark .hr-sidebar .submenu-item:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .hr-sidebar .submenu-item.active {
  background-color: #182c25 !important;
  color: #34d399 !important;
}

.theme-dark .hr-main-content {
  background-color: #09090b !important;
}

.theme-dark .content-header {
  background-color: #18181b !important;
  border-bottom-color: #27272a !important;
}

.theme-dark .breadcrumb-parent,
.theme-dark .breadcrumb-current {
  color: #a1a1aa !important;
}

.theme-dark .breadcrumb-home-btn {
  color: #a1a1aa !important;
}

.theme-dark .breadcrumb-home-btn:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .dashboard-panel-card,
.theme-dark .stat-card,
.theme-dark .emp-list-card,
.theme-dark .roster-header-bar,
.theme-dark .roster-table-outer,
.theme-dark .custom-table th,
.theme-dark .checkin-console-wrapper {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .stat-value,
.theme-dark .panel-title,
.theme-dark .roster-month-title,
.theme-dark .console-clock {
  color: #ffffff !important;
}

.theme-dark .custom-table td,
.theme-dark .log-emp-name,
.theme-dark .roster-table td.emp-name-col,
.theme-dark .roster-table th.emp-name-col {
  background-color: #18181b !important;
  color: #e4e4e7 !important;
  border-color: #27272a !important;
}

.theme-dark .roster-table th,
.theme-dark .roster-table td {
  border-color: #27272a !important;
}

.theme-dark .custom-table tr:hover td,
.theme-dark .roster-table tr:hover td,
.theme-dark .roster-table tr:hover td.emp-name-col {
  background-color: #27272a !important;
}

.theme-dark .log-item {
  background-color: #27272a !important;
}

.theme-dark .search-input-wrapper input {
  background-color: #18181b !important;
  border-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .emp-action-btn.outline-btn {
  background-color: #18181b !important;
  border-color: #27272a !important;
  color: #a1a1aa !important;
}

.theme-dark .emp-action-btn.outline-btn:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

.theme-dark .sa-table-wrapper {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .custom-table th {
  background-color: #27272a !important;
  border-bottom-color: #3f3f46 !important;
  color: #a1a1aa !important;
}

.theme-dark .custom-table td {
  border-bottom-color: #27272a !important;
}

.theme-dark .custom-table tr:hover td {
  background-color: #27272a !important;
}

.theme-dark .modal-content-box {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .modal-header {
  border-bottom-color: #27272a !important;
}

.theme-dark .modal-header h3 {
  color: #ffffff !important;
}

.theme-dark .form-group label {
  color: #a1a1aa !important;
}

.theme-dark .form-group input,
.theme-dark .form-group select,
.theme-dark .form-group textarea {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
  color: #ffffff !important;
}

/* Shift & Attendance Settings Page Styling */
.sa-settings-page-wrapper {
  background: var(--bg-secondary) ;
  padding: 32px;
  border-radius: 20px;
  border: 1px solid #eef0f2;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.01);
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.sa-settings-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sa-settings-section-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin: 0;
}

.sa-settings-control-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sa-settings-checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  color: var(--text-primary) ;
}

.sa-settings-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--text-primary) ;
  cursor: pointer;
}

.sa-settings-divider {
  border: none;
  border-top: 1px solid var(--border-color) ;
  margin: 8px 0;
}

/* Comments Composer and List */
.sa-settings-comments-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sa-comments-composer {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: var(--hover-bg) ;
  padding: 8px 12px;
  border-radius: 16px;
  border: 1px solid var(--border-color) ;
}

.sa-comments-avatar,
.sa-comment-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #0086c3;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
}

.sa-comments-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-size: 13px;
  color: var(--text-primary) ;
}

.sa-comments-input::-moz-placeholder {
  color: var(--text-primary) ;
}

.sa-comments-input::placeholder {
  color: var(--text-primary) ;
}

.sa-comments-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}

.sa-comment-item {
  display: flex;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-color) ;
}

.sa-comment-content {
  flex: 1;
}

.sa-comment-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.sa-comment-author {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.sa-comment-time {
  font-size: 11px;
  color: var(--text-primary) ;
}

.sa-comment-text {
  font-size: 13px;
  color: var(--text-primary) ;
  margin: 0;
}

/* Activity log timeline */
.sa-settings-activity-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sa-activity-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sa-activity-email-btn {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 14px;
  padding: 5px 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary) ;
  transition: all 0.2s;
}

.sa-activity-email-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.sa-activity-timeline {
  display: flex;
  flex-direction: column;
  padding-left: 8px;
  border-left: 2px solid #e2e8f0;
  margin-left: 8px;
  gap: 20px;
}

.sa-timeline-item {
  position: relative;
  display: flex;
  align-items: flex-start;
}

.sa-timeline-bullet {
  position: absolute;
  left: -13px;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #cbd5e1;
  border: 2px solid #ffffff;
}

.sa-timeline-content {
  font-size: 13px;
  color: var(--text-primary) ;
  line-height: 1.2;
}

.sa-timeline-user {
  font-weight: 600;
  color: var(--text-primary) ;
}

.sa-timeline-action {
  color: var(--text-primary) ;
}

.sa-timeline-time {
  color: var(--text-primary) ;
}

/* Dark Mode Overrides for Settings Page */
.theme-dark .sa-settings-page-wrapper {
  background-color: #18181b;
  border-color: #27272a;
}

.theme-dark .sa-settings-section-title {
  color: var(--text-primary) ;
}

.theme-dark .sa-settings-checkbox-label {
  color: var(--text-primary) ;
}

.theme-dark .sa-settings-checkbox-label input[type="checkbox"] {
  accent-color: #34d399;
}

.theme-dark .sa-settings-divider {
  border-top-color: #27272a;
}

.theme-dark .sa-comments-composer {
  background-color: #27272a;
  border-color: #3f3f46;
}

.theme-dark .sa-comments-input {
  color: var(--text-primary) ;
}

.theme-dark .sa-comment-item {
  border-bottom-color: #27272a;
}

.theme-dark .sa-comment-author,
.theme-dark .sa-timeline-user {
  color: var(--text-primary) ;
}

.theme-dark .sa-comment-text,
.theme-dark .sa-timeline-action {
  color: var(--text-primary) ;
}

.theme-dark .sa-activity-email-btn {
  background-color: #18181b;
  border-color: #27272a;
  color: var(--text-primary) ;
}

.theme-dark .sa-activity-email-btn:hover {
  background-color: #27272a;
  color: var(--text-primary) ;
}

.theme-dark .sa-activity-timeline {
  border-left-color: #27272a;
}

.theme-dark .sa-timeline-bullet {
  background-color: #52525b;
  border-color: #18181b;
}

/* Dark Mode overrides for Attendance Tool input/select elements */
.theme-dark .date-picker-wrapper {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
}

.theme-dark .date-picker-wrapper input[type="date"] {
  color: #ffffff !important;
}

.theme-dark .date-picker-wrapper .date-icon {
  color: #a1a1aa !important;
}

.theme-dark .emp-name-title {
  color: #ffffff !important;
}

.theme-dark .emp-designation-sub {
  color: #a1a1aa !important;
}

.theme-dark .emp-dept-cell {
  color: #d4d4d8 !important;
}

.theme-dark .attendance-tool-table input[type="time"] {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
  color: #ffffff !important;
}

.theme-dark .attendance-tool-table input[type="time"]:focus {
  border-color: #34d399 !important;
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15) !important;
}

.theme-dark .status-select {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
}

.theme-dark .time-placeholder {
  color: var(--text-secondary) !important;
}

/* Dark mode status specific colorings */
.theme-dark .status-select.present {
  background-color: rgba(16, 185, 129, 0.15) !important;
  color: #34d399 !important;
  border-color: rgba(16, 185, 129, 0.3) !important;
}

.theme-dark .status-select.absent {
  background-color: rgba(239, 68, 68, 0.15) !important;
  color: #f87171 !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
}

.theme-dark .status-select.late {
  background-color: rgba(245, 158, 11, 0.15) !important;
  color: #fbbf24 !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
}

.theme-dark .status-select.half-day {
  background-color: rgba(139, 92, 246, 0.15) !important;
  color: #c084fc !important;
  border-color: rgba(139, 92, 246, 0.3) !important;
}

.theme-dark .status-select.on-leave {
  background-color: rgba(217, 119, 6, 0.15) !important;
  color: #fbbf24 !important;
  border-color: rgba(217, 119, 6, 0.3) !important;
}

.theme-dark .status-select.yet-to-check-in {
  background-color: rgba(71, 85, 105, 0.15) !important;
  color: #94a3b8 !important;
  border-color: rgba(71, 85, 105, 0.3) !important;
}

/* Page Header Structure (like reference image) */
.content-header {
  margin-left: -32px;
  margin-right: -32px;
  margin-top: -32px;
  margin-bottom: 12px;
  /* Reduced from 24px to bring content higher */
  padding: 16px 32px;
  background: var(--bg-secondary) ;
  border-bottom: 1px solid var(--border-color) ;
}

.breadcrumb-section {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-primary) ;
}

.breadcrumb-home-btn {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--text-primary) ;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  transition: all 0.2s ease;
}

.breadcrumb-home-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.breadcrumb-home-icon {
  font-size: 14px;
}

.breadcrumb-separator {
  color: var(--text-primary) ;
}

.breadcrumb-parent {
  cursor: pointer;
  font-weight: 500;
  transition: color 0.2s;
}

.breadcrumb-parent:hover {
  color: var(--text-primary) ;
}

.breadcrumb-current {
  color: var(--text-primary) ;
  font-weight: 500;
}

.page-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0px;
  /* Reduced from 8px to bring content higher */
  margin-bottom: 20px;
}

.page-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  margin: 0;
  letter-spacing: -0.5px;
}

/* Dark theme extensions */
.theme-dark .page-title {
  color: #ffffff !important;
}

.theme-dark .breadcrumb-home-btn:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

/* KPI Info Modal Backdrop */
.kpi-info-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.2s ease;
}

/* KPI Info Modal Box */
.kpi-info-modal-box {
  background: var(--bg-secondary) ;
  border-radius: 24px;
  width: 800px;
  max-width: 95%;
  max-height: 90vh;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  animation: slideUp 0.25s ease-out;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.kpi-info-modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-color) ;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.kpi-modal-title-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.kpi-info-modal-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary) ;
}

.kpi-info-modal-subtitle {
  font-size: 11px;
  color: var(--text-primary) ;
  font-weight: 500;
}

.kpi-info-modal-close-btn {
  background: var(--hover-bg) ;
  border: none;
  font-size: 12px;
  color: var(--text-primary) ;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.kpi-info-modal-close-btn:hover {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
}

.kpi-info-modal-body {
  padding: 24px;
  box-sizing: border-box;
  overflow-y: auto;
}

.kpi-modal-grid-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.kpi-modal-value-card {
  width: 140px;
  height: 140px;
  background-color: #eff6ff;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 16px;
}

.value-card-label {
  font-size: 10px;
  font-weight: 700;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
}

.value-card-number {
  font-size: 32px;
  font-weight: 800;
  color: #1e3a8a;
}

.kpi-modal-details-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-grow: 1;
  text-align: left;
}

.kpi-details-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.kpi-details-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.kpi-details-icon.info-blue {
  color: #3b82f6;
  font-size: 14px;
}

.kpi-details-bullet-icon {
  color: #8b5cf6;
  font-weight: 700;
  font-size: 15px;
}

.kpi-details-text {
  font-size: 12.5px;
  color: var(--text-primary) ;
  margin: 0;
  line-height: 1.45;
}

.kpi-details-counts-box {
  background-color: #faf5ff;
  border: 1px solid #f3e8ff;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}

.kpi-details-counts-text {
  font-size: 12.5px;
  color: #7c3aed;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}

.insight-icon {
  color: #d97706;
  font-size: 15px;
}

.kpi-details-insight-box {
  background-color: #fffbeb;
  border: 1px solid #fef3c7;
  border-radius: 20px;
  padding: 10px 14px;
  box-sizing: border-box;
}

.kpi-details-insight-text {
  font-size: 12.5px;
  color: #b45309;
  margin: 0;
  line-height: 1.4;
  font-weight: 500;
}

.kpi-info-modal-footer {
  padding: 16px 24px;
  background-color: var(--hover-bg) ;
  border-top: 1px solid var(--border-color) ;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.items-counted-section {
  display: flex;
  align-items: center;
  gap: 8px;
}

.items-counted-section .database-icon {
  color: #eab308;
  font-size: 14px;
}

.items-counted-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.kpi-info-modal-ok-btn {
  background-color: var(--text-primary) ;
  color: var(--text-primary) ;
  border: none;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kpi-info-modal-ok-btn:hover {
  background-color: var(--text-primary) ;
}

/* Drill-Down Table Layout & Alignments */
.items-counted-section-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 14px;
}

.items-counted-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.items-counted-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.items-counted-title .database-icon {
  color: #eab308;
  font-size: 15px;
}

.items-counted-list {
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 12px;
  max-height: 280px;
  overflow-y: auto;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02);
}

.no-items-counted {
  padding: 24px;
  text-align: center;
  color: var(--text-primary) ;
  font-size: 13.5px;
}

.drilldown-table-wrapper {
  width: 100%;
}

.drilldown-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.drilldown-table th {
  background-color: var(--hover-bg) ;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary) ;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border-color) ;
  position: sticky;
  top: 0;
  z-index: 10;
}

.drilldown-table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  font-size: 13px;
  vertical-align: middle;
}

.drilldown-table tr:last-child td {
  border-bottom: none;
}

.drilldown-table tr:hover td {
  background-color: var(--hover-bg) ;
}

.emp-info-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Custom override for smaller avatar in the table */
.drilldown-table .emp-avatar-circle {
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
  box-shadow: none !important;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary) ;
  font-weight: 700;
  flex-shrink: 0;
}

.drilldown-table .emp-avatar-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

.drilldown-table .emp-avatar-text {
  line-height: 1;
}

.emp-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.emp-meta-name {
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 13.5px;
}

.emp-meta-email {
  font-size: 11px;
  color: var(--text-primary) ;
}

/* KPI Trend Styles */
.kpi-trend {
  display: flex;
  align-items: center;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 0 !important;
  text-align: left;
}

.kpi-trend .trend-arrow {
  font-size: 14px !important;
  line-height: 1;
}

.kpi-trend .trend-text {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.kpi-trend.trend-up {
  color: #10b981;
}

.kpi-trend.trend-down {
  color: #ef4444;
}

.kpi-trend.trend-neutral {
  color: #f59e0b;
}

/* Roster Summary Cards Styles */
.roster-stats-grid {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
  width: 100%;
}

.roster-stat-card {
  width: 288.09px !important;
  height: 125px !important;
  min-height: 125px !important;
  flex: 0 0 288.09px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease;
}

.roster-stat-card .sa-card-title {
  color: #475569 !important;
}

.roster-stat-card .sa-card-value {
  color: var(--text-primary) !important;
}

.roster-stat-card .kpi-trend {
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
}

.theme-dark .roster-stat-card {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

.theme-dark .roster-stat-card .sa-card-title {
  color: #475569 !important;
}

.theme-dark .roster-stat-card .sa-card-value {
  color: var(--text-primary) !important;
}

/* Force Shift Roster component colors to white/light as requested by user */
.roster-view-container {
  background-color: transparent !important;
}

.roster-table-outer {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.01) !important;
}

.roster-table {
  background: var(--bg-secondary) !important;
}

.roster-table th {
  background-color: var(--hover-bg) !important;
  color: #475569 !important;
  border-color: var(--border-color) !important;
}

.roster-table td {
  background: var(--bg-secondary) !important;
  color: #334155 !important;
  border-color: var(--border-color) !important;
}

.roster-table th.emp-name-col,
.roster-table td.emp-name-col {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.roster-table tr:hover td,
.roster-table tr:hover td.emp-name-col {
  background-color: var(--hover-bg) !important;
}

.roster-month-title {
  color: var(--text-primary) !important;
}

.roster-nav-btn {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: #475569 !important;
}

.roster-nav-btn:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}

/* Force dark mode overrides to keep Roster white */
.theme-dark .roster-table-outer,
.theme-dark .roster-table,
.theme-dark .roster-table th,
.theme-dark .roster-table td,
.theme-dark .roster-table th.emp-name-col,
.theme-dark .roster-table td.emp-name-col {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

.theme-dark .roster-table tr:hover td,
.theme-dark .roster-table tr:hover td.emp-name-col {
  background-color: var(--hover-bg) !important;
}

.theme-dark .roster-month-title {
  color: var(--text-primary) !important;
}

.theme-dark .roster-nav-btn {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: #475569 !important;
}

/* Force Legend Box colors to remain white/light theme */
.roster-legend-box {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: #64748b !important;
}

.theme-dark .roster-legend-box {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: #64748b !important;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.user-group-form-container textarea.user-group-input {
  height: auto !important;
  min-height: 100px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  resize: vertical !important;
}

.user-group-form-container select.user-group-input {
  padding: 0 12px !important;
}

/* Check-in Dashboard Layout */
.checkin-grid-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  width: 100%;
}

.checkin-stats-row {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
  width: 100%;
}

.checkin-stat-card {
  width: 288.09px !important;
  height: 125px !important;
  min-height: 125px !important;
  flex: 0 0 288.09px !important;
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
  padding: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease;
}

.checkin-stat-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.kpi-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.kpi-dot.blue-dot {
  background-color: #3b82f6 !important;
}

.kpi-dot.green-dot {
  background-color: #10b981 !important;
}

.kpi-dot.purple-dot {
  background-color: #8b5cf6 !important;
}

.kpi-dot.orange-dot {
  background-color: #f59e0b !important;
}

.checkin-stat-value {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
}

.checkin-box-card {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.checkin-box-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  margin: 0 0 4px 0 !important;
}

.checkin-box-subtitle {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 0 20px 0 !important;
}

.clock-inset-box {
  background-color: var(--hover-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  text-align: center !important;
  margin: 20px 0 !important;
}

.clock-time-display {
  font-size: 40px !important;
  font-weight: 800 !important;
  color: var(--text-primary) !important;
  letter-spacing: 1px !important;
  font-family: monospace !important;
}

.clock-date-display {
  font-size: 13px !important;
  color: #64748b !important;
  margin-top: 8px !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

/* Custom layout for check-in status log items */
.activity-log-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  flex: 1 !important;
  max-height: 500px !important;
  overflow-y: auto !important;
}

.activity-log-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 14px !important;
  background-color: var(--hover-bg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px !important;
}

.avatar-initials-circle {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background-color: #0284c7 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.activity-log-tag {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  text-transform: uppercase !important;
}

.activity-log-tag.in {
  background-color: #ecfdf5 !important;
  color: #059669 !important;
}

.activity-log-tag.break {
  background-color: #fffbeb !important;
  color: #d97706 !important;
}

.activity-log-tag.out {
  background-color: #fef2f2 !important;
  color: #dc2626 !important;
}

/* Team status styling */
.team-status-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  max-height: 280px !important;
  overflow-y: auto !important;
}

.team-status-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed #e2e8f0 !important;
}

.team-status-item:last-child {
  border-bottom: none !important;
}

.team-status-tag {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
}

.team-status-tag.checked-in {
  background-color: #ecfdf5 !important;
  color: #059669 !important;
}

.team-status-tag.on-break {
  background-color: #fffbeb !important;
  color: #d97706 !important;
}

.team-status-tag.not-checked-in {
  background-color: #fef2f2 !important;
  color: #dc2626 !important;
}

.team-status-tag.shift-not-started {
  background-color: var(--hover-bg) !important;
  color: #475569 !important;
}

.console-action-buttons-row {
  display: flex !important;
  gap: 12px !important;
  margin-top: 16px !important;
  width: 100% !important;
}

.console-action-btn {
  flex: 1 !important;
  height: 40px !important;
  border: none !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
}

.console-action-btn.checkin {
  background-color: #00ac69 !important;
  color: #ffffff !important;
}

.console-action-btn.checkin:hover {
  background-color: #008f56 !important;
}

.console-action-btn.break {
  background-color: #ea580c !important;
  color: #ffffff !important;
}

.console-action-btn.break:hover {
  background-color: #ca4a07 !important;
}

.console-action-btn.checkout {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  color: #475569 !important;
}

.console-action-btn.checkout:hover {
  background-color: var(--hover-bg) !important;
  border-color: #94a3b8 !important;
}

/* Dashboard Greeting Banner */
.dashboard-greeting-banner {
  background: var(--bg-secondary) ;
  border-radius: 12px;
  border: 1px solid var(--border-color) ;
  padding: 20px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box;
  position: relative;
}

.premium-banner {
  height: auto;
}

.banner-bg-decor {
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
  display: flex;
  align-items: center;
}

.decor-left {
  left: 22%;
  top: -10px;
}

.decor-center {
  left: 45%;
}

.decor-right {
  right: 18%;
}

.greeting-clock-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.greeting-banner-right {
  z-index: 1;
}

.generate-report-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #22c55e;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
  box-shadow: 0 2px 4px rgba(34, 197, 94, 0.2);
}

.generate-report-btn:hover {
  background-color: #16a34a;
}

.report-dropdown-item {
  width: 100%;
  padding: 10px 16px;
  background: var(--bg-secondary) ;
  border: none;
  border-bottom: 1px solid var(--border-color) ;
  text-align: left;
  font-size: 14px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
  font-weight: 500;
}

.report-dropdown-item:last-child {
  border-bottom: none;
}

.report-dropdown-item:hover {
  background-color: var(--hover-bg) ;
  color: #22c55e;
}

.greeting-banner-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.greeting-banner-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.greeting-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin: 0;
}

.greeting-date {
  font-size: 13px;
  color: var(--text-primary) ;
  margin: 0;
}

/* Dark mode overrides for greeting banner */
.theme-dark .dashboard-greeting-banner {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .greeting-title {
  color: #ffffff !important;
}

.theme-dark .greeting-date {
  color: #a1a1aa !important;
}

/* Overtime Slip Form Styles */
.modal-content-box.overtime-modal {
  max-width: 950px !important;
}

.ot-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .ot-form-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.ot-form-divider {
  border: 0;
  border-top: 1px solid var(--border-color) ;
  margin: 20px 0;
}

.ot-details-header {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-bottom: 12px;
}

.ot-details-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
  font-size: 13px;
  background: var(--bg-secondary) ;
  border: 1px solid var(--border-color) ;
  border-radius: 8px;
  overflow: hidden;
}

.ot-details-table th {
  background-color: var(--hover-bg) ;
  color: var(--text-primary) ;
  font-weight: 600;
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid var(--border-color) ;
  border-right: 1px solid var(--border-color) ;
}

.ot-details-table td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border-color) ;
  border-right: 1px solid var(--border-color) ;
  vertical-align: middle;
}

.ot-details-table th:last-child,
.ot-details-table td:last-child {
  border-right: none;
}

.ot-details-table select,
.ot-details-table input {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid var(--border-color) ;
  border-radius: 6px;
  font-size: 13px;
}

.ot-details-table input:focus,
.ot-details-table select:focus {
  border-color: #3b82f6;
  outline: none;
}

.ot-add-row-btn {
  background-color: var(--hover-bg) ;
  border: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.ot-add-row-btn:hover {
  background-color: var(--hover-bg) ;
  border-color: #94a3b8;
}

/* Dark mode overrides for Overtime modal */
.theme-dark .modal-content-box.overtime-modal {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .ot-form-divider {
  border-top-color: #27272a !important;
}

.theme-dark .ot-details-header {
  color: #e4e4e7 !important;
}

.theme-dark .ot-details-table {
  background-color: #18181b !important;
  border-color: #27272a !important;
}

.theme-dark .ot-details-table th {
  background-color: #27272a !important;
  color: #e4e4e7 !important;
  border-color: #3f3f46 !important;
}

.theme-dark .ot-details-table td {
  border-color: #27272a !important;
}

.theme-dark .ot-details-table input,
.theme-dark .ot-details-table select {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
  color: #ffffff !important;
}

.theme-dark .ot-add-row-btn {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
  color: #e4e4e7 !important;
}

.theme-dark .ot-add-row-btn:hover {
  background-color: #3f3f46 !important;
  border-color: #52525b !important;
}

/* Overtime Type Form Custom Styles */
.form-field-description {
  font-size: 11px;
  color: var(--text-primary) ;
  margin-top: 4px;
  line-height: 1.4;
  display: block;
}

.theme-dark .form-field-description {
  color: #a1a1aa !important;
}

.ot-section-header {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary) ;
  margin-top: 10px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.theme-dark .ot-section-header {
  color: #e4e4e7 !important;
  border-bottom-color: #27272a !important;
}

.ot-section-description {
  font-size: 12px;
  color: var(--text-primary) ;
  margin-bottom: 16px;
  margin-top: -8px;
}

.theme-dark .ot-section-description {
  color: #a1a1aa !important;
}

/* Drill-Down Modal Styles */
.payroll-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(17, 24, 39, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
}

.payroll-modal {
  background: var(--bg-secondary) ;
  border-radius: 16px;
  width: 90%;
  max-width: 720px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  animation: payrollModalIn 0.2s ease-out;
}

@keyframes payrollModalIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.payroll-modal-header {
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #f3f4f6;
}

.payroll-modal-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-primary) ;
  margin: 0 0 4px 0;
}

.payroll-modal-subtitle {
  font-size: 13px;
  color: var(--text-primary) ;
  margin: 0;
}

.payroll-modal-close {
  font-size: 24px;
  color: var(--text-primary) ;
  cursor: pointer;
  transition: color 0.2s;
}

.payroll-modal-close:hover {
  color: var(--text-primary) ;
}

.payroll-modal-body {
  padding: 24px;
}

.payroll-modal-top {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
}

.payroll-modal-value-box {
  background: #e0f2fe;
  border-radius: 12px;
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 140px;
}

.payroll-modal-value-label {
  font-size: 11px;
  font-weight: 700;
  color: #3b82f6;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.payroll-modal-value-number {
  font-size: 42px;
  font-weight: 700;
  color: var(--text-primary) ;
  line-height: 1;
}

.payroll-modal-info {
  flex: 1;
}

.payroll-modal-info-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.payroll-modal-info-icon {
  color: #3b82f6;
  font-size: 18px;
}

.payroll-modal-info-icon-purple {
  color: #a855f7;
  font-size: 18px;
}

.payroll-modal-info-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.payroll-modal-info-desc {
  font-size: 13px;
  color: var(--text-primary) ;
  margin: 0 0 0 26px;
}

.payroll-modal-purple-box {
  background: #faf5ff;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 8px 0 0 26px;
}

.payroll-modal-purple-box ul {
  margin: 0;
  padding-left: 20px;
  color: #7e22ce;
  font-size: 13px;
}

.payroll-modal-table-section {
  margin-top: 24px;
}

.payroll-modal-table-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.payroll-modal-table-icon {
  color: #f59e0b;
  font-size: 18px;
}

.payroll-modal-table-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary) ;
}

.payroll-modal-table-container {
  border: 1px solid #f3f4f6;
  border-radius: 8px;
  overflow-x: auto;
}

.payroll-modal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.payroll-modal-table th {
  background: var(--bg-primary) ;
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  color: var(--text-primary) ;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--border-color) ;
}

.payroll-modal-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border-color) ;
  color: var(--text-primary) ;
}

.payroll-modal-table tr:last-child td {
  border-bottom: none;
}

/* KPI Card Styles Ported from HR Setup */
.kpi-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  box-sizing: border-box !important;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.kpi-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

.kpi-card-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  flex-grow: 1;
}

.kpi-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.kpi-card-value {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  line-height: 1 !important;
  text-align: left;
  margin: 0 !important;
}

.kpi-trend {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  margin-top: 8px;
  text-align: left;
}

.kpi-trend .trend-text {
  font-size: 12px;
}

.kpi-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.theme-dark .kpi-card {
  background: #1b1b1d !important;
  border-color: #28282a !important;
}

.theme-dark .kpi-card-value {
  color: #f4f4f5 !important;
}

.theme-dark .kpi-title {
  color: #a1a1aa !important;
}

.theme-dark .kpi-trend {
  color: #cbd5e1 !important;
}

/* Info Tooltip Styles */
.info-tooltip-container {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.info-tooltip-box {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 10px;
  background-color: #0f172a;
  color: #fff;
  padding: 12px 16px;
  border-radius: 8px;
  width: 260px;
  z-index: 100;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  transition: opacity 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
  text-transform: none;
  letter-spacing: normal;
}

.info-tooltip-container:hover .info-tooltip-box {
  visibility: visible;
  opacity: 1;
}

.info-tooltip-title {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #fff;
  letter-spacing: 0.3px;
}

.info-tooltip-text {
  font-size: 11px;
  line-height: 1.5;
  color: #cbd5e1;
}

/* Dashboard Filter Bar Styles */
.dashboard-filter-bar {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  background: var(--bg-secondary);
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  margin-bottom: 24px;
  align-items: center;
  justify-content: space-between;
}

.dashboard-filter-bar .filter-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 150px;
}

.dashboard-filter-bar .filter-group .filter-label {
  font-family: Inter, "Segoe UI", Roboto, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
  white-space: nowrap;
}

.filter-select-wrapper {
  position: relative;
  width: 100%;
}

.filter-select-wrapper select {
  border: 1px solid rgb(226, 232, 240);
  outline: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231E293B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center no-repeat rgb(248, 250, 252);
  font-size: 13px;
  font-weight: 700 !important;
  color: var(--text-primary);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 6px 30px 6px 12px;
  border-radius: 6px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  width: 100%;
  min-width: 140px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.filter-select-wrapper select:focus {
  border-color: #3b82f6;
  background: var(--bg-secondary);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

.reset-filters-btn {
  background: transparent;
  border: none;
  color: #3b82f6;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background-color 0.2s ease;
}

.reset-filters-btn:hover {
  background-color: #eff6ff;
}

.theme-dark .dashboard-filter-bar {
  background: #1b1b1d !important;
  border-color: #28282a !important;
}

.theme-dark .dashboard-filter-bar select {
  background-color: #27272a !important;
  color: #f4f4f5 !important;
  border-color: #3f3f46 !important;
}

.theme-dark .dashboard-filter-bar label,
.theme-dark .dashboard-filter-bar .filter-label {
  color: #a1a1aa !important;
}

.theme-dark .reset-filters-btn {
  color: #38bdf8 !important;
}

.theme-dark .reset-filters-btn:hover {
  background-color: #27272a !important;
}.fleet-dashboard-container {
  flex: 1;
  padding: 32px;
  background-color: #f8fafc;
  overflow-y: auto;
  color: #0f172a;
}

.fleet-dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}

.fleet-dashboard-header h1 {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #0f172a;
}

.fleet-dashboard-header p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
}

.fleet-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin-bottom: 32px;
}

.fleet-kpi-card {
  background: white;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
}

.fleet-kpi-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  color: #64748b;
  font-size: 14px;
  font-weight: 500;
}

.fleet-kpi-icon {
  background: #f1f5f9;
  padding: 8px;
  border-radius: 8px;
  color: #0ea5e9;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fleet-kpi-value {
  font-size: 28px;
  font-weight: 700;
  color: #0f172a;
}

.fleet-dashboard-section {
  background: white;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.fleet-dashboard-section h2 {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 20px 0;
  color: #0f172a;
}

.fleet-recent-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.fleet-recent-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #f1f5f9;
}

.fleet-recent-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.fleet-item-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fleet-item-title {
  font-weight: 500;
  color: #0f172a;
  font-size: 14px;
}

.fleet-item-sub {
  color: #64748b;
  font-size: 13px;
}

.fleet-item-right {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fleet-item-val {
  font-weight: 600;
  color: #0f172a;
  font-size: 14px;
}



/* Parent Fleet Management Layout Shell Styles */
.fleet-page-layout {
  display: flex;
  height: 100vh;
  width: 100vw !important;
  max-width: none !important;
  font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary);
  background-color: var(--bg-primary);
  overflow: hidden;
}
/* MAIN CONTENT PANEL SHELL */
.fleet-main-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--bg-primary);
}
/* TOPBAR */
.fleet-topbar {
  height: 60px;
  border-bottom: 1px solid var(--border-color, #e5e7eb);
  background-color: var(--topbar-bg, #ffffff);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px 0 12px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.topbar-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #f3f4f6;
  border-radius: 14px;
  padding: 0 14px;
  height: 34px;
  width: 320px;
  border: 1px solid transparent;
  transition: border-color 0.2s, background-color 0.2s;
}
.topbar-search-bar:focus-within {
  background-color: #ffffff;
  border-color: #d1d5db;
}
.topbar-search-icon {
  color: #0f172a;
  font-size: 14px;
  flex-shrink: 0;
}
input[type="text"].topbar-search-input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 12.5px !important;
  color: #374151 !important;
  width: 100% !important;
  font-family: inherit !important;
  min-height: auto !important;
  height: auto !important;
  box-shadow: none !important;
  padding: 0 !important;
}
input[type="text"].topbar-search-input::-moz-placeholder {
  color: #9ca3af !important;
}
input[type="text"].topbar-search-input::placeholder {
  color: #9ca3af !important;
}
input[type="text"].topbar-search-input:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: #0f172a;
}
.home-crumb-icon {
  cursor: pointer;
  color: #0f172a;
  transition: color 0.2s ease;
  font-size: 13px;
}
.home-crumb-icon:hover {
  color: #0f172a;
}
.crumb-separator {
  color: #0f172a;
}
.crumb-clickable {
  cursor: pointer;
  transition: color 0.2s ease;
}
.crumb-clickable:hover {
  color: #0f172a;
  font-weight: 500;
}
.current-crumb {
  font-weight: 500;
  color: #0f172a;
}
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.notification-bell,
.more-actions-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #0f172a;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.2s ease;
}
.notification-bell:hover,
.more-actions-btn:hover {
  background-color: #f3f4f6;
  color: #0f172a;
}
/* TOAST NOTIFICATION */
.toast-notification {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #1f2937;
  color: #0f172a;
  padding: 10px 20px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  z-index: 200;
  animation: slideUpFade 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
}
@keyframes slideUpFade {
  from {
    transform: translate(-50%, 15px);
    opacity: 0;
  }
  to {
    transform: translate(-50%, 0);
    opacity: 1;
  }
}
/* Dark Mode Overrides for Fleet Layout */
body.dark .topbar-search-bar {
  background-color: var(--hover-bg) !important;
}
body.dark .topbar-search-bar:focus-within {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
body.dark .topbar-search-input {
  color: var(--text-primary) !important;
}
body.dark .breadcrumbs {
  color: var(--text-secondary) !important;
}
body.dark .crumb-separator {
  color: var(--border-color) !important;
}
body.dark .home-crumb-icon:hover,
body.dark .crumb-clickable:hover {
  color: var(--text-primary) !important;
}
body.dark .current-crumb {
  color: var(--text-primary) !important;
}
body.dark .notification-bell,
body.dark .more-actions-btn {
  color: var(--text-secondary) !important;
}
body.dark .notification-bell:hover,
body.dark .more-actions-btn:hover {
  background-color: var(--hover-bg) !important;
  color: var(--text-primary) !important;
}
