@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff");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}:root{--color-primary-50: #F0FDFA;--color-primary-100: #CCFBF1;--color-primary-200: #99F6E4;--color-primary-300: #5EEAD4;--color-primary-400: #2DD4BF;--color-primary-500: #14B8A6;--color-primary-600: #0D9488;--color-primary-700: #0F766E;--color-primary-800: #115E59;--color-primary-900: #134E4A;--color-accent-50: #FFF7ED;--color-accent-100: #FFEDD5;--color-accent-200: #FED7AA;--color-accent-300: #FDBA74;--color-accent-400: #FB923C;--color-accent-500: #F97316;--color-accent-600: #EA580C;--color-accent-700: #C2410C;--color-accent-800: #9A3412;--color-accent-900: #7C2D12;--color-success-50: #F0FDF4;--color-success-500: #22C55E;--color-success-600: #16A34A;--color-success-700: #15803D;--color-warning-50: #FFFBEB;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-warning-700: #B45309;--color-error-50: #FEF2F2;--color-error-500: #EF4444;--color-error-600: #DC2626;--color-error-700: #B91C1C;--color-info-50: #EFF6FF;--color-info-500: #3B82F6;--color-info-600: #2563EB;--color-info-700: #1D4ED8;--color-neutral-50: #F8FAFC;--color-neutral-100: #F1F5F9;--color-neutral-200: #E2E8F0;--color-neutral-300: #CBD5E1;--color-neutral-400: #94A3B8;--color-neutral-500: #64748B;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1E293B;--color-neutral-900: #0F172A;--color-primary: var(--color-primary-600);--color-primary-hover: var(--color-primary-700);--color-primary-light: var(--color-primary-100);--color-on-primary: #000000;--color-secondary: var(--color-primary-500);--color-on-secondary: var(--color-neutral-900);--color-accent: var(--color-accent-600);--color-accent-hover: var(--color-accent-700);--color-on-accent: #FFFFFF;--color-background: var(--color-primary-50);--color-surface: #FFFFFF;--color-surface-hover: var(--color-neutral-50);--color-card: #FFFFFF;--color-border: var(--color-primary-200);--color-border-strong: var(--color-primary-300);--color-border-subtle: var(--color-neutral-200);--color-text-primary: var(--color-primary-900);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-500);--color-text-disabled: var(--color-neutral-400);--color-success: var(--color-success-500);--color-warning: var(--color-warning-500);--color-error: var(--color-error-500);--color-info: var(--color-info-500);--color-destructive: var(--color-error-600);--color-on-destructive: #FFFFFF;--color-muted: var(--color-neutral-100);--color-muted-foreground: var(--color-neutral-600);--color-ring: var(--color-primary-600);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.75;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .12), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-none: none;--shadow-focus-primary: 0 0 0 3px rgba(13, 148, 136, .15);--shadow-focus-error: 0 0 0 3px rgba(239, 68, 68, .15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-overlay: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 70;--z-toast: 80;--z-max: 9999;--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--topbar-height: 64px;--content-max-width: 1400px;--btn-height-sm: 32px;--btn-height-md: 40px;--btn-height-lg: 48px;--input-height-sm: 32px;--input-height-md: 40px;--input-height-lg: 48px;--icon-xs: 14px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--icon-xl: 32px;--icon-2xl: 40px}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.bg-surface{background-color:var(--color-surface)}.bg-muted{background-color:var(--color-muted)}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}*:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-100)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.page-container{width:100%;max-width:100%;margin:0 auto;padding:var(--space-6);box-sizing:border-box}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.page-header-left{display:flex;align-items:center;gap:var(--space-4);flex:1}.page-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.page-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin:var(--space-1) 0 0;line-height:var(--leading-normal)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3)}.filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6);display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:200px;flex:1}.filter-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);letter-spacing:var(--tracking-wide)}.filter-bar-actions{display:flex;gap:var(--space-2);margin-left:auto}.filter-bar-advanced{width:100%;margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.filter-toggle-btn{font-size:var(--text-sm);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:var(--transition-base);font-weight:var(--font-medium)}.filter-toggle-btn:hover{background:var(--color-primary-light)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;overflow:hidden;transition:var(--transition-base);box-shadow:var(--shadow-sm)}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--stat-color, var(--color-primary))}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.primary{--stat-color: var(--color-primary)}.stat-card.success{--stat-color: var(--color-success)}.stat-card.warning{--stat-color: var(--color-warning)}.stat-card.error{--stat-color: var(--color-error)}.stat-card.accent{--stat-color: var(--color-accent)}.stat-card.info{--stat-color: var(--color-info)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.stat-icon{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--icon-lg);background:var(--icon-bg, var(--color-primary-100));color:var(--icon-color, var(--color-primary))}.stat-card.primary .stat-icon{--icon-bg: var(--color-primary-100);--icon-color: var(--color-primary)}.stat-card.success .stat-icon{--icon-bg: var(--color-success-50);--icon-color: var(--color-success)}.stat-card.warning .stat-icon{--icon-bg: var(--color-warning-50);--icon-color: var(--color-warning)}.stat-card.error .stat-icon{--icon-bg: var(--color-error-50);--icon-color: var(--color-error)}.stat-card.accent .stat-icon{--icon-bg: var(--color-accent-100);--icon-color: var(--color-accent)}.stat-card.info .stat-icon{--icon-bg: var(--color-info-50);--icon-color: var(--color-info)}.stat-value{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:var(--leading-none);margin-bottom:var(--space-2);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.stat-footer{font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex;align-items:center;gap:var(--space-2)}.stat-trend{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}.stat-trend.up{background:var(--color-success-50);color:var(--color-success-700)}.stat-trend.down{background:var(--color-error-50);color:var(--color-error-700)}.progress-bar{display:flex;align-items:center;gap:var(--space-3);width:100%}.progress-track{flex:1;height:8px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-full);transition:width var(--transition-slow);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);min-width:48px;text-align:right}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2);margin:0}.card-title svg{color:var(--color-primary)}.card-actions{display:flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-muted)}.table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:var(--color-muted)}.table-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.table-actions{display:flex;gap:var(--space-2)}.table-container{overflow-x:auto}.ant-table-wrapper .ant-table{font-size:var(--text-sm)}.ant-table-wrapper .ant-table-thead>tr>th{background:var(--color-muted);color:var(--color-text-secondary);font-weight:var(--font-semibold);border-bottom:2px solid var(--color-border);padding:var(--space-3) var(--space-4)}.ant-table-wrapper .ant-table-tbody>tr>td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--color-primary-50)!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--color-primary-100)!important}.ant-table-wrapper .ant-table-tbody>tr.user-row-inactive>td{background:var(--color-bg-subtle, #fafafa);color:var(--color-text-tertiary, #8c8c8c)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-muted);display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--color-text-tertiary)}.empty-state-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.empty-state-description{font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--space-6);max-width:400px;margin-left:auto;margin-right:auto;line-height:var(--leading-relaxed)}.empty-state-action{display:inline-flex}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200) 0%,var(--color-neutral-100) 50%,var(--color-neutral-200) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.skeleton-text.large{height:24px}.skeleton-rect{width:100%;height:200px}.skeleton-circle{width:40px;height:40px;border-radius:var(--radius-full)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-md);line-height:1}.badge.primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge.success{background:var(--color-success-50);color:var(--color-success-700)}.badge.warning{background:var(--color-warning-50);color:var(--color-warning-700)}.badge.error{background:var(--color-error-50);color:var(--color-error-700)}.badge.neutral{background:var(--color-neutral-100);color:var(--color-neutral-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);line-height:1.5;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition-base);text-decoration:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-border-strong)}.btn-outline:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);height:var(--btn-height-sm)}.btn-md{padding:var(--space-2) var(--space-4);font-size:var(--text-base);height:var(--btn-height-md)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-lg);height:var(--btn-height-lg)}@media (max-width: 768px){.page-container{padding:var(--space-4)}.page-header{flex-direction:column;align-items:flex-start}.page-header-actions{width:100%}.stats-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column}.filter-group{width:100%;min-width:unset}.filter-bar-actions{width:100%;margin-left:0}.card-header,.table-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.table-actions{width:100%}}:root{--modern-primary: #3B82F6;--modern-primary-dark: #2563EB;--modern-primary-darker: #1D4ED8;--modern-success: #22C55E;--modern-text: #0f172a;--modern-text-light: #64748b;--modern-border: #e2e8f0;--modern-bg: #ffffff;--modern-bg-light: #f8fafc;--modern-error: #ef4444}.modern-login-page{min-height:100vh;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--modern-bg)}.modern-login-left{flex:0 0 50%;display:flex;align-items:center;justify-content:center;padding:3rem 2rem;background:var(--modern-bg);position:relative;overflow:hidden}.modern-login-container{width:100%;max-width:440px;animation:modern-slide-in .6s cubic-bezier(.16,1,.3,1)}.modern-login-logo{margin-bottom:3rem;text-align:center}.modern-login-logo img{width:100%;max-width:320px;height:auto}.modern-login-header{margin-bottom:2.5rem}.modern-login-header h1{font-size:2rem;font-weight:800;color:var(--modern-text);margin:0 0 .5rem;letter-spacing:-.02em}.modern-login-header p{font-size:1.0625rem;color:var(--modern-text-light);margin:0;font-weight:400}.modern-login-form{display:flex;flex-direction:column;gap:1.5rem}.modern-form-group{display:flex;flex-direction:column;gap:.5rem}.modern-form-group label{font-size:.9375rem;font-weight:600;color:var(--modern-text);letter-spacing:-.01em}.modern-input-wrapper{position:relative;display:flex;align-items:center}.modern-input-icon{position:absolute;left:1rem;width:20px;height:20px;color:var(--modern-text-light);pointer-events:none;transition:color .2s;z-index:1}.modern-input-wrapper input{width:100%;height:56px;padding:0 3rem;font-size:1rem;font-family:inherit;color:var(--modern-text);background:var(--modern-bg-light);border:2px solid transparent;border-radius:12px;outline:none;transition:all .2s ease}.modern-input-wrapper input::placeholder{color:#94a3b8}.modern-input-wrapper input:hover{background:#f1f5f9;border-color:var(--modern-border)}.modern-input-wrapper input:focus{background:var(--modern-bg);border-color:var(--modern-primary);box-shadow:0 0 0 4px #3b82f61a}.modern-input-wrapper input:focus+.modern-input-icon,.modern-input-wrapper:focus-within .modern-input-icon{color:var(--modern-primary)}.modern-input-wrapper input.error{border-color:var(--modern-error);background:#fef2f2}.modern-input-wrapper input.error:focus{box-shadow:0 0 0 4px #ef44441a}.modern-password-toggle{position:absolute;right:1rem;width:20px;height:20px;padding:0;background:none;border:none;color:var(--modern-text-light);cursor:pointer;transition:color .2s;z-index:1}.modern-password-toggle:hover{color:var(--modern-text)}.modern-password-toggle svg{width:100%;height:100%}.modern-error{font-size:.875rem;color:var(--modern-error);font-weight:500;display:flex;align-items:center;gap:.25rem;margin-top:.25rem}.modern-submit-btn{width:100%;height:56px;margin-top:.5rem;padding:0 2rem;font-size:1.0625rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--modern-primary) 0%,var(--modern-primary-dark) 100%);border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #3b82f64d;position:relative;overflow:hidden}.modern-submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modern-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.modern-submit-btn:hover:not(:disabled):before{left:100%}.modern-submit-btn:active:not(:disabled){transform:translateY(0)}.modern-submit-btn:disabled{opacity:.7;cursor:not-allowed}.modern-submit-btn svg{width:20px;height:20px}.modern-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:modern-spin .6s linear infinite}.modern-login-footer{margin-top:2.5rem;text-align:center}.modern-login-footer p{font-size:.875rem;color:var(--modern-text-light);margin:0}.modern-login-right{flex:0 0 50%;background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.modern-decoration{position:absolute;border-radius:50%;pointer-events:none;opacity:.1}.modern-decoration-1{width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);top:-200px;right:-200px;animation:modern-float 8s ease-in-out infinite}.modern-decoration-2{width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);bottom:-100px;left:-100px;animation:modern-float 10s ease-in-out infinite reverse}.modern-decoration-3{width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:modern-pulse 6s ease-in-out infinite}.modern-visual-content{max-width:540px;text-align:center;position:relative;z-index:1;animation:modern-fade-in .8s ease-out .3s both}.modern-visual-text h2{font-size:3rem;font-weight:800;color:#fff;margin:0 0 1rem;line-height:1.2;letter-spacing:-.03em}.modern-visual-text p{font-size:1.25rem;color:#ffffffe6;margin:0 0 3rem;font-weight:400}.modern-features{display:flex;flex-direction:column;gap:1rem;text-align:left}.modern-feature-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease}.modern-feature-item:hover{background:#ffffff26;transform:translate(8px)}.modern-feature-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:8px;flex-shrink:0}.modern-feature-icon svg{width:16px;height:16px;color:#fff}.modern-feature-item span{font-size:1rem;font-weight:500;color:#fff}@keyframes modern-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modern-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modern-spin{to{transform:rotate(360deg)}}@keyframes modern-float{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}@keyframes modern-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.2}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.3}}@media (max-width: 1024px){.modern-login-page{flex-direction:column}.modern-login-left,.modern-login-right{flex:1}.modern-login-right{min-height:300px}.modern-visual-text h2{font-size:2rem}.modern-features{flex-direction:row;flex-wrap:wrap}.modern-feature-item{flex:1;min-width:200px}}@media (max-width: 768px){.modern-login-left{padding:2rem 1.5rem}.modern-login-header h1{font-size:1.75rem}.modern-login-right{display:none}}.weekly-menu-table .ant-table-thead th{white-space:normal;word-break:keep-all}.weekly-menu-table .ant-table-cell.cell-datetime{font-variant-numeric:tabular-nums}.weekly-menu-table td.ant-table-cell.cell-datetime,.weekly-menu-table .ant-table-cell.cell-nowrap{white-space:nowrap}.gate-status-tag{display:inline-flex!important;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);border:none;white-space:nowrap}.gate-status-tag.gate-unset{background:var(--color-neutral-50);color:var(--color-text-secondary)}.gate-status-tag.gate-soon{background:var(--color-warning-50);color:var(--color-warning-600)}.gate-status-tag.gate-open{background:var(--color-success-50);color:var(--color-success-700)}.gate-status-tag.gate-closed{background:var(--color-error-50);color:var(--color-error-600)}.weekly-menu-card-list{display:flex;flex-direction:column;gap:var(--space-3)}.weekly-menu-mobile-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-xs)}.weekly-menu-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.weekly-menu-mobile-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-menu-mobile-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.weekly-menu-mobile-card-meta-item{display:flex;align-items:center;gap:4px}.weekly-menu-mobile-card-actions{display:flex;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3);margin-top:var(--space-2)}.weekly-menu-mobile-card-actions .ant-btn{min-height:44px;min-width:44px;padding-inline:var(--space-3)}@media (max-width: 768px){.weekly-menu-stats{margin-bottom:var(--space-4)}}*,html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}body{margin:0}.layout-wrapper .sidebar,.top-navbar{box-sizing:border-box}#root{min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}:root{--auth-primary: #1677ff;--auth-primary-light: #5294ff;--auth-primary-dark: #186ed6;--auth-bg: #f8fafc;--auth-surface: #ffffff;--auth-surface-hover: #f1f5f9;--auth-border: #e2e8f0;--auth-text: #0f172a;--auth-text-secondary: #334155;--auth-text-muted: #64748b;--auth-text-subtle: #94a3b8;--auth-input-bg: #f8fafc;--auth-input-border: #e2e8f0;--auth-input-focus-border: var(--auth-primary);--auth-danger: #ef4444;--auth-danger-bg: #fef2f2;--auth-danger-border: #fecaca;--auth-success: #22c55e;--auth-radius-sm: 8px;--auth-radius-md: 12px;--auth-radius-lg: 20px;--auth-shadow-input: 0 1px 3px rgba(0, 0, 0, .04);--auth-transition: cubic-bezier(.4, 0, .2, 1)}.auth-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;display:flex;background:linear-gradient(135deg,#e8f0fe,#c2d9ff 25%,#6ea8ff 55%,#1677ff 80%,#1260d4);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 60%);top:-300px;left:-300px;pointer-events:none}.auth-page:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(22,119,255,.2) 0%,transparent 60%);bottom:-200px;right:-100px;pointer-events:none}.auth-form-panel{flex:0 0 45%;max-width:45%;display:flex;align-items:center;justify-content:center;padding:1.25rem;position:relative;z-index:2}.auth-form-container{width:100%;max-width:420px;animation:auth-slide-up .6s var(--auth-transition) both}.auth-logo-section{text-align:center;margin-bottom:2rem}.auth-logo-img{height:auto;width:100%;max-width:420px;object-fit:contain;margin:0 auto 1rem;display:block;transition:transform .3s var(--auth-transition)}.auth-logo-img:hover{transform:scale(1.02)}.auth-card{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--auth-radius-md);padding:1.5rem;box-shadow:0 8px 32px #00000014,0 1px 2px #0000000a;position:relative}.auth-card-header{text-align:center;margin-bottom:1.75rem}.auth-card-title{font-size:1.75rem;font-weight:700;color:var(--auth-text);margin:0 0 .375rem;letter-spacing:-.01em}.auth-card-description{font-size:1.0625rem;color:var(--auth-text-muted);margin:0;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.125rem}.auth-field{display:flex;flex-direction:column;gap:.4375rem}.auth-label{font-size:1.0625rem;font-weight:600;color:var(--auth-text-secondary);letter-spacing:.01em}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:.875rem;color:var(--auth-text-subtle);display:flex;align-items:center;pointer-events:none;transition:color .2s var(--auth-transition);z-index:1}.auth-input-icon svg{width:18px;height:18px}.auth-input{width:100%;padding:.75rem .875rem .75rem 2.5rem;background:var(--auth-input-bg);border:1.5px solid var(--auth-input-border);border-radius:var(--auth-radius-md);color:var(--auth-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.0625rem;font-weight:400;outline:none;box-shadow:var(--auth-shadow-input);transition:all .2s var(--auth-transition)}.auth-input::placeholder{color:var(--auth-text-subtle)}.auth-input:hover{border-color:#cbd5e1;background:#fff}.auth-input:focus{border-color:var(--auth-input-focus-border);background:#fff;box-shadow:0 0 0 3px #1677ff1a}.auth-input-wrapper:focus-within .auth-input-icon{color:var(--auth-primary)}.auth-input.is-invalid{border-color:var(--auth-danger)!important;background:var(--auth-danger-bg)!important}.auth-input.is-invalid:focus{box-shadow:0 0 0 3px #ef44441a!important}.auth-password-toggle{position:absolute;right:.625rem;background:none;border:none;color:var(--auth-text-subtle);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s var(--auth-transition)}.auth-password-toggle:hover{color:var(--auth-text-muted);background:var(--auth-surface-hover)}.auth-password-toggle svg{width:17px;height:17px}.auth-error-message{display:flex;align-items:center;gap:.3125rem;font-size:.875rem;color:var(--auth-danger);font-weight:500;animation:auth-shake .4s var(--auth-transition)}.auth-error-message svg{width:13px;height:13px;flex-shrink:0}.auth-submit-btn{width:100%;padding:.8125rem 1.5rem;background:linear-gradient(135deg,var(--auth-primary) 0%,var(--auth-primary-dark) 100%);color:#fff;border:none;border-radius:var(--auth-radius-md);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:all .25s var(--auth-transition);margin-top:.375rem;letter-spacing:.01em;box-shadow:0 2px 8px #1677ff40}.auth-submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .5s var(--auth-transition)}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #1677ff59}.auth-submit-btn:hover:not(:disabled):before{left:100%}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn-content{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.125rem}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-visual-panel{flex:0 0 55%;max-width:55%;display:flex;position:relative;overflow:hidden}.auth-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;z-index:1}.auth-visual-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;padding:3rem 2.5rem;text-align:center;animation:auth-slide-up .7s var(--auth-transition) .15s both}.auth-illustration-wrapper{width:340px;height:340px;flex-shrink:0;animation:auth-illustration-float 6s ease-in-out infinite;transition:transform .4s var(--auth-transition),box-shadow .4s var(--auth-transition)}.auth-illustration-wrapper:hover{transform:translateY(-6px) scale(1.02);border-radius:32px;box-shadow:0 32px 64px #0003,0 0 0 1px #ffffff40}.auth-visual-illustration{width:100%;height:100%;object-fit:cover;display:block}.auth-visual-title{font-size:2rem;font-weight:800;color:#fff;margin:0 0 .75rem;letter-spacing:-.03em;line-height:1.25;max-width:420px}.auth-visual-title .auth-highlight{background:linear-gradient(135deg,#69b4ff,#a5d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-visual-text{font-size:1.0625rem;color:#ffffffbf;margin:0;line-height:1.6;max-width:380px}.auth-features{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem}.auth-feature-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:100px;font-size:.875rem;color:#ffffffd9;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,border-color .2s}.auth-feature-pill:hover{background:#ffffff29;border-color:#ffffff40}.auth-feature-pill svg{width:13px;height:13px;color:#69b4ff}.auth-footer{text-align:center;margin-top:1.75rem}.auth-footer-text{font-size:.8125rem;color:#fff9;margin:0}.auth-footer-text a{color:#ffffffd9;text-decoration:none;font-weight:500;transition:color .2s}.auth-footer-text a:hover{color:#fff;text-decoration:underline}@keyframes auth-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes auth-illustration-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (max-width: 991px){.auth-form-panel{flex:1;max-width:100%}.auth-visual-panel{display:none}}.ant-btn{border-radius:var(--radius-md);font-weight:var(--font-medium);transition:all var(--transition-base);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif!important}.ant-btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}.ant-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.ant-btn-primary.ant-btn-dangerous{background:var(--color-destructive)!important;border-color:var(--color-destructive)!important;color:#fff!important}.ant-btn-primary.ant-btn-dangerous:hover:not(:disabled){background:var(--color-error-700)!important;border-color:var(--color-error-700)!important}.ant-input,.ant-select-selector,.ant-picker{border-radius:var(--radius-md)!important;border-color:var(--color-border)!important}.ant-input:hover,.ant-select-selector:hover,.ant-picker:hover{border-color:var(--color-border-strong)!important}.ant-input:focus,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--primary-500)!important;box-shadow:0 0 0 3px var(--primary-100)!important}.ant-table{font-size:var(--text-sm)}.ant-table-thead>tr>th{background:var(--neutral-50);color:var(--color-text-secondary);font-weight:var(--font-semibold);border-bottom:2px solid var(--color-border)}.ant-table-tbody>tr:hover>td{background:var(--neutral-50)}.ant-table-tbody>tr.row-error>td{background:#fff1f0}.ant-table-tbody>tr.row-error:hover>td{background:#ffe7e5}.ant-card{border-radius:var(--radius-lg);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.ant-card-head{border-bottom:1px solid var(--color-border)}.ant-tabs-tab{font-weight:var(--font-medium)}.ant-tabs-tab-active{color:var(--primary-600)!important}.ant-tabs-ink-bar,.ant-progress-bg{background:var(--primary-500)}.layout-wrapper{display:flex;min-height:100vh;background:var(--color-background)}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);position:fixed;top:0;left:0;bottom:0;z-index:var(--z-fixed);height:100vh;overflow-y:auto;transition:width var(--transition-base);display:flex;flex-direction:column}.layout-wrapper .sidebar.collapsed{width:var(--sidebar-collapsed-width)!important}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.logo-area{height:var(--topbar-height);display:flex;align-items:center;justify-content:center;padding:.75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.logo-area a{text-decoration:none}.logo-area a:hover{opacity:.9}.qsa-lockup{--qsa-mark: 40px;display:inline-flex;align-items:center;gap:calc(var(--qsa-mark) * .3);text-decoration:none;line-height:1}.qsa-lockup__mark{width:var(--qsa-mark);height:var(--qsa-mark);display:block;flex-shrink:0}.qsa-lockup__text{display:flex;flex-direction:column;gap:calc(var(--qsa-mark) * .11)}.qsa-lockup__name{font-size:calc(var(--qsa-mark) * .42);font-weight:800;letter-spacing:-.02em;white-space:nowrap;background:linear-gradient(90deg,#134e4a,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent}.qsa-lockup__rule{display:flex;gap:calc(var(--qsa-mark) * .1);height:calc(var(--qsa-mark) * .1)}.qsa-lockup__rule i{border-radius:999px;background:#0d9488}.qsa-lockup__rule i:nth-child(1){flex:5}.qsa-lockup__rule i:nth-child(2){flex:2;background:#14b8a6}.qsa-lockup__rule i:nth-child(3){flex:1;background:#5eead4}.logo-area .qsa-lockup{--qsa-mark: 44px}.sidebar.collapsed .qsa-lockup{--qsa-mark: 40px;gap:0}.sidebar.collapsed .qsa-lockup__text,.brand-copy,.sidebar.collapsed .brand-copy{display:none}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--space-2)}.sidebar-tier-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-4);margin-top:var(--space-4);display:block}.sidebar .ant-menu-item-group-title{padding:var(--space-3) 0!important;color:var(--color-text-secondary);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.sidebar.collapsed .sidebar-tier-label,.sidebar.collapsed .ant-menu-item-group-title{display:none!important}.sidebar.collapsed{overflow-x:hidden}.sidebar.collapsed .sidebar-nav{overflow-x:hidden;padding:var(--space-2) var(--space-1)}.sidebar.collapsed .ant-menu-inline-collapsed,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item-group,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item-group-list{width:100%!important;min-width:0!important}.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-submenu-title{width:100%!important;padding:0!important;margin:2px 0!important;display:flex!important;align-items:center;justify-content:center;text-overflow:clip}.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item>.ant-menu-title-content,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-submenu-title>.ant-menu-title-content{display:none!important}.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item .ant-menu-item-icon,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-submenu-title .ant-menu-item-icon,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item>svg,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-submenu-title>svg,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-item>.anticon,.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-submenu-title>.anticon{margin:0!important;flex:0 0 auto;font-size:20px}.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-submenu-arrow{display:none!important}.sidebar.collapsed .ant-menu-inline-collapsed .ant-menu-divider,.sidebar.collapsed .ant-menu-inline-collapsed li.ant-menu-item-divider{width:auto!important;margin:var(--space-2) var(--space-2)!important}.sidebar-submenu-popup{padding-left:10px!important}.sidebar .ant-menu-divider{margin:var(--space-3) 0!important;background-color:var(--color-border)}.sidebar .ant-menu-sub .ant-menu-item-group-title{padding:var(--space-2) var(--space-4) var(--space-1)!important}.sidebar-group-label{font-size:10px;font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em;opacity:.75}.sidebar .ant-menu{border:none!important;background:transparent}.sidebar .ant-menu-item,.sidebar .ant-menu-submenu-title{margin:2px 0!important;border-radius:var(--radius-md)!important;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-base)}.sidebar .ant-menu-item:hover,.sidebar .ant-menu-submenu-title:hover{background:var(--color-surface-hover)!important;color:var(--primary-600)!important}.sidebar .ant-menu-item-selected{background:var(--primary-50)!important;color:var(--primary-600)!important;font-weight:var(--font-semibold)}.sidebar .ant-menu-item-selected:after{display:none}.sidebar .ant-menu-submenu-arrow{color:var(--color-text-tertiary)}.top-navbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);position:fixed;top:0;left:var(--sidebar-width);right:0;z-index:var(--z-sticky);transition:left var(--transition-base)}.sidebar.collapsed~.main-wrapper .top-navbar{left:var(--sidebar-collapsed-width)}.top-navbar-left{display:flex;align-items:center;gap:var(--space-4)}.menu-toggle{cursor:pointer;font-size:var(--text-xl);color:var(--color-text-secondary);transition:color var(--transition-base);padding:var(--space-2);border-radius:var(--radius-md)}.menu-toggle:hover{color:var(--primary-600);background:var(--color-surface-hover)}.navbar-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-muted);border-radius:var(--radius-md);border:1px solid var(--color-border);flex:1;max-width:400px}.navbar-search .search-icon{color:var(--color-text-secondary);font-size:var(--text-base)}.navbar-search .search-input{flex:1;border:none;background:transparent;padding:0;font-size:var(--text-sm);color:var(--color-text-primary);outline:none}.navbar-search .search-input::placeholder{color:var(--color-text-tertiary)}.navbar-search:focus-within{border-color:var(--primary-500);background:var(--color-surface)}.navbar-icon-btn{width:36px;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);transition:all var(--transition-base)}.navbar-icon-btn:hover{background:var(--color-muted);color:var(--primary-600)}.navbar-action-btn{height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-base);white-space:nowrap}.navbar-action-btn:hover{background:var(--color-muted);color:var(--primary-600)}.navbar-action-btn .anticon{font-size:var(--text-lg)}.navbar-monitor-btn{height:38px;border-radius:var(--radius-lg);border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1;transition:all var(--transition-base);white-space:nowrap;box-shadow:0 2px 6px #6366f159}.navbar-monitor-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 12px #6366f173;transform:translateY(-1px)}.navbar-monitor-btn:active{transform:translateY(0);box-shadow:0 2px 6px #6366f159}.navbar-monitor-btn .anticon,.navbar-monitor-btn .btn-text{color:#fff}.navbar-monitor-btn .anticon{font-size:var(--text-lg)}@media (max-width: 1199px){.navbar-action-btn .btn-text,.navbar-monitor-btn .btn-text{display:none}.navbar-action-btn,.navbar-monitor-btn{width:38px;padding:0}}.top-navbar-right{display:flex;align-items:center;gap:var(--space-4)}.user-menu{cursor:pointer;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);transition:background var(--transition-base)}.user-menu:hover{background:var(--color-surface-hover)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold)}.user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.main-wrapper{flex:1;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-base)}.sidebar.collapsed~.main-wrapper{margin-left:var(--sidebar-collapsed-width)}.main-content{margin-top:var(--topbar-height);padding:var(--space-6);min-height:calc(100vh - var(--topbar-height));max-width:100%;box-sizing:border-box}.ant-table-content{overflow-x:auto}.app-footer{padding:var(--space-4);text-align:right;color:var(--color-text-tertiary);font-size:var(--text-xs);border-top:1px solid var(--color-border);margin-top:var(--space-8)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.page-header-content h1,.page-header-content h2,.page-header-content h3{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0}.page-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-1)}.filter-bar{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.filter-bar label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-medium);margin-right:var(--space-2)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.chart-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4)}.page-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.tab-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.tab-section .ant-tabs-nav{padding:0 var(--space-5);margin:0}.tab-section .ant-table-wrapper{padding:0 var(--space-5) var(--space-5)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-wrapper{margin-left:0}.top-navbar{left:0;padding:0 var(--space-4)}.quick-actions{display:none}.stats-grid{grid-template-columns:1fr}.main-content{padding:var(--space-4)}}.excel-del-row-blocked>td{background:#fef2f2!important}.excel-del-row-blocked>td:first-child{box-shadow:inset 3px 0 #dc2626}.excel-del-row-ok>td:first-child{box-shadow:inset 3px 0 #16a34a}
