@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");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-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");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-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");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-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");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-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");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-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");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-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");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-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");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-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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}:root{--color-primary: #5B4FE8;--color-primary-dark: #4338CA;--color-primary-light: #EDE9FF;--color-primary-glow: rgba(91, 79, 232, .2);--color-accent: #06D6A0;--color-accent-dark: #059669;--color-accent-light: #D1FAF0;--color-sidebar-bg: #1A1744;--color-sidebar-hover: #252060;--color-sidebar-active: #2D2870;--color-sidebar-border: rgba(255,255,255,.06);--color-sidebar-text: #A8A4D4;--color-sidebar-text-active: #FFFFFF;--color-sidebar-icon: #7B77B8;--color-success: #10B981;--color-success-light: #D1FAE5;--color-error: #EF4444;--color-error-light: #FEE2E2;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-info: #3B82F6;--color-info-light: #DBEAFE;--bg-page: #F5F4FF;--bg-card: #FFFFFF;--bg-card-hover: #FDFCFF;--bg-input: #F8F7FF;--bg-overlay: rgba(26, 23, 68, .5);--text-primary: #1A1744;--text-secondary: #6B7280;--text-muted: #9CA3AF;--text-inverse: #FFFFFF;--text-link: #5B4FE8;--border-color: #E5E3FA;--border-light: #EDE9FF;--border-focus: #5B4FE8;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Courier New", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 30px;--text-5xl: 36px;--text-6xl: 48px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.75;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(91,79,232,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(91,79,232,.1), 0 2px 4px rgba(0,0,0,.05);--shadow-lg: 0 10px 30px rgba(91,79,232,.12), 0 4px 8px rgba(0,0,0,.06);--shadow-xl: 0 20px 60px rgba(91,79,232,.15), 0 8px 16px rgba(0,0,0,.08);--shadow-glow: 0 0 20px rgba(91,79,232,.3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--gradient-primary: linear-gradient(135deg, #5B4FE8 0%, #7C3AED 100%);--gradient-accent: linear-gradient(135deg, #06D6A0 0%, #059669 100%);--gradient-hero: linear-gradient(135deg, #1A1744 0%, #2D1B69 50%, #4338CA 100%);--gradient-card: linear-gradient(145deg, #ffffff 0%, #f5f4ff 100%);--gradient-sidebar: linear-gradient(180deg, #1A1744 0%, #150f3a 100%);--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--topbar-height: 60px;--content-max-width: 1200px}[data-theme=dark]{--bg-page: #0F0D27;--bg-card: #1A1744;--bg-card-hover: #1E1B4B;--bg-input: #13103A;--text-primary: #F0EEFF;--text-secondary: #A8A4D4;--text-muted: #6B77A4;--border-color: rgba(255,255,255,.08);--border-light: rgba(255,255,255,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 10px 30px rgba(0,0,0,.5)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-slow),color var(--transition-slow)}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{line-height:var(--leading-relaxed)}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;display:block}label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);display:block;margin-bottom:var(--space-2)}input,textarea,select{font-family:var(--font-family);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;transition:all var(--transition-fast);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--border-focus);background-color:var(--bg-card);box-shadow:0 0 0 3px var(--color-primary-glow)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}button{font-family:var(--font-family);font-weight:var(--weight-semibold);cursor:pointer;border:none;transition:all var(--transition-base);outline:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1;transition:all var(--transition-base);cursor:pointer;border:none;white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 14px #5b4fe859}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5b4fe873}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-primary-light);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:#ddd8ff}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-light)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--border-light);color:var(--text-primary)}.btn-accent{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 14px #06d6a04d}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #06d6a066}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-sm);width:36px;height:36px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.3px;text-transform:uppercase}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-accent{background:var(--color-accent-light);color:var(--color-accent-dark)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-muted{background:var(--border-light);color:var(--text-secondary)}.role-owner{background:linear-gradient(135deg,gold,orange);color:#7a4500}.role-admin{background:var(--color-primary-light);color:var(--color-primary)}.role-member{background:var(--border-light);color:var(--text-secondary)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--weight-semibold);background:var(--gradient-primary);color:#fff;flex-shrink:0;overflow:hidden}.avatar-xs{width:24px;height:24px;font-size:var(--text-xs)}.avatar-sm{width:32px;height:32px;font-size:var(--text-sm)}.avatar-md{width:40px;height:40px;font-size:var(--text-base)}.avatar-lg{width:56px;height:56px;font-size:var(--text-xl)}.avatar-xl{width:80px;height:80px;font-size:var(--text-3xl)}.avatar-2xl{width:112px;height:112px;font-size:var(--text-4xl)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary)}.form-input{font-family:var(--font-family);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;transition:all var(--transition-fast);outline:none}.form-input:focus{border-color:var(--border-focus);background-color:var(--bg-card);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px #ef444426}.form-error{font-size:var(--text-sm);color:var(--color-error);display:flex;align-items:center;gap:var(--space-1)}.form-hint{font-size:var(--text-sm);color:var(--text-muted)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid transparent}.alert-error{background:var(--color-error-light);border-color:#fca5a5;color:#991b1b}.alert-success{background:var(--color-success-light);border-color:#6ee7b7;color:#065f46}.alert-warning{background:var(--color-warning-light);border-color:#fcd34d;color:#92400e}.alert-info{background:var(--color-info-light);border-color:#93c5fd;color:#1e40af}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--transition-fast)}.modal{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-8);width:100%;max-width:480px;animation:slideUp var(--transition-base)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.modal-title{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.modal-close{width:32px;height:32px;border-radius:var(--radius-full);background:var(--bg-page);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);color:var(--text-secondary);transition:background var(--transition-fast)}.modal-close:hover{background:var(--border-color)}.modal-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border-color)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.spinner-dark{border:2px solid var(--border-color);border-top-color:var(--color-primary)}.divider{border:none;border-top:1px solid var(--border-color);margin:var(--space-4) 0}.divider-text{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.divider-text:before,.divider-text:after{content:"";flex:1;border-top:1px solid var(--border-color)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;gap:var(--space-4)}.empty-state-icon{font-size:48px;opacity:.4}.empty-state-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-primary)}.empty-state-desc{font-size:var(--text-base);color:var(--text-secondary);max-width:360px}.tabs{display:flex;gap:var(--space-1);border-bottom:2px solid var(--border-color);margin-bottom:var(--space-6)}.tab{padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab:hover{color:var(--color-primary);background:var(--color-primary-light)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--weight-semibold)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.page-title{font-size:var(--text-3xl);font-weight:var(--weight-bold)}.page-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-top:var(--space-1)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary-color{color:var(--color-primary)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.detail-container{padding:2rem;max-width:1400px;margin:0 auto}.two-column-layout{display:flex;gap:2rem;align-items:flex-start}.left-sidebar{flex:0 0 360px;width:360px}.right-content{flex:1;min-width:0}.sticky-top{position:sticky;top:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideUp{animation:slideUp var(--transition-base) ease-out}.animate-slideDown{animation:slideDown var(--transition-base) ease-out}.animate-shake{animation:shake .4s ease-in-out}.animate-spin{animation:spin .7s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}
