:root{--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-muted: #cbd5e1;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-quaternary: #e2e8f0;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: #93c5fd;--success: #059669;--success-bg: #d1fae5;--warning: #d97706;--warning-bg: #fef3c7;--error: #dc2626;--error-bg: #fee2e2;--border-light: #f1f5f9;--border-default: #e2e8f0;--border-medium: #cbd5e1;--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;--space-20: 80px;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro", "Segoe UI", system-ui, sans-serif;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-modal: 1050}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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)}#root{min-height:100vh}.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)}.font-regular{font-weight:var(--font-regular)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-accent{background-color:var(--accent)}.border-light{border-color:var(--border-light)}.border-default{border-color:var(--border-default)}.border-medium{border-color:var(--border-medium)}.border-accent{border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background-color:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:transparent;color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--border-medium)}.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.btn-danger{background-color:transparent;color:var(--error);border-color:var(--border-default)}.btn-danger:hover{background-color:var(--error-bg)}.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-default);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card-hover{background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:all var(--transition-base)}.card-hover:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}.input:hover{border-color:var(--border-medium)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.input::placeholder{color:var(--text-tertiary)}.input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-tertiary)}label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}textarea.input{resize:vertical;min-height:100px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-info{background-color:#3b82f61a;color:var(--accent)}.badge-success{background-color:var(--success-bg);color:var(--success)}.badge-warning{background-color:var(--warning-bg);color:var(--warning)}.badge-error{background-color:var(--error-bg);color:var(--error)}.alert{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid}.alert-success{background-color:var(--success-bg);border-color:var(--success);color:var(--success)}.alert-warning{background-color:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.alert-error{background-color:var(--error-bg);border-color:var(--error);color:var(--error)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default)}.table td{padding:var(--space-4);border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:var(--text-sm)}.table tr:hover{background-color:var(--bg-secondary)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.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-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.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-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--transition-base)}
