@font-face{font-family:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARUoYFoCQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARVoYFoCQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARboYE.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARUoYFoCQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARVoYFoCQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/crimsonpro/v28/q5uDsoa5M_tv7IihmnkabARboYE.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}:root{--color-primary-1: #8e1f2e;--color-primary-2: #c7483d;--color-primary-contrast: #ffffff;--color-success: #10b981;--color-success-dark: #059669;--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-warning: #f59e0b;--color-info: #3b82f6;--color-muted: #6b7280;--color-muted-light: #9ca3af;--color-surface: #ffffff;--color-surface-light: #f9fafb;--color-surface-hover: #f3f4f6;--color-border: #d1d5db;--color-border-light: #e5e7eb;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 20px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .06);--shadow-md: 0 10px 30px rgba(0, 0, 0, .12);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem}.dashboard-container,.page-container,.employee-dashboard,.manager-dashboard,.admin-dashboard{max-width:1400px;margin:0 auto;padding:var(--spacing-xl)}.container-wide{max-width:1600px;margin:0 auto;padding:var(--spacing-xl)}.container-narrow{max-width:900px;margin:0 auto;padding:var(--spacing-xl)}.home{display:flex;flex-direction:column;gap:48px;padding:32px 32px 48px;font-family:Space Grotesk,Segoe UI,sans-serif;color:#1f1725;background:radial-gradient(circle at 20% 0%,rgba(255,211,170,.3),transparent 45%),linear-gradient(180deg,#f7d3c5,#f9efe9 40%,#fff)}.home .hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;padding:32px;border-radius:24px;background:linear-gradient(135deg,#8e1f2e,#a82535 40%,#c7483d);color:#fff8f2;box-shadow:0 24px 60px #260e1847}.home .hero-text h1{font-family:Crimson Pro,Times New Roman,serif;font-size:40px;margin:0 0 12px}.home .hero-text .eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:600;margin:0 0 12px}.home .hero-text .subhead{font-size:16px;margin:0;color:#fff8f2d9}.home .panel-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.home .panel-label{text-transform:uppercase;letter-spacing:1px;opacity:.8}.home .panel-value.good{color:#e3f6d2;font-weight:600}.home .section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.home .section-header h2{margin:0;font-size:24px}.home .section-header p{margin:4px 0 0;color:#1f1725b3}.home .section-tag{padding:6px 14px;border-radius:999px;background:#1f172514;font-size:12px;text-transform:uppercase;letter-spacing:1.2px}.home .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,200px));gap:20px;justify-content:start}.home .access-card{padding:20px;border-radius:18px;background:#fff;text-decoration:none;color:#1f1725;box-shadow:0 14px 32px #2d161e1f;transition:transform .2s ease,box-shadow .2s ease;text-align:center;display:grid;gap:10px;justify-items:center}.home .access-card h3{margin:6px 0 0;font-size:18px}.home .access-card p{margin:0;font-size:14px;color:#1f1725b3}.home .access-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px #2d161e2e}.home .access-card.featured{border:1px solid rgba(168,37,53,.25);background:linear-gradient(135deg,#fff6f0,#fff 55%,#fce8df)}.home .icon-badge{width:76px;height:76px;border-radius:16px;background:linear-gradient(135deg,#8e1f2e,#c7483d);color:#fff7f1;display:grid;place-items:center;font-size:24px;font-weight:700}.home .icon-badge .attendance-icon{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.home .news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.home .news-card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 18px 36px #2d161e1f}.home .news-card h3{margin:0 0 12px;font-size:18px}.home .news-card ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#1f1725bf}@media (max-width: 960px){.home .hero{grid-template-columns:1fr}}@media (max-width: 640px){.home{padding:24px 20px 32px}.home .hero{padding:24px}.home .hero-text h1{font-size:32px}}.navbar{background:linear-gradient(90deg,#0f1f3d,#1c3461);box-shadow:0 2px 14px #00000047;position:sticky;top:0;z-index:1000;border-bottom:3px solid var(--color-primary-2)}.nav-container{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;min-height:82px}.nav-brand .logo{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-brand .logo-img{height:70px;width:auto;display:block;filter:brightness(1.08) drop-shadow(0 2px 8px rgba(0,0,0,.35))}.nav-brand .logo-text{color:#fff;font-size:22px;font-weight:700;margin:0;letter-spacing:1px;font-family:Roboto,sans-serif}.nav-brand .logo-subtext{color:#fff9;font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.nav-links{display:flex;gap:4px}.nav-link{color:#ffffffd1;text-decoration:none;padding:8px 14px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;transition:all .2s}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:var(--color-primary-2);color:#fff;font-weight:600}.system-admin-link{background:#c7483d2e;border:1px solid rgba(199,72,61,.4);color:#ffcccb}.system-admin-link:hover{background:#c7483d52;color:#fff}.nav-user{display:flex;align-items:center;gap:12px}.user-name{font-weight:600;color:#fff}.user-role{opacity:.8;font-size:14px;color:#ffffffbf}.btn-logout{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.28);padding:8px 20px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#fff3}.user-dropdown{display:flex;align-items:center;position:relative}.user-main{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.28);padding:8px 14px;border-radius:var(--radius-sm) 0 0 var(--radius-sm);cursor:pointer;font-weight:600;font-size:.875rem;line-height:1;height:36px;display:inline-flex;align-items:center;transition:background .2s}.user-main:hover{background:#ffffff2e}.user-toggle{background:#ffffff12;color:#fff;border:1px solid rgba(255,255,255,.18);border-left:0;padding:8px 10px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;line-height:1;height:36px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}.user-toggle:hover{background:#ffffff26}.user-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--color-surface);color:var(--mat-sys-on-surface);padding:10px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:200px;z-index:2000}.user-info{display:flex;flex-direction:column;gap:6px}.user-email{font-size:13px;color:var(--color-muted);word-break:break-all}@media (max-width: 768px){.nav-container{flex-wrap:wrap;gap:12px}.nav-links{order:3;width:100%;justify-content:center}.user-role{display:none}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%)}.login-card{width:100%;max-width:420px;padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-card mat-card-header{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.login-card mat-card-title{font-size:32px;font-weight:700;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}.login-card mat-card-subtitle{text-align:center}.login-card .full-width{width:100%}.login-card mat-form-field{margin-bottom:16px}.login-button{height:48px;font-size:16px;margin-top:16px}.error-message{display:flex;align-items:center;gap:8px;color:var(--color-danger);background:#ef44440f;padding:12px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.header h1{font-size:2rem;font-weight:700;color:var(--mat-sys-on-surface);margin:0}.subtitle{font-size:1.1rem;color:var(--color-muted);margin:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px;margin-bottom:var(--spacing-xl);background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);border-radius:var(--radius-md);color:var(--color-primary-contrast);box-shadow:var(--shadow-md)}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--color-primary-contrast);margin:0 0 .5rem}.dashboard-header p{color:var(--color-primary-contrast);margin:0;opacity:.9}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.section-header h2{font-size:1.5rem;font-weight:700;color:var(--mat-sys-on-surface);margin:0}.section-header h3{font-size:1.25rem;font-weight:600;color:var(--mat-sys-on-surface);margin:0}.button-group{display:flex;gap:var(--spacing-md)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:.6rem 1rem;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .18s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-primary{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:var(--color-primary-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-secondary{background:var(--color-muted);color:var(--color-primary-contrast)}.btn-secondary:hover:not(:disabled){filter:brightness(.95)}.btn-warning{background:var(--color-warning);color:var(--color-primary-contrast)}.btn-warning:hover:not(:disabled){filter:brightness(.95)}.btn-danger{background:var(--color-danger);color:var(--color-primary-contrast)}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-success{background:var(--color-success);color:var(--color-primary-contrast)}.btn-success:hover:not(:disabled){filter:brightness(.95)}.btn-icon{background:none;border:none;padding:.5rem;font-size:1.25rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.btn-icon:hover{background:var(--color-surface-hover)}.btn-icon.danger:hover{background:#ef444414;color:var(--color-danger)}.btn-icon-small{background:none;border:none;cursor:pointer;padding:.125rem .25rem;font-size:.75rem;opacity:.7;transition:opacity .2s}.btn-icon-small:hover{opacity:1}.btn-icon-small.danger{color:var(--color-danger)}.btn-copy{background:var(--color-border);border:none;padding:.25rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:background .2s}.btn-copy:hover{filter:brightness(.95)}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.form-card h3{font-size:1.25rem;font-weight:600;color:var(--mat-sys-on-surface);margin:0 0 var(--spacing-lg) 0}form{display:block}.form-group{margin-bottom:var(--spacing-lg);flex:1}.form-group:last-of-type{margin-bottom:var(--spacing-xl)}.form-group label{display:block;font-weight:600;color:var(--mat-sys-on-surface);margin-bottom:var(--spacing-sm);font-size:.95rem}.form-group small{display:block;color:var(--color-muted);font-size:.875rem;margin-top:var(--spacing-xs)}.form-group input,.form-group textarea,.form-group select,.form-control{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;box-sizing:border-box;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus,.form-control:focus{outline:none;border-color:var(--color-primary-1);box-shadow:0 0 0 3px #667eea1a}.form-control.invalid{border-color:var(--color-danger)}.form-control.is-invalid{border-color:var(--color-danger);outline-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:.75rem;margin-top:.25rem}textarea.form-control{resize:vertical;font-family:inherit;min-height:80px}input[type=text],input[type=email],input[type=password],input[type=date],textarea,select{padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary-1);box-shadow:0 0 0 4px #667eea14}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:var(--spacing-md)}}.form-row .form-group{margin-bottom:0;min-width:0}.form-row:last-of-type{margin-bottom:var(--spacing-xl)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.form-actions .btn{min-width:80px}.form-actions .btn-secondary{order:1}.form-actions .btn-primary,.form-actions .btn-success{order:2}form>button[type=submit]:not(.form-actions .btn),form>.btn:last-child:not(.form-actions .btn){display:block;margin-left:auto;margin-top:var(--spacing-lg);min-width:150px}.error-text{display:block;color:var(--color-danger);font-size:.875rem;margin-top:var(--spacing-xs)}.help-text{display:block;color:var(--color-muted);font-size:.875rem;margin-top:var(--spacing-xs)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:90%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-md)}.modal-lg{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--mat-sys-on-surface)}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-muted);padding:0;width:32px;height:32px;line-height:1}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.tabs{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border)}.tab,.tab-button{padding:var(--spacing-md) var(--spacing-xl);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:600;color:var(--color-muted);transition:all .3s ease;display:flex;align-items:center;gap:var(--spacing-sm)}.tab:hover,.tab-button:hover{color:var(--color-primary-1)}.tab.active,.tab-button.active{color:var(--color-primary-1);border-bottom-color:var(--color-primary-1);background:linear-gradient(180deg,rgba(102,126,234,.05) 0%,transparent 100%)}.tab .icon{font-size:1.25rem}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card,.attendance-card,.leave-balance-card,.leave-request-card,.history-card,.leave-requests-card,.attendance-section,.leaves-section,.reports-section,.management-section{background:var(--color-surface);border-radius:var(--radius-md);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.report-subsection{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.report-subsection:first-child{margin-top:0;padding-top:0;border-top:none}.report-subsection h3{font-size:1.125rem;font-weight:600;color:var(--mat-sys-on-surface);margin:0 0 var(--spacing-lg) 0}.page-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.data-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.data-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-header{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:var(--color-primary-contrast);padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:flex-start}.card-header h3{font-size:1.125rem;font-weight:700;margin:0 0 .25rem;color:var(--color-primary-contrast)}.card-header .description{margin:0;opacity:.9;font-size:.875rem;color:var(--color-primary-contrast)}.card-actions{display:flex;gap:var(--spacing-sm)}.card-actions .btn-icon{color:var(--color-primary-contrast)}.card-actions .btn-icon:hover{background:#fff3}.card-actions .btn-icon.danger:hover{background:#ef44444d}.card-body{padding:var(--spacing-lg)}.role-card,.tenant-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:2px solid transparent;transition:all .3s ease}.role-card:hover,.tenant-card:hover{border-color:var(--color-primary-1);box-shadow:var(--shadow-md)}.role-card.inactive,.tenant-card.inactive{opacity:.6}.role-header,.tenant-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.role-header h3,.tenant-header h3{margin:0;font-size:1.5rem;color:var(--mat-sys-on-surface)}.role-description{color:var(--color-muted);margin-bottom:var(--spacing-md);min-height:3rem}.role-stats{margin-bottom:var(--spacing-md);padding:.75rem;background:var(--color-surface-light);border-radius:var(--radius-md)}.stat{color:var(--color-muted)}.stat strong{color:var(--color-primary-1);font-size:1.25rem}.role-actions,.tenant-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.tenant-info{margin-bottom:var(--spacing-lg)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border-light)}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:var(--color-muted);font-size:.875rem}.info-row .value{color:var(--mat-sys-on-surface);font-weight:500}.quick-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.quick-link-card{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);padding:24px;border-radius:var(--radius-lg);color:var(--color-primary-contrast);text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;box-shadow:var(--shadow-sm)}.data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}@media (max-width: 768px){.data-grid{grid-template-columns:1fr}}.roles-grid,.tenants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.permissions-grid{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto}.table-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table{width:100%;border-collapse:collapse;background:var(--color-surface)}.table thead{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:var(--color-primary-contrast)}.table th{padding:12px 16px;text-align:left;font-weight:600;font-size:.875rem;letter-spacing:.5px;color:var(--color-primary-contrast);white-space:nowrap}.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border-light);color:var(--mat-sys-on-surface);vertical-align:middle}.location-text{display:block;max-width:280px;white-space:normal;word-break:break-word}.table tbody tr{transition:background-color .2s}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.permissions-table,.users-table{width:100%;border-collapse:collapse}.permissions-table thead,.users-table thead{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:var(--color-primary-contrast)}.permissions-table th,.permissions-table td,.users-table th,.users-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.permissions-table tbody tr:hover,.users-table tbody tr:hover{background:var(--color-surface-light)}.badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.badge-success{background:#10b9811f;color:var(--color-success)}.badge-warning{background:#f59e0b14;color:var(--color-warning)}.badge-danger{background:#ef444414;color:var(--color-danger)}.badge-secondary{background:#6b72801a;color:var(--color-muted)}.badge-inactive{background:#ef444414;color:var(--color-danger)}.badge-info{background:#3b82f61f;color:var(--color-info)}.status-badge{background:#ef444414;color:var(--color-danger);padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.status-badge.active{background:#10b9811f;color:var(--color-success)}.resource-tag{background:#667eea14;color:var(--color-primary-1);padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;display:inline-block}.action-tag{background:#f59e0b14;color:var(--color-warning);padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500}.domain-badge{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:var(--color-primary-contrast);padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;display:inline-block}.role-badge{background:#3b82f61f;color:var(--color-info);padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;margin-right:var(--spacing-sm)}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-weight:500}.alert-form{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.alert-success,.alert.alert-success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:var(--color-primary-contrast)}.alert-error,.alert.alert-error,.alert-danger,.alert.alert-danger{background:linear-gradient(135deg,var(--color-danger) 0%,var(--color-danger-dark) 100%);color:var(--color-primary-contrast)}.info-box{background:#667eea0f;border-left:4px solid var(--color-primary-1);padding:16px;border-radius:var(--radius-sm)}.loading,.error{text-align:center;padding:var(--spacing-2xl);font-size:1.1rem}.loading{color:var(--color-muted)}.error{color:var(--color-danger)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);color:var(--color-muted);background:var(--color-surface-light);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state p{margin:0;font-size:1.125rem}.permission-item,.access-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-md);border:1px solid var(--color-border)}.permission-info strong{display:block;margin-bottom:.25rem;color:var(--mat-sys-on-surface)}.permission-info p{margin:.5rem 0 0;color:var(--color-muted);font-size:.875rem}.add-permission-form{display:flex;gap:var(--spacing-md);align-items:flex-end}.add-permission-form select{flex:1}.action-buttons{display:flex;gap:var(--spacing-sm)}.toggle-label{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{cursor:pointer;accent-color:var(--color-primary-1);width:15px;height:15px}.row-inactive{opacity:.55}.project-assignment{display:inline-flex;align-items:center;gap:var(--spacing-sm);margin-right:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.projects-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.api-key{font-family:Courier New,monospace;font-size:.875rem;color:var(--color-muted)}.card-header-collapsible{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--spacing-md);margin:calc(var(--spacing-md) * -1);margin-bottom:var(--spacing-md);border-radius:var(--radius-md);transition:background-color .2s}.card-header-collapsible:hover{background-color:var(--color-surface-hover)}.card-header-collapsible h2{margin:0;font-size:1.25rem;font-weight:600}.collapse-toggle{background:var(--color-surface-light);color:var(--color-primary-1);border:1px solid var(--color-border-light);width:32px;height:32px;border-radius:50%;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0;line-height:1}.collapse-toggle:hover{background:var(--color-primary-1);color:var(--color-primary-contrast);border-color:var(--color-primary-1);transform:scale(1.1)}.date-selector,.date-range-selector{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.date-selector label,.date-range-selector label{font-weight:500;color:var(--mat-sys-on-surface);white-space:nowrap}.date-selector input[type=date],.date-range-selector input[type=date],.date-selector .form-control,.date-range-selector .form-control{width:auto;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;transition:border-color .2s}.date-selector input[type=date]:focus,.date-range-selector input[type=date]:focus,.date-selector .form-control:focus,.date-range-selector .form-control:focus{outline:none;border-color:var(--color-primary-1);box-shadow:0 0 0 3px #667eea1a}.date-range-selector{gap:var(--spacing-sm)}.employee-info{display:flex;flex-direction:column;gap:4px}.employee-info strong{font-weight:600;color:var(--mat-sys-on-surface)}.employee-info small{font-size:.85rem;color:var(--color-muted)}.leave-type-badge{display:inline-block;padding:4px 10px;background:var(--color-surface-light);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--color-primary-1)}.weekend-badge{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem}.holiday-badge{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem}.no-data{text-align:center;padding:var(--spacing-xl);color:var(--color-muted);font-size:1rem}.status-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.attendance-row{display:flex;align-items:center;gap:var(--spacing-md);justify-content:space-between}.attendance-action{display:flex;align-items:center}.status-badge{display:inline-block;padding:8px 16px;border-radius:var(--radius-md);font-weight:600;font-size:1rem;text-align:center}.status-badge.clocked-in{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:#fff}.status-badge.clocked-out{background:var(--color-surface-light);color:var(--color-muted);border:1px solid var(--color-border)}.time-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.time-info p{margin:0;color:var(--mat-sys-on-surface)}.no-attendance{text-align:center;padding:var(--spacing-xl)}.no-attendance p{color:var(--color-muted);margin-bottom:var(--spacing-lg)}.balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-md)}.balance-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-md);text-align:center}.balance-item label{font-size:.875rem;color:var(--color-muted);font-weight:500}.balance-value{font-size:1.75rem;font-weight:700;color:var(--color-primary-1)}.mgr-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.mgr-page-header h1{font-size:1.75rem;font-weight:700;margin:0 0 4px;color:var(--mat-sys-on-surface)}.mgr-page-header p{margin:0;color:var(--color-muted);font-size:.9rem}.mgr-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.mgr-stat-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-lg) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center}.mgr-stat-card--accent{border-color:#8e1f2e40;background:linear-gradient(135deg,#fff6f0,#fff)}.mgr-stat-value{font-size:2rem;font-weight:700;color:var(--color-primary-1);line-height:1;margin-bottom:4px}.mgr-stat-label{font-size:.78rem;color:var(--color-muted);font-weight:500;text-align:center}.mgr-tabs{display:flex;gap:4px;margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border);overflow-x:auto}.mgr-tabs::-webkit-scrollbar{height:0}.mgr-tab{padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--color-muted);white-space:nowrap;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:6px}.mgr-tab:hover{color:var(--color-primary-1)}.mgr-tab.active{color:var(--color-primary-1);border-bottom-color:var(--color-primary-1)}.mgr-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-danger);color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 5px}.mgr-card{background:var(--color-surface);border-radius:var(--radius-md);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.mgr-card h2{font-size:1.125rem;font-weight:700;margin:0 0 var(--spacing-lg);color:var(--mat-sys-on-surface)}.mgr-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.mgr-card-header h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--mat-sys-on-surface)}.mgr-inline-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mgr-inline-filter label{font-size:.82rem;font-weight:600;color:var(--color-muted);white-space:nowrap}.mgr-inline-filter .form-control{padding:5px 8px;font-size:.82rem;height:auto;min-width:0}.mgr-section-title{font-size:1rem;font-weight:700;color:var(--mat-sys-on-surface);margin:0 0 var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.mgr-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.mgr-subsection-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--mat-sys-on-surface)}.mgr-loading{color:var(--color-muted);font-size:.9rem;padding:var(--spacing-md) 0}.rpt-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-md);flex-wrap:wrap}.rpt-subtabs{display:flex;gap:2px}.rpt-subtab{padding:7px 16px;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--color-muted);transition:all .18s}.rpt-subtab:hover{background:var(--color-surface-hover);color:var(--mat-sys-on-surface)}.rpt-subtab.active{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:#fff;border-color:transparent}.rpt-filter-bar{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.rpt-rejection{display:block;font-size:.78rem;color:var(--color-danger);margin-top:2px}.reason-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.mgr-stats-row{grid-template-columns:repeat(2,1fr)}.mgr-card-header{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.mgr-stats-row{grid-template-columns:1fr 1fr}}.team-member-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);overflow:hidden;transition:all .3s ease}.team-member-card:hover{border-color:var(--color-primary-1);box-shadow:var(--shadow-sm)}.member-header{padding:var(--spacing-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.member-header:hover{background:var(--color-surface-hover)}.member-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.member-info h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--mat-sys-on-surface);display:flex;align-items:center;gap:var(--spacing-sm)}.expand-icon{color:var(--color-primary-1);font-size:.875rem;display:inline-block;width:16px;transition:transform .2s}.member-detail{margin:0;color:var(--color-muted);font-size:.875rem}.leave-balance-section,.upcoming-leaves-section{padding:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.leave-balance-section h4,.upcoming-leaves-section h4{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:600;color:var(--mat-sys-on-surface)}.balance-grid-small{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md)}.balance-item-small{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-sm);text-align:center}.balance-item-small label{font-size:.8rem;color:var(--color-muted);font-weight:500}.balance-value-small{font-size:1.5rem;font-weight:700;color:var(--color-primary-1)}.upcoming-leaves-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.leave-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-sm);flex-wrap:wrap}.leave-dates{font-size:.9rem;color:var(--mat-sys-on-surface)}.leave-days{font-size:.85rem;color:var(--color-muted)}.management-actions{padding:var(--spacing-lg);border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:var(--spacing-xl)}.action-form{background:var(--color-surface-light);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.action-form h4{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:600;color:var(--mat-sys-on-surface)}.action-form .form-row{margin-bottom:var(--spacing-md)}.action-form .btn{margin-top:var(--spacing-sm)}.form-group-grow{flex-grow:2;min-width:200px}.system-admin-container,.tenants-container,.roles-container,.users-container,.permissions-container{max-width:1400px;margin:0 auto;padding:var(--spacing-xl)}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.admin-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--mat-sys-on-surface);transition:all .3s ease;cursor:pointer}.admin-card:hover{border-color:var(--color-primary-1);box-shadow:var(--shadow-md);transform:translateY(-4px)}.admin-card .card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);border-radius:50%;margin-bottom:var(--spacing-md)}.admin-card .card-icon svg{color:var(--color-primary-contrast)}.admin-card h3{font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-sm) 0;color:var(--mat-sys-on-surface)}.admin-card p{font-size:.9rem;color:var(--color-muted);margin:0;line-height:1.5}.action-tag{text-transform:uppercase;font-size:.75rem;font-weight:600}.tenants-grid,.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.tenant-header,.role-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.tenant-header h3,.role-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--mat-sys-on-surface)}.tenant-info{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.info-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.9rem}.info-row .label{font-weight:500;color:var(--color-muted);min-width:80px}.info-row .value{color:var(--mat-sys-on-surface)}.domain-badge{background:var(--color-surface-light);padding:2px 8px;border-radius:var(--radius-sm);font-family:monospace;font-size:.85rem}.tenant-actions,.role-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.role-description{color:var(--color-muted);font-size:.9rem;margin:var(--spacing-sm) 0}.role-stats{display:flex;gap:var(--spacing-lg);margin:var(--spacing-md) 0}.role-stats .stat{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.9rem;color:var(--color-muted)}.role-stats .stat strong{font-size:1.5rem;color:var(--color-primary-1)}.btn-copy{background:none;border:none;padding:4px 8px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s}.btn-copy:hover{background:var(--color-surface-hover)}.btn-info{background:var(--color-info);color:var(--color-primary-contrast)}.btn-info:hover:not(:disabled){filter:brightness(.95)}.btn-sm.btn-info,.btn-sm.btn-warning{padding:.4rem .8rem;font-size:.85rem}.permissions-grid{display:flex;flex-direction:column;gap:var(--spacing-md);margin:var(--spacing-md) 0}.permission-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.permission-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.permission-info strong{color:var(--mat-sys-on-surface);font-size:.95rem}.permission-info small{color:var(--color-muted);font-size:.85rem}.resource-tag{display:inline-block;background:var(--color-primary-1);color:var(--color-primary-contrast);padding:2px 8px;border-radius:var(--radius-sm);font-size:.8rem;margin-right:var(--spacing-xs)}.add-permission-form{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-md);margin-top:var(--spacing-md)}.add-permission-form .form-group{flex:1;min-width:150px}.api-key{font-family:monospace;background:var(--color-surface-light);padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);font-size:.85rem;color:var(--mat-sys-on-surface);display:inline-flex;align-items:center;gap:var(--spacing-xs);max-width:100%;overflow:hidden;text-overflow:ellipsis}.users-table{margin-top:var(--spacing-xl)}.access-list,.add-access-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin:var(--spacing-md) 0}.access-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-surface-light);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.access-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.access-info strong{color:var(--mat-sys-on-surface);font-size:.95rem}.role-badge{margin-right:var(--spacing-xs)}.add-access-form{display:flex;flex-direction:row;gap:var(--spacing-sm);flex-wrap:wrap;align-items:flex-end}.add-access-form .form-group{flex:1;min-width:200px}.tenant-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.action-buttons{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.modal-lg{max-width:800px}.bg-gradient-primary{background:linear-gradient(135deg,var(--color-primary-1) 0%,var(--color-primary-2) 100%);color:var(--color-primary-contrast)}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.text-muted{color:var(--color-muted)!important}.border-muted{border-color:var(--color-border)!important}.subtle-surface{background:var(--color-surface-light)}.mt-8{margin-top:var(--spacing-xl)!important}.mb-8{margin-bottom:var(--spacing-xl)!important}.p-4{padding:var(--spacing-md)!important}.p-8{padding:var(--spacing-xl)!important}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.stat-card h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-muted);text-transform:uppercase;font-weight:600;letter-spacing:.05em}.stat-card .stat-value{margin:0;font-size:2rem;font-weight:700;color:var(--color-primary-1)}.quick-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.records-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.records-table thead{background:var(--color-surface-light)}.records-table thead th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap}.records-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.records-table tbody tr:hover{background:var(--color-surface-light)}.records-table tbody td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;position:relative}.status-dot.active{background:var(--color-success);box-shadow:0 0 0 2px #28a7454d;animation:pulse 2s infinite}.status-dot.completed{background:var(--color-text-secondary);opacity:.5}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #28a7454d}50%{box-shadow:0 0 0 4px #28a74526}}.sessions-table tbody tr.active-session{background:#28a7450d;border-left:3px solid var(--color-success)}.sessions-table tbody tr.active-session:hover{background:#28a7451a}
