@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}:root{--color-primary: #7C3AED;--color-primary-hover: #6D28D9;--color-primary-light: #EDE9FE;--color-primary-fg: #FFFFFF;--color-accent: #06B6D4;--color-accent-hover: #0891B2;--color-accent-fg: #FFFFFF;--color-success: #16A34A;--color-success-light: #DCFCE7;--color-success-fg: #FFFFFF;--color-warning: #D97706;--color-warning-light: #FEF3C7;--color-warning-fg: #FFFFFF;--color-error: #DC2626;--color-error-light: #FEE2E2;--color-error-fg: #FFFFFF;--color-info: #2563EB;--color-info-light: #DBEAFE;--color-info-fg: #FFFFFF;--color-bg: #F8FAFC;--color-surface: #FFFFFF;--color-surface-2: #F1F5F9;--color-surface-3: #E2E8F0;--color-overlay: rgba(15, 23, 42, .5);--color-text: #0F172A;--color-text-secondary: #475569;--color-text-muted: #94A3B8;--color-text-disabled: #CBD5E1;--color-text-on-primary: #FFFFFF;--color-border: #E2E8F0;--color-border-hover: #CBD5E1;--color-border-focus: #7C3AED;--color-shell-bg: #ECEEF3;--color-sidebar-bg: #ECEEF3;--color-sidebar-text: #64748B;--color-sidebar-hover: rgba(0, 0, 0, .06);--color-sidebar-active: rgba(124, 58, 237, .1);--color-sidebar-active-text: #6D28D9;--color-sidebar-logo: #0F172A;--color-sidebar-label: #94A3B8;--color-sidebar-divider: rgba(0, 0, 0, .07);--color-sidebar-user-name: #0F172A;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--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;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--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;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--sidebar-width: 260px;--header-height: 64px;--content-max-w: 1280px;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-modal-dropdown: 450;--z-toast: 500}[data-theme=dark]{--color-bg: #0F172A;--color-surface: #1E293B;--color-surface-2: #273548;--color-surface-3: #334155;--color-overlay: rgba(0, 0, 0, .6);--color-text: #F1F5F9;--color-text-secondary: #94A3B8;--color-text-muted: #64748B;--color-text-disabled: #475569;--color-border: #334155;--color-border-hover: #475569;--color-border-focus: #7C3AED;--color-shell-bg: #0B1220;--color-sidebar-bg: #0B1220;--color-sidebar-text: #C4B5FD;--color-sidebar-hover: rgba(124, 58, 237, .15);--color-sidebar-active: #7C3AED;--color-sidebar-active-text: #FFFFFF;--color-sidebar-logo: #FFFFFF;--color-sidebar-label: rgba(196, 181, 253, .5);--color-sidebar-divider: rgba(255, 255, 255, .08);--color-sidebar-user-name: #FFFFFF;--color-primary-light: rgba(124, 58, 237, .15);--color-success-light: rgba(22, 163, 74, .15);--color-warning-light: rgba(217, 119, 6, .15);--color-error-light: rgba(220, 38, 38, .15);--color-info-light: rgba(37, 99, 235, .15);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}img,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none}#root,#__next{isolation:isolate}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}h1{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight)}h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h3{font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h4{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-normal)}h5{font-size:var(--text-base);font-weight:var(--font-semibold)}h6{font-size:var(--text-sm);font-weight:var(--font-semibold)}.page-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);line-height:var(--leading-tight)}.section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.caption{font-size:var(--text-xs);color:var(--color-text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.flex-1{flex:1}.flex-none{flex:none}.grid{display:grid}.block{display:block}.inline{display:inline}.inline-flex{display:inline-flex}.hidden{display:none}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.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-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.m-auto{margin:auto}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.transition{transition:all var(--transition-base)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.divider{height:1px;background:var(--color-border);width:100%}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap}.badge--default{background:var(--color-surface-2);color:var(--color-text-secondary)}.badge--primary{background:var(--color-primary-light);color:var(--color-primary)}.badge--success{background:var(--color-success-light);color:var(--color-success)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.badge--error{background:var(--color-error-light);color:var(--color-error)}.badge--info{background:var(--color-info-light);color:var(--color-info)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.card__header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.card__body{padding:var(--space-6)}.card__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-2);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.container{width:100%;max-width:var(--content-max-w);margin:0 auto;padding:0 var(--space-6)}.app-shell{display:flex;height:100dvh;background:var(--color-shell-bg)}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;position:fixed;top:0;left:0;height:100dvh;z-index:var(--z-sticky);transition:transform var(--transition-base)}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.sidebar__logo{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--color-sidebar-divider)}.sidebar__logo .logo-icon{width:36px;height:36px;background:var(--color-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:var(--text-lg);flex-shrink:0}.sidebar__logo .logo-text{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-sidebar-logo);letter-spacing:-.01em}.sidebar__nav{flex:1;padding:var(--space-3) 0;overflow-y:auto;min-height:0}.sidebar__section-label{font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-sidebar-label);padding:var(--space-4) var(--space-5) var(--space-2)}.sidebar__link{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-5);color:var(--color-sidebar-text);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-fast),color var(--transition-fast);cursor:pointer;text-decoration:none;margin:2px var(--space-3);border-radius:var(--radius-md)}.sidebar__link .nav-icon{width:20px;height:20px;flex-shrink:0;opacity:.7}.sidebar__link:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-active-text)}.sidebar__link:hover .nav-icon{opacity:1}.sidebar__link.active{background:var(--color-sidebar-active);color:var(--color-sidebar-active-text)}.sidebar__link.active .nav-icon{opacity:1}.sidebar__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-sidebar-divider)}.sidebar__user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.sidebar__user:hover{background:var(--color-sidebar-hover)}.sidebar__user .avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--text-sm);flex-shrink:0}.sidebar__user .user-info{flex:1;overflow:hidden}.sidebar__user .user-info .name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-sidebar-user-name);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user .user-info .email{font-size:var(--text-xs);color:var(--color-sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;min-height:0;margin:8px 8px 8px calc(var(--sidebar-width) + 8px);display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden}@media(max-width:768px){.main-content{margin:0;border-radius:0}}.mobile-topbar{display:none;align-items:center;justify-content:space-between;padding:0 var(--space-4);height:52px;border-bottom:1px solid var(--color-border);flex-shrink:0}@media(max-width:768px){.mobile-topbar{display:flex}}.mobile-topbar .mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:background var(--transition-fast)}.mobile-topbar .mobile-menu-btn:hover{background:var(--color-surface-2)}.page-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:var(--space-6);overflow-x:hidden}.page-content--centered{align-items:center;justify-content:center}.auth-shell{min-height:100vh;display:flex;background:var(--color-bg)}.auth-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-xl)}.auth-card__logo{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-8)}.auth-card__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);text-align:center;margin-bottom:var(--space-2)}.auth-card__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-6)}.sidebar-overlay{position:fixed;inset:0;background:var(--color-overlay);z-index:calc(var(--z-sticky) - 1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:var(--font-medium);border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;border:1px solid transparent;font-family:inherit;line-height:1}.btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.btn--sm{padding:6px 12px;font-size:var(--text-sm)}.btn--md{padding:9px 16px;font-size:var(--text-sm)}.btn--lg{padding:11px 20px;font-size:var(--text-base)}.btn--primary{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--primary:active:not(:disabled){opacity:.9}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-border-hover)}.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline:hover:not(:disabled){background:var(--color-primary-light)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn--danger{background:var(--color-error);color:var(--color-error-fg);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){opacity:.88}.btn:disabled,.btn--loading{opacity:.55;cursor:not-allowed;pointer-events:none}.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:360px}.toast{pointer-events:all;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:var(--space-3);animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast--success{border-left:3px solid var(--color-success)}.toast--error{border-left:3px solid var(--color-error)}.toast--warning{border-left:3px solid var(--color-warning)}.toast--info{border-left:3px solid var(--color-info)}.modal-backdrop{position:fixed;inset:0;background:var(--color-overlay);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:520px;max-height:80dvh;overflow-y:auto;animation:modal-in .2s ease;z-index:var(--z-modal)}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.modal__header h2,.modal__header h3{margin:0}.modal__body{padding:var(--space-6)}.modal__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-2);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.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-3)}.empty-state__icon{width:64px;height:64px;color:var(--color-text-muted);margin-bottom:var(--space-2)}.empty-state__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.empty-state__desc{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:320px}.status-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.status-chip:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.status-chip--requested{background:var(--color-info-light);color:var(--color-info)}.status-chip--confirmed{background:var(--color-success-light);color:var(--color-success)}.status-chip--cancelled{background:var(--color-surface-2);color:var(--color-text-muted)}.status-chip--rejected{background:var(--color-error-light);color:var(--color-error)}@media(max-width:768px){input,select,textarea{font-size:16px}}
