:root{--color-primary: #0066cc;--color-primary-dark: #004999;--color-primary-light: #3399ff;--color-secondary: #6b46c1;--color-secondary-dark: #553c9a;--color-secondary-light: #9f7aea;--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #34d399;--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-light: #f87171;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fbbf24;--color-info: #3b82f6;--color-info-dark: #2563eb;--color-info-light: #60a5fa;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-white: #ffffff;--color-black: #000000;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-dark: #1f2937;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-dark: #9ca3af;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "Fira Code", "Courier New", monospace;--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;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--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, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-gray-200);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-300)}.btn-danger{background-color:var(--color-error);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark)}.btn-success{background-color:var(--color-success);color:var(--text-inverse)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-primary);color:var(--text-primary);background-color:var(--bg-primary);transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0066cc1a}.input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}.card-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.badge-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.badge-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.badge-gray{background-color:var(--color-gray-200);color:var(--color-gray-700)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid;display:flex;align-items:flex-start;gap:var(--spacing-sm)}.alert-success{background-color:#d1fae5;border-left-color:var(--color-success);color:var(--color-success-dark)}.alert-error{background-color:#fee2e2;border-left-color:var(--color-error);color:var(--color-error-dark)}.alert-warning{background-color:#fef3c7;border-left-color:var(--color-warning);color:var(--color-warning-dark)}.alert-info{background-color:#dbeafe;border-left-color:var(--color-info);color:var(--color-info-dark)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center}.modal{background-color:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:90%;max-height:90vh;overflow-y:auto;z-index:var(--z-modal)}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-light)}.table th{font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--font-size-sm);background-color:var(--bg-tertiary)}.table tbody tr:hover{background-color:var(--bg-secondary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-sm)}.gap-4{gap:var(--spacing-md)}.mt-2{margin-top:var(--spacing-sm)}.mt-4{margin-top:var(--spacing-md)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-4{margin-bottom:var(--spacing-md)}.p-4{padding:var(--spacing-md)}.p-6{padding:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.rounded{border-radius:var(--radius-md)}.shadow{box-shadow:var(--shadow-md)}
