@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--color-bg-primary:#0a0a0f;--color-bg-secondary:#13131a;--color-bg-tertiary:#1a1a24;--color-bg-glass:rgba(26,26,36,0.7);--color-primary:#8b5cf6;--color-primary-light:#a78bfa;--color-primary-dark:#7c3aed;--color-accent:#06b6d4;--color-accent-light:#22d3ee;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:rgba(148,163,184,0.1);--color-border-hover:rgba(148,163,184,0.2);--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--gradient-primary:linear-gradient(135deg,#8b5cf6,#06b6d4);--gradient-secondary:linear-gradient(135deg,#667eea,#764ba2);--gradient-accent:linear-gradient(135deg,#f093fb,#f5576c);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1);--shadow-glow:0 0 30px rgba(139,92,246,0.3);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background:radial-gradient(ellipse at top,rgba(139,92,246,.15) 0,transparent 50%),radial-gradient(ellipse at bottom,rgba(6,182,212,.15) 0,transparent 50%),var(--color-bg-primary)}a{color:inherit;text-decoration:none}.glass-card{background:var(--color-bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);transition:all var(--transition-base)}.glass-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-xl),var(--shadow-glow);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:white;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;background:var(--gradient-primary);color:white;box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-base);outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.button-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-1px)}.button-primary:active:not(:disabled){transform:translateY(0)}.button-primary:disabled{cursor:not-allowed}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem;font-family:inherit;outline:none;transition:all var(--transition-base)}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(139,92,246,.1)}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table thead{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.table th{text-align:left;font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.table td,.table th{padding:var(--spacing-md)}.table td{border-bottom:1px solid var(--color-border)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:var(--color-bg-tertiary)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.selected{background:rgba(139,92,246,.1)}.checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.success-pulse{animation:successPulse .3s ease-out}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.gap-1{gap:var(--spacing-sm)}.gap-2{gap:var(--spacing-md)}.gap-3{gap:var(--spacing-lg)}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}