*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0e1a;--bg-secondary: #151a2e;--bg-tertiary: #1f2947;--bg-hover: #2a3458;--bg-elevated: #232b42;--text-primary: #ffffff;--text-secondary: #b1bcd8;--text-muted: #6b7899;--text-disabled: #4a5568;--border-primary: #2d3748;--border-secondary: #4a5568;--border-accent: #3182f6;--accent-primary: #3182f6;--accent-primary-hover: #2563eb;--accent-secondary: #8b5cf6;--success-color: #10b981;--success-bg: #064e3b;--error-color: #ef4444;--error-bg: #7f1d1d;--warning-color: #f59e0b;--warning-bg: #78350f;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--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;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-mono: "SFMono-Regular", "Monaco", "Inconsolata", "Liberation Mono", monospace}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,textarea,select{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:8px;font-size:14px;font-family:var(--font-sans);transition:all .2s ease;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3182f61a;background:var(--bg-tertiary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:disabled,textarea:disabled,select:disabled{background:var(--bg-primary);color:var(--text-disabled);cursor:not-allowed;opacity:.6}button{background:var(--accent-primary);color:#fff;border:none;padding:var(--space-3) var(--space-5);border-radius:8px;font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;box-shadow:var(--shadow-sm)}button:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(0)}button:disabled{background:var(--bg-tertiary);color:var(--text-disabled);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.btn-danger{background:var(--error-color)}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-success{background:var(--success-color)}.btn-success:hover:not(:disabled){background:#059669}.btn-warning{background:var(--warning-color)}.btn-warning:hover:not(:disabled){background:#d97706}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-icon-primary{background:var(--accent-primary);color:#fff;padding:var(--space-3);min-height:auto;width:auto;height:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.btn-icon-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-icon-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);padding:var(--space-3);min-height:auto;width:auto;height:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.btn-icon-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.btn-icon-danger{background:var(--error-color);color:#fff;padding:var(--space-3);min-height:auto;width:auto;height:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.btn-icon-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{background:transparent;color:var(--text-secondary);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all .2s ease}.card:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.card-compact{padding:var(--space-4)}.card-elevated{background:var(--bg-elevated);box-shadow:var(--shadow-md)}.status-success{background:var(--success-bg);color:var(--success-color);border:1px solid var(--success-color);padding:var(--space-1) var(--space-3);border-radius:6px;font-size:12px;font-weight:500}.status-error{background:var(--error-bg);color:var(--error-color);border:1px solid var(--error-color);padding:var(--space-1) var(--space-3);border-radius:6px;font-size:12px;font-weight:500}.status-warning{background:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-color);padding:var(--space-1) var(--space-3);border-radius:6px;font-size:12px;font-weight:500}h1{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:var(--space-3)}h2{font-size:1.5rem;font-weight:600;line-height:1.3;margin-bottom:var(--space-3)}h3{font-size:1.25rem;font-weight:600;line-height:1.4;margin-bottom:var(--space-2)}.text-muted{color:var(--text-muted)}.text-error{color:var(--error-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.bg-error{background-color:var(--error-color)}.bg-success{background-color:var(--success-color)}.bg-warning{background-color:var(--warning-color)}.text-secondary{color:var(--text-secondary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-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)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.spinner{border:2px solid var(--bg-tertiary);border-top:2px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.empty-state svg{color:var(--text-muted);margin-bottom:var(--space-4)}.empty-state h3{color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state p{color:var(--text-muted);margin-bottom:var(--space-6)}@media (max-width: 768px){.card{padding:var(--space-4)}h1{font-size:1.75rem}h2{font-size:1.25rem}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-primary-hover)}::selection{background:var(--accent-primary);color:#fff}
