:root{--black-pure:#000;--black-rich:#050507;--black-card:#0a0a0f;--black-elevated:#111118;--black-surface:#16161f;--black-hover:#1c1c28;--black-border:#1f1f2e;--accent-primary:#6366f1;--accent-primary-hover:#818cf8;--accent-secondary:#8b5cf6;--accent-teal:#2dd4bf;--accent-blue:#3b82f6;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-cyan:#22d3ee;--gradient-primary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%);--gradient-success:linear-gradient(135deg, #10b981 0%, #2dd4bf 100%);--gradient-danger:linear-gradient(135deg, #f43f5e 0%, #fb7185 100%);--gradient-surface:linear-gradient(135deg, #6366f10d 0%, #8b5cf608 100%);--gradient-glow:radial-gradient(ellipse at 50% 0%, #6366f126 0%, transparent 60%);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--glass-bg:#ffffff08;--glass-bg-hover:#ffffff0f;--glass-border:#ffffff0f;--glass-border-hover:#ffffff1f;--glass-shadow:0 8px 32px #0006;--glass-shadow-lg:0 16px 48px #0009;--glass-blur:blur(20px);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);background:var(--black-pure);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{color:#fff;background:#6366f14d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #6366f133}50%{box-shadow:0 0 24px 4px #6366f126}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-fade-in-up{animation:.5s ease-out fadeInUp}.animate-fade-in-down{animation:.5s ease-out fadeInDown}.animate-slide-in-right{animation:.5s ease-out slideInRight}.animate-slide-in-left{animation:.5s ease-out slideInLeft}.animate-scale-in{animation:.3s ease-out scaleIn}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);transition:border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base)}.glass-card:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.glass-input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-base);background:#ffffff0a;padding:10px 14px;font-size:.875rem}.glass-input:hover{border-color:var(--glass-border-hover);background:#ffffff0f}.glass-input:focus{border-color:var(--accent-primary);background:#ffffff0f;outline:none;box-shadow:0 0 0 3px #6366f126}.glass-input::placeholder{color:var(--text-muted)}.glass-textarea{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);resize:vertical;min-height:120px;transition:all var(--transition-base);background:#ffffff0a;padding:12px 14px;font-size:.875rem;line-height:1.6}.glass-textarea:hover{border-color:var(--glass-border-hover)}.glass-textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f126}.glass-textarea::placeholder{color:var(--text-muted)}.btn-primary{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px #6366f14d}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);background:0 0;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:500;display:inline-flex}.btn-ghost:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--text-primary)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-danger{background:var(--gradient-danger);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 8px 24px #f43f5e4d}.btn-success{background:var(--gradient-success);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.btn-success:hover{transform:translateY(-1px);box-shadow:0 8px 24px #10b9814d}.btn-icon{width:36px;height:36px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--glass-bg-hover);border-color:var(--glass-border);color:var(--text-primary)}.label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-primary{color:var(--accent-primary-hover);background:#6366f126;border:1px solid #6366f133}.badge-success{color:var(--accent-emerald);background:#10b98126;border:1px solid #10b98133}.badge-warning{color:var(--accent-amber);background:#f59e0b26;border:1px solid #f59e0b33}.badge-danger{color:var(--accent-rose);background:#f43f5e26;border:1px solid #f43f5e33}.badge-info{color:var(--accent-cyan);background:#22d3ee26;border:1px solid #22d3ee33}.divider{background:var(--glass-border);width:100%;height:1px;margin:16px 0}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--black-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow-lg);width:100%;max-width:640px;max-height:85vh;animation:.3s ease-out scaleIn;overflow-y:auto}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding:12px 20px;font-size:.875rem;font-weight:500;animation:.3s ease-out slideInRight}.toast-success{color:var(--accent-emerald);background:#10b98126;border-color:#10b98133}.toast-error{color:var(--accent-rose);background:#f43f5e26;border-color:#f43f5e33}.toast-info{color:var(--accent-primary-hover);background:#6366f126;border-color:#6366f133}.drop-zone{border:2px dashed var(--glass-border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-base);background:0 0;padding:32px}.drop-zone:hover,.drop-zone.active{border-color:var(--accent-primary);background:#6366f10d}.drop-zone.active{box-shadow:0 0 24px #6366f11a}.checkbox-wrapper{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:10px;padding:8px 12px;display:flex}.checkbox-wrapper:hover{background:var(--glass-bg-hover)}.checkbox-wrapper input[type=checkbox]{appearance:none;border:2px solid var(--glass-border);cursor:pointer;width:18px;height:18px;transition:all var(--transition-fast);background:0 0;border-radius:4px;flex-shrink:0;position:relative}.checkbox-wrapper input[type=checkbox]:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.checkbox-wrapper input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 32px;display:flex}.empty-state-icon{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:64px;height:64px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.empty-state-title{color:var(--text-secondary);font-size:1.125rem;font-weight:600}.empty-state-description{color:var(--text-muted);max-width:380px;font-size:.875rem;line-height:1.6}@media (width<=768px){.modal-content{max-width:100%;margin:16px}}
