@font-face{font-family:Geist;src:url(/Geist/Geist-VariableFont_wght.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-Thin.ttf) format("truetype");font-style:normal;font-weight:100;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-ThinItalic.ttf) format("truetype");font-style:italic;font-weight:100;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-ExtraLight.ttf) format("truetype");font-style:normal;font-weight:200;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-ExtraLightItalic.ttf) format("truetype");font-style:italic;font-weight:200;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-Light.ttf) format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-LightItalic.ttf) format("truetype");font-style:italic;font-weight:300;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-Italic.ttf) format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-Medium.ttf) format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-MediumItalic.ttf) format("truetype");font-style:italic;font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-SemiBold.ttf) format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-SemiBoldItalic.ttf) format("truetype");font-style:italic;font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-Bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/IBM_Plex_Mono/IBMPlexMono-BoldItalic.ttf) format("truetype");font-style:italic;font-weight:700;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;height:100%}:root{--color-primary: #007bff;--color-primary-hover: #0056b3;--color-primary-light: #e7f1ff;--color-secondary: #6c757d;--color-secondary-hover: #545b62;--color-accent: #17a2b8;--color-accent-hover: #138496;--color-success: #28a745;--color-danger: #dc3545;--color-warning: #ffc107;--color-info: #17a2b8;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f8f9fa;--color-gray-100: #f0f0f0;--color-gray-200: #e9ecef;--color-gray-300: #dee2e6;--color-gray-400: #ced4da;--color-gray-500: #adb5bd;--color-gray-600: #6c757d;--color-gray-700: #495057;--color-gray-800: #343a40;--color-gray-900: #212529;--color-background: var(--color-white);--surface-default: var(--color-white);--surface-muted: var(--color-gray-50);--border-color: var(--color-gray-200);--color-sidebar-bg: var(--color-secondary);--color-sidebar-border: var(--border-color);--color-sidebar-text: var(--color-white);--color-sidebar-text-hover: var(--color-white);--color-sidebar-hover-bg: rgba(255, 255, 255, .1);--color-sidebar-active-bg: rgba(255, 255, 255, .15);--color-sidebar-active-color: var(--color-primary);--color-sidebar-active-indicator: var(--color-primary);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-secondary: "Inter", sans-serif;--font-secondary-transform: none;--font-mono: "IBM Plex Mono", monospace;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-base: 1.6;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 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 rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--navbar-height: 60px;--footer-height: 50px;--sidebar-width: 250px;--sidebar-collapsed-width: 60px;--gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent));--gradient-subtle: linear-gradient(135deg, var(--color-gray-50), var(--color-gray-100));--chart-background: var(--color-gray-100);--chart-paper-background: var(--color-white);--chart-text-color: var(--color-gray-900);--chart-grid-color: var(--color-gray-200);--chart-axis-color: var(--color-gray-600);--chart-hover-background: var(--color-gray-50)}.btn,.btn-primary,.btn-secondary,.btn-outline-primary{position:relative;overflow:hidden}.sidebar-nav-link{border-left:4px solid transparent!important;border-radius:var(--radius-md)!important;margin-bottom:var(--spacing-xs)!important;transition:all var(--transition-fast)!important}.nav-link,.nav-link:hover,.sidebar-nav-link:hover,.btn:hover,.btn-primary:hover,.btn-secondary:hover{transition:all var(--transition-fast)!important}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}body{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-gray-900);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-gray-900);margin-bottom:var(--spacing-sm)}h1,.h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2,.h2{font-size:var(--font-size-3xl)}h3,.h3{font-size:var(--font-size-2xl)}h4,.h4{font-size:var(--font-size-xl)}h5,.h5{font-size:var(--font-size-lg)}h6,.h6{font-size:var(--font-size-base)}.card{background-color:var(--surface-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);border:1px solid var(--border-color);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base);height:100%}.card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card-header{background-color:var(--surface-muted);padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);font-weight:var(--font-weight-semibold)}.card-body{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}fieldset.form-group{border:none;padding:0;margin:0 0 var(--spacing-md) 0}fieldset.form-group legend.form-label{padding:0;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700);display:block;width:100%}.form-section{margin-bottom:var(--spacing-xl)}.form-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin-bottom:var(--spacing-md)}.form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-primary);line-height:1.5;color:var(--color-gray-900);background-color:var(--surface-default);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a}.form-control.error{border-color:var(--color-accent)}.form-control:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.form-label{display:inline-block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.navbar{background-color:var(--surface-default);height:var(--navbar-height);border-bottom:1px solid var(--border-color);box-shadow:none;padding:0 var(--spacing-lg)}.navbar-brand{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);text-decoration:none}.nav-link{color:var(--color-gray-700);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast);text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--color-primary);background-color:var(--color-primary-light)}.sidebar{width:var(--sidebar-width);background-color:var(--color-sidebar-bg);min-height:calc(100vh - var(--navbar-height));padding:var(--spacing-lg);border-right:1px solid var(--color-sidebar-border)}.sidebar-nav{list-style:none;padding:0;margin:0}.sidebar-nav-item{margin-bottom:var(--spacing-xs)}.sidebar-nav-link{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-sidebar-text);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);text-decoration:none;border-left:3px solid transparent}.sidebar-nav-link:hover{background-color:var(--color-sidebar-hover-bg);color:var(--color-sidebar-text-hover)}.sidebar-nav-link.active{background-color:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-hover);border-left-color:var(--color-sidebar-active-indicator)}.table{width:100%;border-collapse:collapse}.table thead{background-color:var(--surface-muted)}.table th{padding:var(--spacing-md);font-weight:var(--font-weight-semibold);text-align:left;color:var(--color-gray-700);border-bottom:1px solid var(--border-color)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.table tbody tr:hover{background-color:var(--surface-muted)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.modal-content{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;z-index:10001}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-md);justify-content:flex-end}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid transparent;margin-bottom:var(--spacing-md)}.alert-success{background-color:#28a7451a;color:#155724;border-color:#28a74533}.alert-info{background-color:#17a2b81a;color:#0c5460;border-color:#17a2b833}.alert-danger{background-color:#dc35451a;color:#721c24;border-color:#dc354533}.alert-warning{background-color:#ffc1071a;color:#856404;border-color:#ffc10733}.upload-area{border:2px dashed var(--color-gray-300);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;background-color:var(--color-gray-50);transition:all var(--transition-base)}.upload-area:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.progress{height:1.25rem;background-color:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar{background-color:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:width var(--transition-base)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-white)}.btn{font-family:var(--font-primary);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;text-decoration:none;display:inline-block;cursor:pointer;transition:all .2s ease-in-out;text-align:center}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-white)}.btn-primary:disabled{background-color:var(--color-gray-300);border-color:var(--color-gray-300);color:var(--color-gray-600);cursor:not-allowed;opacity:.6}.btn-secondary{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover);color:var(--color-white)}.btn-secondary:disabled{background-color:var(--color-gray-300);border-color:var(--color-gray-300);color:var(--color-gray-600);cursor:not-allowed;opacity:.6}.btn-outline-primary{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline-primary:hover:not(:disabled){background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.btn-outline-primary:disabled{background-color:transparent;border-color:var(--color-gray-300);color:var(--color-gray-500);cursor:not-allowed;opacity:.6}.btn-outline-secondary{background-color:transparent;border-color:var(--color-secondary);color:var(--color-secondary)}.btn-outline-secondary:hover:not(:disabled){background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-white)}.btn-outline-secondary:disabled{background-color:transparent;border-color:var(--color-gray-300);color:var(--color-gray-500);cursor:not-allowed;opacity:.6}.btn-sm{padding:.25rem .75rem;font-size:.75rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.text-primary{color:var(--color-primary)!important}.text-secondary{color:var(--color-secondary)!important}.text-muted{color:var(--color-gray-600)!important}.bg-primary{background-color:var(--color-primary)!important}.bg-secondary{background-color:var(--color-secondary)!important}.bg-light{background-color:var(--color-gray-50)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}@media(max-width:768px){.sidebar{width:100%;min-height:auto;border-right:none;border-bottom:1px solid var(--border-color)}.navbar{padding:0 var(--spacing-md)}}.wfull{width:100%}.grow{flex-grow:1}.min-w75{min-width:75px}.min-w100{min-width:100px}.min-w125{min-width:125px}.min-w150{min-width:150px}.min-w200{min-width:200px}.min-w250{min-width:250px}.min-w300{min-width:300px}.min-w320{min-width:320px}.min-w325{min-width:325px}.min-w350{min-width:350px}.min-w380{min-width:380px}.min-w400{min-width:400px}.min-w500{min-width:500px}.min-h120{min-height:120px}.min-h150{min-height:150px}.min-h180{min-height:180px}.min-h200{min-height:200px}.min-h220{min-height:220px}.min-h250{min-height:250px}.min-h300{min-height:300px}.min-h400{min-height:400px}.min-h500{min-height:500px}.min-h800{min-height:800px}.theme-toggle.svelte-1imal63{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:var(--spacing-sm, .5rem);background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md, .375rem);color:var(--color-gray-600, #6b7280);cursor:pointer;transition:all var(--transition-fast, .15s ease-in-out)}.theme-toggle.svelte-1imal63:hover{background-color:var(--color-gray-100, #f3f4f6);color:var(--color-gray-900, #111827);border-color:var(--color-gray-300, #d1d5db)}.theme-toggle.svelte-1imal63:focus-visible{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.theme-dropdown.svelte-1imal63{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background:var(--surface-default, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md, .375rem);color:var(--color-gray-900, #111827);font-size:var(--font-size-sm, .875rem);cursor:pointer;transition:all var(--transition-fast, .15s ease-in-out)}.theme-dropdown.svelte-1imal63:hover{border-color:var(--color-gray-300, #d1d5db)}.theme-dropdown.svelte-1imal63:focus-visible{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}html,body{overscroll-behavior:none}.theme-switcher-hidden.svelte-12qhfyh{display:none}.app-shell.svelte-12qhfyh{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app-content.svelte-12qhfyh{flex:1;min-height:0;overflow:auto;overscroll-behavior-y:none;display:flex;flex-direction:column;padding:var(--spacing-md);padding-bottom:var(--spacing-md);touch-action:pan-x pan-y;position:relative}.layout-logo.svelte-12qhfyh{flex-shrink:0;align-self:flex-start}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#ffffff59}
