@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Mulish:wght@300;400;500;600;700&display=swap";.data-table-container{width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin-bottom:1.5rem}.data-table-title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.data-table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.data-table-pagination{display:flex;align-items:center;gap:.75rem}.data-table-pagination button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.9rem}.data-table-pagination button:hover:not(:disabled){background-color:#e5e5e5}.data-table-pagination button:disabled{color:#999;cursor:not-allowed}.data-table-pagesize{display:flex;align-items:center}.data-table-pagesize label{font-size:.9rem;display:flex;align-items:center;gap:.5rem}.data-table-pagesize select{padding:.25rem;border-radius:4px;border:1px solid #ddd}.data-table-wrapper{overflow-x:auto;border:1px solid #ddd;border-radius:4px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}.data-table th{background-color:#f5f5f5;font-weight:600;cursor:pointer;user-select:none}.data-table th:hover{background-color:#e5e5e5}.data-table th.sorted-asc,.data-table th.sorted-desc{background-color:#e0e0e0}.data-table .sort-indicator{display:inline-block;margin-left:.25rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:#f9f9f9}.data-table td.no-data{text-align:center;padding:2rem;color:#777}.data-table-footer{margin-top:.5rem;font-size:.9rem;color:#777;text-align:right}:root{line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{width:100%!important;margin:0!important;padding:0!important;min-width:320px;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#0d1117;color:#c9d1d9;line-height:1.6;overflow-x:hidden}html,body,#root{width:100%!important;margin:0;padding:0}#root{min-height:100vh}.app,.app-public{width:100%!important;min-height:100vh;display:flex;flex-direction:column;align-items:stretch}main{flex:1;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#21262d;border-radius:8px}::-webkit-scrollbar-thumb{background-color:#30363d;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:#58a6ff}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #58a6ff;outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--color-primary: #58a6ff;--color-primary-light: #80bfff;--color-primary-dark: #3d8bdb;--color-secondary: #a371f7;--color-success: #3fb950;--color-info: #58a6ff;--color-warning: #d29922;--color-danger: #f85149;--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-sidebar: #0d1117;--bg-header: #161b22;--bg-card: #161b22;--text-primary: #c9d1d9;--text-secondary: #8b949e;--text-muted: #484f58;--text-link: #58a6ff;--border-color: #30363d;--border-color-light: #21262d;--border-color-dark: #484f58;--brand-primary: #58a6ff;--brand-secondary: #a371f7;--brand-accent: #3fb950;--brand-background: #0d1117;--brand-text: #c9d1d9;--brand-font-family: "JetBrains Mono", "Fira Code", "Consolas", monospace;--brand-heading-family: "Inter", "Segoe UI", system-ui, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-monospace: "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: 1rem;--radius-round: 50%;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--transition-fast: .15s;--transition-normal: .3s;--transition-slow: .5s;--header-height: 4rem;--sidebar-width: 16rem;--sidebar-collapsed-width: 4.5rem;--max-container-width: 1200px;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--animation-duration: .2s;--focus-ring-width: 2px}html{width:100%;height:100%}html[data-theme=dark],html:not([data-theme]){color-scheme:dark}body{width:100%;font-family:var(--font-family-base);color:var(--text-primary);background-color:var(--bg-primary);margin:0;padding:0;height:100%}#root{width:100%;height:100vh;min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion){*{transition:none!important;animation:none!important}}:root{--brand-primary: #4A90E2;--brand-secondary: #F5A623;--brand-accent: #10B981;--brand-background: #FFFFFF;--brand-text: #1F2023;--brand-font-family: "Inter", system-ui, sans-serif;--brand-heading-family: var(--brand-font-family);--bg-primary: var(--brand-background);--bg-secondary: color-mix(in srgb, var(--brand-background) 95%, var(--brand-text));--bg-tertiary: color-mix(in srgb, var(--brand-background) 90%, var(--brand-text));--bg-card: var(--surface-card);--accent-primary: var(--brand-primary);--accent-primary-hover: var(--action-primary-hover);--border-color: var(--border-default);--surface-bg: var(--brand-background);--surface-card: color-mix(in srgb, var(--brand-background) 97%, var(--brand-text));--surface-elevated: color-mix(in srgb, var(--brand-background) 95%, var(--brand-text));--surface-overlay: color-mix(in srgb, var(--brand-text) 50%, transparent);--surface-hover: color-mix(in srgb, var(--brand-primary) 8%, var(--brand-background));--action-primary: var(--brand-primary);--action-primary-hover: color-mix(in srgb, var(--brand-primary) 85%, black);--action-primary-active: color-mix(in srgb, var(--brand-primary) 75%, black);--action-primary-subtle: color-mix(in srgb, var(--brand-primary) 15%, var(--brand-background));--action-secondary: var(--brand-secondary);--action-secondary-hover: color-mix(in srgb, var(--brand-secondary) 85%, black);--action-secondary-subtle: color-mix(in srgb, var(--brand-secondary) 15%, var(--brand-background));--action-ghost: transparent;--action-ghost-hover: color-mix(in srgb, var(--brand-text) 8%, transparent);--status-success: #10B981;--status-success-subtle: color-mix(in srgb, #10B981 15%, var(--brand-background));--status-success-text: #065F46;--status-warning: #F59E0B;--status-warning-subtle: color-mix(in srgb, #F59E0B 15%, var(--brand-background));--status-warning-text: #92400E;--status-error: #EF4444;--status-error-subtle: color-mix(in srgb, #EF4444 15%, var(--brand-background));--status-error-text: #991B1B;--status-info: var(--brand-accent);--status-info-subtle: color-mix(in srgb, var(--brand-accent) 15%, var(--brand-background));--status-info-text: color-mix(in srgb, var(--brand-accent) 70%, black);--text-primary: var(--brand-text);--text-secondary: color-mix(in srgb, var(--brand-text) 80%, transparent);--text-muted: color-mix(in srgb, var(--brand-text) 65%, transparent);--text-disabled: color-mix(in srgb, var(--brand-text) 50%, transparent);--text-on-primary: #FFFFFF;--text-on-secondary: #FFFFFF;--text-link: var(--brand-primary);--text-link-hover: var(--action-primary-hover);--border-default: color-mix(in srgb, var(--brand-text) 12%, transparent);--border-strong: color-mix(in srgb, var(--brand-text) 20%, transparent);--border-subtle: color-mix(in srgb, var(--brand-text) 6%, transparent);--border-focus: var(--brand-primary);--border-error: var(--status-error);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 40%, transparent);--focus-ring-error: 0 0 0 3px color-mix(in srgb, var(--status-error) 40%, transparent);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-glass: 0 8px 32px 0 rgb(0 0 0 / .08);--font-sans: var(--brand-font-family);--font-heading: var(--brand-heading-family);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, 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;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}html[data-theme=dark],.dark{--brand-background: #0F172A;--brand-text: #F1F5F9;--bg-primary: var(--brand-background);--bg-secondary: color-mix(in srgb, var(--brand-background) 90%, white);--bg-tertiary: color-mix(in srgb, var(--brand-background) 85%, white);--surface-bg: var(--brand-background);--surface-card: color-mix(in srgb, var(--brand-background) 90%, white);--surface-elevated: color-mix(in srgb, var(--brand-background) 85%, white);--surface-overlay: color-mix(in srgb, black 70%, transparent);--surface-hover: color-mix(in srgb, var(--brand-primary) 15%, var(--brand-background));--action-primary-hover: color-mix(in srgb, var(--brand-primary) 85%, white);--action-primary-active: color-mix(in srgb, var(--brand-primary) 75%, white);--action-ghost-hover: color-mix(in srgb, var(--brand-text) 12%, transparent);--status-success-subtle: color-mix(in srgb, #10B981 20%, var(--brand-background));--status-success-text: #34D399;--status-warning-subtle: color-mix(in srgb, #F59E0B 20%, var(--brand-background));--status-warning-text: #FBBF24;--status-error-subtle: color-mix(in srgb, #EF4444 20%, var(--brand-background));--status-error-text: #F87171;--status-info-subtle: color-mix(in srgb, var(--brand-accent) 20%, var(--brand-background));--text-primary: var(--brand-text);--text-secondary: color-mix(in srgb, var(--brand-text) 85%, transparent);--text-muted: color-mix(in srgb, var(--brand-text) 70%, transparent);--text-disabled: color-mix(in srgb, var(--brand-text) 55%, transparent);--border-default: color-mix(in srgb, var(--brand-text) 15%, transparent);--border-strong: color-mix(in srgb, var(--brand-text) 25%, transparent);--border-subtle: color-mix(in srgb, var(--brand-text) 8%, transparent);--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-glass: 0 8px 32px 0 rgb(0 0 0 / .3)}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms}}@media(prefers-contrast:high){:root{--border-default: var(--brand-text);--border-strong: var(--brand-text);--text-secondary: var(--brand-text);--text-muted: color-mix(in srgb, var(--brand-text) 80%, transparent)}}
