:root{--primary-50: #f8fafc;--primary-100: #f1f5f9;--primary-200: #e2e8f0;--primary-300: #cbd5e1;--primary-400: #94a3b8;--primary-500: #64748b;--primary-600: #475569;--primary-700: #334155;--primary-800: #1e293b;--primary-900: #0f172a;--accent-500: #3b82f6;--accent-600: #2563eb;--accent-700: #1d4ed8;--success-50: #f0fdf4;--success-500: #10b981;--success-600: #059669;--warning-50: #fffbeb;--warning-500: #f59e0b;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-dark: #0f172a;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-dark: #94a3b8;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .05), 0 2px 4px -1px rgba(15, 23, 42, .03);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .05), 0 4px 6px -2px rgba(15, 23, 42, .03);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .05), 0 10px 10px -5px rgba(15, 23, 42, .02);--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;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, Monaco, "Courier New", 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-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--sidebar-width: 280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:-.025em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--accent-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--accent-600);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--accent-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-light)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-medium);color:var(--text-primary)}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-danger{background-color:var(--error-500);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--error-600)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.card{background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light);background-color:var(--bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--text-muted)}.form-input-error{border-color:var(--error-500);background-color:var(--error-50)}.form-error-message{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--error-600)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-light)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th{padding:var(--space-4) var(--space-5);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light);text-align:left}.data-table td{padding:var(--space-4) var(--space-5);color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:var(--bg-secondary)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full)}.badge-success{background-color:var(--success-50);color:var(--success-600)}.badge-warning{background-color:var(--warning-50);color:var(--warning-500)}.badge-error{background-color:var(--error-50);color:var(--error-600)}.badge-neutral{background-color:var(--bg-tertiary);color:var(--text-tertiary)}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border-left:4px solid}.alert-error{background-color:var(--error-50);border-color:var(--error-500);color:var(--error-600)}.alert-success{background-color:var(--success-50);border-color:var(--success-500);color:var(--success-600)}.divider{height:1px;background-color:var(--border-light);margin:var(--space-6) 0}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot-success{background-color:var(--success-500)}.status-dot-warning{background-color:var(--warning-500)}.status-dot-error{background-color:var(--error-500)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@media (max-width: 768px){:root{--sidebar-width: 100%}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}}
